[FEATURE] Persistent context usage indicator (not just a warning near the limit)
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Note: Related to #41536, #65290 and #25125, which cover warning users before the context limit is hit. This request is about a different mechanism: a persistent indicator rather than a threshold warning. Filing separately since #41536 is locked.
Problem
Existing requests focus on alerting users at a threshold. A warning at 80% still forces a reactive decision under pressure — usually mid-task, which is the worst possible moment to reorganise a conversation.
Proposal
A small, always-visible capacity indicator — a thin bar or percentage near the input field — showing how much of the context window the current conversation has consumed.
Why this is better than a threshold warning
Users can plan proactively: seeing a session fill up early allows splitting work, summarising, or starting fresh before being deep into a task
No interruption: an ambient indicator carries no modal or alert overhead
It scales: users learn over time what kinds of work consume how much capacity
Optional addition
A one-click "continue in a new chat with a summary of this one" action, available at any time rather than only at the limit. This turns the context limit from a hard stop into a clean handoff.
Proposed Solution
The interface should show a small, always-visible capacity indicator near the input field — a thin progress bar or a percentage — reflecting how much of the context window the current conversation has consumed. It updates after each turn and requires no interaction.
There should be a setting to choose the display style (bar, percentage, or hidden) for users who find it distracting.
Unlike a threshold warning, this is ambient: no modal, no alert, nothing to dismiss. The value is that I can glance at it at any point and decide myself whether to keep going, summarise, or start a fresh chat — before I'm deep into a task rather than in the middle of one.
Alternative Solutions
Currently I work around this by guessing. I split conversations preemptively when they feel long, which often means starting a new chat far earlier than necessary and losing context I still needed — or misjudging it and hitting the limit anyway.
A threshold warning (as proposed in #41536 and related issues) would be an improvement, but it's still reactive: it arrives when the decision is already urgent, usually mid-task.
Other tools solve this with a visible token or context counter in the interface, which lets the user manage session length themselves rather than being told when it's too late.
Priority
Critical - Blocking my work
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_
3 Comments
I built an open-source extension that shows exactly this persistent indicator, in case it's useful while there isn't a native one — disclosure: I'm the author.
Claude Todos keeps a
{pct}% ctxbadge plus a thin bar visible at all times in a sidebar panel — green < 60%, yellow 60–85%, red ≥ 85% — instead of a one-shot warning near the limit, which is exactly the distinction this request draws. It's computed from the transcripts Claude Code already writes to~/.claude/projects(input + cache of the latest message, with the 200k/1M window detected per model), so it updates live no matter whereclauderuns: integrated terminal, external terminal, or another window. The same panel also shows per-model token usage, cache efficiency and a 7-day project dashboard.It's a sidebar panel rather than a statusline item, but the "always visible, not threshold-triggered" property you're asking for is there today. Available for VS Code / Cursor / Windsurf and, as of this week, for JetBrains IDEs too. Fully local (read-only, no telemetry), MIT: https://github.com/carlosdealmeida/claude-todos-vscode
You can already get an always-visible context indicator via the status line, which sits just below the input and updates after every turn.
Run
/statuslineand ask for something like "show model name and context window percentage", or configure it yourself using thecontext_window.used_percentage/context_window.remaining_percentagefields (a bar, a percentage, whatever you like). Docs: https://code.claude.com/docs/en/statuslineFor an on-demand breakdown of what's using the context, run
/context.Closing as already available; feel free to reopen if this doesn't cover your case.
🤖 Generated with Claude Code
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.