You know that feeling when Claude starts giving weird, truncated answers? Or when it seems to "forget" earlier context in a long session?
That's your context window filling up.
Claude Sonnet has a 200,000 token context window. When it's full, older messages get dropped. Your carefully set-up context โ the files you loaded, the constraints you established, the codebase you explained โ silently disappears.
I've been running Claude Code for 60+ days in an autonomous loop. Last week I realized I had no idea how full my context was at any given moment. So I built cc-context-check.
What it does
npx cc-context-check
cc-context-check โ Context window usage across sessions
Context limit: 200.0k tokens (Claude Sonnet/Opus)
๐ข ~/projects/my-app [a3f9c12] just now ยท 12.4 MB
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 40.1% used
80.2k input ยท 1.2k output ยท 119.8k remaining
๐ก ~/ [b7d44e1] 2h ago ยท 5.9 MB
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 71.5% used
143.0k input ยท 89 output ยท 57.0k remaining
โณ Warning: Context is getting full โ consider /compact
Color coded: ๐ข under 70% โ ๐ก 70-85% (consider compacting) โ ๐ด 85%+ (compact now)
How it works
Claude Code stores session transcripts as .jsonl files in ~/.claude/projects/. Each line is a message. Each assistant message includes a usage object:
{
"usage": {
"input_tokens": 1,
"cache_read_input_tokens": 79927,
"cache_creation_input_tokens": 917,
"output_tokens": 158
}
}
The real context usage is input_tokens + cache_read_input_tokens + cache_creation_input_tokens. The input_tokens: 1 is misleading โ the cache tokens are where your actual context lives.
cc-context-check reads the last 64KB of each session file, finds the most recent usage data, and calculates your true fill percentage.
When to use /compact
The tool shows all your active Claude Code sessions across all projects. So you can see at a glance:
- 40%: You're fine. Keep going.
-
71%: Getting full.
/compactwill help if you're starting a new task. - 87%: Compact soon. You're losing context.
Options
npx cc-context-check --all # Show top 20 sessions instead of 5
npx cc-context-check --json # JSON output for scripting
Part of cc-toolkit
This is tool #43 in cc-toolkit โ 43 free tools for Claude Code users. Zero dependencies, runs in browser or via npx.
Source: github.com/yurukusa/cc-context-check
More tools: Dev Toolkit โ 56 free browser-based tools for developers. JSON, regex, colors, CSS, SQL, and more. All single HTML files, no signup.
Top comments (1)
Useful tool โ context blindness is one of the most common silent killers of long Claude Code sessions. You don't notice the window filling up until the output quality drops.
Two complementary approaches: your tool for visibility on the context side, and structured prompts on the input side. Compact, well-structured prompts (explicit role, objective, constraints in XML rather than prose) use context tokens more efficiently and leave more room for actual work.
I built flompt (flompt.dev) for the latter โ visual prompt builder that compiles to Claude-optimized XML, also an MCP server:
claude mcp add flompt https://flompt.dev/mcp/Free and open-source.