How many tokens does Claude Code inject per turn before you write a single word? Measured from live session JSONL — not estimated from disk.
~1,747 tokens. The real cold injection floor — measured from cache_read_input_tokens immediately after a compaction reset — is 22,890 tokens. The full session warm ceiling reaches 103K–107K, giving the 59× ratio against accumulated conversation cache.| Timestamp (UTC) | cache_read | cache_write | input | output | Event |
|---|---|---|---|---|---|
| 23:37:11 | 20,795 | 24,149 | 20,983 | 233 | Session open |
| 23:38:29 | 69,118 | 5,036 | 2 | 592 | Cache warming |
| 23:55:37 | 93,086 | 354 | 1 | 528 | — |
| 00:06:22 | 99,055 | 710 | 1 | 558 | Pre-compaction |
| 00:17:46 | 22,890 | 77,290 | 3 | 262 | COMPACTION |
| 00:19:38 | 100,180 | 1,346 | 1 | 499 | Warming again |
| 00:56:07 | 107,237 | 141 | 3 | 100 | Session peak |
| 00:58:06 | 22,890 | 38,577 | 1 | 89 | COMPACTION |
| 01:53:03 | 104,095 | 120 | 1 | 200 | — |
| 02:17:53 | 22,890 | 57,676 | 1 | 110 | COMPACTION |
| 02:29:51 | 103,642 | 144 | 3 | 216 | Latest turn |
| Source | Est. tokens | Method | Status |
|---|---|---|---|
| user-global CLAUDE.md | ~1,200 | tiktoken cl100k disk read | FOUND |
| project CLAUDE.md | ~150 | tiktoken cl100k disk read | FOUND |
| MEMORY.md | — | slug lookup failed | BUG · NOT FOUND |
| Skills (disk) | ~397 | agents/ fallback post-fix | PARTIAL |
| MCP tool schemas | — | runtime injection only | UNREADABLE |
| Harness envelope | — | internal, not exposed | UNOBSERVABLE |
| Scanner total | ~1,747 | readable sources only | real floor: 22,890 |
.claude/skills/ as static text. The disk scanner reads the file but the actual injection content may differ (pre-processed, filtered, versioned). Estimate: several thousand tokens per active skill.sources.py — now resolves the correct UUID-based project directory and finds MEMORY.md reliably..claude/skills/ is empty or missing, the scanner now falls back to .claude/agents/ and reads agent definition files as the best available proxy for injected skill content. Recovered ~397 tokens of skill coverage previously reported as zero.--mcp-observed-tokens N to manually pass in the cache_read_input_tokens value from the JSONL. When provided, the report shows the observed floor alongside the estimate and computes the residual gap (observed − estimated = unaccounted injection).