Build your workflow
Auto-memory hooks
Load context at session start, capture failing commands, and preserve session summaries.
In this guide
#Auto-Memory Hooks
Install once — Recall captures context automatically on every session
Auto-Memory Hooks are lightweight bash scripts that integrate with Claude Code's hook system. Once installed, they automatically inject your recent memories at session start and silently capture failing Bash commands with an output excerpt. A summary is stored at session end when memories were recorded.
The Recall plugin bundles auto-memory hooks, the MCP server connection, RLM agents, and a setup wizard — all in one install. Hooks activate automatically with no extra configuration.
Then run the setup wizard and provide your API key:
Start a new Claude Code session. The plugin handles everything: MCP connection, hooks, and auto-updates.
If you use Claude Code with a manual MCP setup, install hooks directly via the command line. These lifecycle hooks run in Claude Code. This only installs the hook scripts — you still need to configure the MCP server separately.
Install command — replace YOUR_API_KEY with your key
curl -fsSL https://recallmcp.com/install-hooks | bash -s -- --api-key YOUR_API_KEYThe installer creates ~/.claude/recall/hooks/, patches your ~/.claude/settings.json, and adds a status bar entry. Start a new session to activate.
Recall's Line Above the Prompt
The plugin as a Claude Code mod, on Claude Code 2.1.287 or later
From Recall 1.18.0 the plugin includes a mod: code that runs inside Claude Code. In the terminal and the Desktop app it shows Recall's own line in the band above the prompt, next to other plugins' lines, and your status line keeps only what you put there.
- It records a failing shell command inside Claude Code, so
observe.shdoes not start for each one. - When a Recall call fails because the session lost its workspace, it confirms the workspace and runs the call once more.
- VS Code's chat panel,
claude -pand older Claude Code do not run mods: there the scripts and the status bar segment work as before.
Already on the plugin? Update it, then restart Claude Code. Nothing else to install:
Status Bar Integration
Recall activity shown in Claude Code's status bar automatically
The manual installer adds a statusLine entry to your ~/.claude/settings.json. The Recall wrapper shows how many memories were stored this session, how recently the last one was captured, and whether an update is available — then delegates to your existing statusline (Pilot, sx, or any other). Where Recall's mod shows its line above the prompt (Claude Code 2.1.287 or later, with the recall plugin at 1.18 or later), the wrapper leaves the Recall segment out from the first render and shows only your existing statusline.
Plugin users: The statusLine is not yet auto-configured by the plugin. Run /recall:setup after installing the plugin to set it up, or add it manually following the status bar docs.
Example status bar output
Recall: 1.13.1Recall: 1.13.1 🧠 5Recall: 1.13.1 🧠 5 (3s ago)Recall: 1.12.0 🧠 5 · ⬆ 1.13.1Recall: 1.13.1 🧠 5 (3s ago) | Pilot: 6.8.3 | CC: 2.1.47No configuration needed — if you already have a statusLine command (e.g. Pilot), the installer saves it and the Recall wrapper calls it automatically. Your previous output appears after the Recall segment.
What Each Hook Does
session-start.shCalls GET /api/context and prints your recent memories (grouped by decisions, errors, patterns, recent work) directly into Claude's session context. Claude sees them as a system message at conversation start. Also checks for hook updates once per day and prints a notice if a newer version is available.
observe.shCaptures detected Bash failures with the command and an output excerpt at importance 6. Successful commands and file reads or edits are not recorded by this hook. Stands down while Recall's mod runs, which records the same failures inside Claude Code.
hooks/register.jsRuns inside Claude Code. Records failing Bash commands like observe.sh, confirms the workspace and retries a Recall call once when the session lost it, and draws Recall's line above the prompt. Refreshes a heartbeat file every 15 seconds, and observe.sh takes over again if it stops. Where it runs, the status bar leaves its Recall segment out.
pre-compact.shSaves a state marker memory before Claude Code compacts the context window. Helps reconstruct session continuity after compaction.
stop-summarize.shStores a session summary at importance 3 when memories were recorded. Summaries do not carry semantic embeddings; substantive decisions should be stored through memory tools.
Context Format
What Claude sees at session start
The GET /api/context endpoint returns a markdown block grouped by memory type. Memories are sorted by importance within each section, and individual content is capped at 200 chars. Total output is limited to 8000 chars to keep context overhead low.
Example context injected at session start
# [my-project] Session Context ## Recent Decisions - Use ULIDs for all DB tables (tags: database, convention) - REST over GraphQL for billing endpoints (tags: api) ## Errors - Redis connection timeout on startup (tags: redis) ## Patterns - Service classes use constructor injection with StorageClient ## Recent Work - Fixed admin stats showing 0 for memory counts - Added subscription summary card to billing page Last updated: 2026-02-19T14:00:00Z | Memories: 12 | Workspace: my-project
You can also call this endpoint directly to preview your context: curl -H "Authorization: Bearer YOUR_API_KEY" https://recallmcp.com/api/context
Manual Installation Details
For the curl-based installer — inspect before running
Step 1 — Download the installer and inspect it
curl -fsSL https://recallmcp.com/install-hooks -o install-hooks.sh
cat install-hooks.sh # review before runningStep 2 — Run with your API key
bash install-hooks.sh --api-key YOUR_API_KEYStep 3 — Start a new Claude Code session to activate
The hooks take effect immediately in any new session. Existing sessions are not affected.
Config file location
After install, your API key is stored at ~/.claude/recall/config.json with permissions 600 (readable only by you). You can update the API key there at any time without re-running the installer.
Uninstall
Remove hooks and restore your previous settings
Plugin users
/plugin uninstall recall@recall-claude-pluginThis removes the plugin, hooks, and MCP server config in one step. Your memories on the server are not deleted.
Manual install users
curl -fsSL https://recallmcp.com/uninstall-hooks | bashThe uninstaller will:
- Remove all Recall hook entries from ~/.claude/settings.json
- Restore your previous statusLine command (or remove the key if none existed)
- Delete the ~/.claude/recall/ directory and all its contents
- Create a backup of settings.json before making any changes
Start a new Claude Code session after uninstalling for the changes to take effect.