[FEATURE] Support custom statusLine in VS Code extension (parity with CLI)
Preflight
- Searched existing issues. Closest match is #20207 (closed by bot for inactivity in Feb, now locked). Filing fresh per the bot's closing comment. 11 reactions on the original — there is demand.
- Single feature request.
Problem
The CLI supports statusLine in ~/.claude/settings.json — a shell command that receives session JSON on stdin and renders to the bottom of the terminal. It's how power users keep critical session state always visible.
The VS Code extension doesn't honor statusLine at all. The native VS Code status bar shows global IDE state (one branch, one cwd), not per-Claude-session state, so it isn't a substitute when multiple Claude sessions run in different worktrees or windows.
Indicators that matter most (concrete user need)
The two indicators I check most often, and why each one being invisible in the VS Code extension is a real cost:
- Context window usage. I keep sessions under ~50% context because quality degrades meaningfully past that. Without a visible indicator I have to interrupt the flow to ask Claude to check, which is disruptive and itself consumes context. The CLI statusline shows this passively at a glance.
- Token / usage cap progress. I use this for triage during the workday. If I'm nearing the cap and nothing critical is in flight, I defer lower-priority work to keep budget for emergencies. Without a visible indicator I have no way to make that call without stopping to query.
Other custom indicators are also useful (branch state, worktree, build/test/deploy timestamps as detailed in #20207), but context % and usage % are the load-bearing ones — they directly drive in-the-moment decisions about how to use the session.
Why parity matters for VS Code adoption
For long-running chats, the VS Code extension is a strictly better UX than the CLI: usable scrollback, sane copy/paste, native diff view, file navigation. Terminal scrollback for a multi-hour session is genuinely painful by comparison.
The only reason I (and presumably the reactors on #20207) keep falling back to the CLI is the statusline. Closing this one gap unblocks full migration to the extension for power users.
Proposal
Honor the same statusLine config in the VS Code extension:
- Run the configured command with the same JSON-on-stdin contract the CLI uses (model, session_id, cwd, transcript_path, context window, token usage, etc.)
- Render the output in a status area attached to the Claude panel — below the input box mirrors the CLI placement; a dedicated per-panel area also works as long as it's per-session, not global
- Refresh on the same triggers as the CLI (per-turn +
statusLine.refreshIntervalwhen set)
Nothing new to design — reuse the existing CLI contract verbatim.
Alternative considered
Generic VS Code status-bar extensions display global IDE state and can't differentiate per-Claude-session context. Not a substitute when running multiple sessions in separate windows or worktrees.
Cross-reference
Supersedes #20207 (closed for inactivity, locked to comments).
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗