claude-recall
A statusline for parallel Claude Code sessions — know what each one is for at a glance.
한국어
When you run Claude Code in multiple terminals at once, switching tabs always brings the same moment — "What was I doing here?"
claude-recall answers two questions for every session, at a glance:
- What is this session for? — an AI-refined focus label, auto-managed in the background
- How far along is it? — turn count, elapsed time, context usage, git status, and rate-limit bars
See it in a split-pane layout
Why claude-recall?
- Autonomous focus — No commands to run. A Haiku subprocess refines each session's focus in the background, in the transcript's language.
- Directory+branch accent color — Deterministic color bar keyed by the current
cwd + branch. Spot which tab is which by color, before reading any text. The color shifts when you change branches or move the session with Claude Code's /cd.
- Current Claude metadata — The model slot can show the concrete model version, effort level, and thinking state; optional slots can also show session name, agent, PR, and worktree.
Plus: rich git status (dirty + ahead/behind vs origin/<default>), rate-limit bars (5h / 7d), Claude Code's context / cost / model metadata — all in up to three lines.
Install
[!IMPORTANT]
Background LLM calls. claude-recall automatically refines each session's focus by calling Claude Haiku in the background (roughly $0.01 per long session). This is the core of the plugin — there is no opt-out toggle. If you prefer zero background LLM calls, do not install this plugin.
# 1. Add marketplace
/plugin marketplace add dkstm95/claude-recall
# 2. Install plugin
/plugin install claude-recall@claude-recall
# 3. Configure statusline
/setup
[!IMPORTANT]
Restart Claude Code after /setup to activate the statusline and new hooks.
Usage
Everything works automatically after install. There are no focus-management commands.
| Command | Description |
|---|
/setup | Reconfigure statusline / verify installation |
For context management, use Claude Code's native commands: /compact (manual compaction for long-running tasks), /clear (switch to unrelated task), /resume (pick up a prior session).
Customization
Create ~/.claude/claude-recall/config.json:
{
"line1": ["focus", "branch", "model"],
"line2": ["turn", "prompt", "elapsed"],
"line3": ["context", "rate_limits", "seven_day", "cost"],
"gitStatus": {
"enabled": true,
"showDirty": true,
"showAheadBehind": true
},
"theme": "default",
"separator": "│"
}
- line1 — Choose from:
focus, branch, model, worktree, session, agent, pr
- line2 — Choose from:
turn, prompt, elapsed
- line3 — Choose from:
context, rate_limits, seven_day, cost. Set line3: [] to force a 2-line statusline.
- gitStatus — Toggle dirty flag and ahead/behind independently.
- separator (v6.3.0+) — Character drawn between right-zone segments on Line 1 and between all segments on Line 3. Default
"│" (U+2502, dim). Right-zone segments also left-pad to a 10-col cell, so │ positions stay stable across renders. Set to "" to disable both the separator and the padding (flat 2-space joiner, pre-v6.3.0 look). Any single glyph works — "┊" dotted, "|" ASCII, etc.
- theme —
default (cyan/bold, dark terminals), light (blue/dark-orange, white terminals), minimal (subdued, monochrome — severity via reverse-video), vivid (bright/high contrast)
- When
theme is omitted and the terminal exports COLORFGBG, claude-recall auto-selects light for light backgrounds (bg=7 or bg=15) and default otherwise. An explicit theme value always wins.
- Setting the
NO_COLOR environment variable (any value, per no-color.org) suppresses all ANSI color output regardless of theme.
Statusline reference
What each element means (full table)