Skip to main content
Native hooks (rclm-hooks) are the highest-fidelity capture method ReclaimLLM offers. They plug directly into the lifecycle events of Claude Code, Gemini CLI, Codex CLI, Cursor, and GitHub Copilot (VS Code), recording everything that happens during a session: every message turn, every tool call and its result, every file the agent created or modified (with before-and-after diffs), and precise token usage. One install command sets everything up invisibly — after that, your sessions appear in the dashboard automatically.
Using GitHub Copilot in VS Code? See the dedicated GitHub Copilot Guide for agent mode hooks, MCP configuration, and workspace trust details.
The free tier includes 200 hooks-captured sessions. Browser extension and local API proxy (rclm-proxy) sessions are unlimited on all plans. The hosted Enterprise Gateway is Enterprise-only. See pricing →
Used one of these tools before installing hooks? Historical Sync backfills sessions that predate your install.

Install native hooks

1

Install the package

Install the rclm Python package from PyPI:
2

Run the hook installer

Run rclm-hooks-install to register hooks across all supported providers at once:
The installer opens your browser to reclaimllm.com/settings so you can create an API key without any copy-paste. It then writes your credentials to ~/.reclaimllm/config.json and registers hooks in each provider’s settings file.Expected output:
To skip the browser prompt, pass your API key directly: rclm-hooks-install --api-key=rclm_your_key_here
3

Verify the installation

Start any Claude Code, Gemini CLI, Codex CLI, Cursor, or GitHub Copilot session. The session appears in your dashboard within seconds of it ending. You can also check the local session spool:
If session files appear there, hooks are working correctly.

All CLI flags

Provider selection

Install hooks for all supported providers (the default) or target a single one:

Scope

By default, hooks are installed globally (your home directory). To restrict capture to the current project only:
A --local install writes hook configuration into the current directory rather than ~/.claude/, ~/.gemini/, ~/.codex/, ~/.cursor/, or ~/.copilot/ (e.g. .github/hooks/rclm.json for Copilot), so only sessions started from that project folder are captured.

Coverage check-in and repair

Enterprise Coverage enrolls the machine on check-in (session start, repair, or heartbeat). Useful flags:
Admins monitor fleet posture on the Coverage tab. Concepts: Coverage Alerts.

Upload folder filters

Use --include-folder when hooks are installed globally but uploads should be limited to specific project trees:
This writes the allowlist to redaction.include_folders in ~/.reclaimllm/config.json. When the list is non-empty, sessions from every other folder are skipped locally. Use --exclude-folder to block specific folders when no include allowlist is configured:

MCP integration

MCP server registration is on by default with rclm-hooks-install, alongside your hooks. To skip it:
MCP registers the ReclaimLLM MCP server with your supported AI coding tools (Claude Desktop, Cursor, Codex), giving them native access to search_sessions, get_session, and summarize_session tools so your assistant can pull prior session context without manual copy-paste. See MCP Server for the full tool list.

Statusline

A Claude Code statusline is also installed by default, showing context usage, rate limits, peak-hour status, model, and git branch. To skip it:
See Statusline for what each part of the line means and how it behaves when you’re on an API key instead of a subscription.

API key

Token-reduction hooks

Read caching and loop detection are enabled by default for new installations. Smart output compression and shadow mode are opt-in:
Disable a default mechanism explicitly:
Each mechanism is configured independently. See Read Cache for supported native and shell reads, invalidation rules, and measured savings. See Context Compression for output shaping, dedupe, test filtering, loop detection, and shadow mode.

Data loss prevention

Enables local redaction before session uploads, applying your account’s configured substitution rules on the machine before any payload is sent. See Sensitive Data for how to configure substitution rules, include_folders, and exclude_folders. Run rclm-update after changing app-managed substitutions to refresh the local cache.

What gets captured

Every hooks session includes:

File and config locations

Troubleshooting

Check that the session spool directory contains files after you run a session:
If the directory is empty, the hooks may not be registered. Re-run rclm-hooks-install and confirm the output shows ✓ Hooks installed for your provider.
Inspect the config file to confirm your API key was saved:
If the file is missing or the key field is empty, re-run the installer with --api-key=<your_key>.
If you only use one CLI tool, install for that provider specifically to keep hook registration minimal:
If you don’t want hooks uploading sessions from every folder on your machine, set an include allowlist during installation:
The installer writes this to redaction.include_folders in ~/.reclaimllm/config.json. When include_folders is non-empty, sessions from every other folder are skipped locally.For project-local hook registration, you can still use --local inside the project directory you want to monitor: