How it compares
Token waste comes in three kinds. Most tools address one. This page defines each kind and gives a feature-by-feature comparison against the tools most often weighed against Token Optimizer.
Three kinds of token waste
Section titled “Three kinds of token waste”Structural waste is what gets billed before any conversation starts: an oversized CLAUDE.md, unused skills, duplicate system reminders, a stale MEMORY.md with entries past the attention horizon, dead MCP servers. It is often the largest share in high-waste setups, and it compounds, because a leaner prefix means a smaller cache-read bill on every turn that follows.
Runtime waste accumulates mid-session: verbose command output, oversized MCP results, and files re-read into context that were already there. Proxy compressors intercept these on the way in and shrink or evict them.
Behavioral waste is the pattern layer that no single session reveals: letting the cache expire, compacting too late, looping on a failing approach, running a top-tier model where a cheaper one would do, switching models mid-session and killing the cache. Token Coach analyzes 30 days of session history to surface these patterns and distinguishes a model-switch cache drop (expected) from a config-change cache drop (fixable).
For how Token Optimizer audits and scores each kind, see How it works.
Compression coverage
Section titled “Compression coverage”Headroom, RTK, and JFrog Boost all compress bash and command output. That single surface covers roughly 15-25% of the context a typical session wastes. The table below shows the full output stack and what each tool reaches. Status: 🟢 supported, 🟡 partial, 🔴 not supported.
| Compression surface | Token Optimizer | Headroom | RTK | Boost |
|---|---|---|---|---|
| Bash / command output (git, test runners, lint, build, listings, logs) | 🟢 111 commands across 22 pattern families, credential-safe; 564 → 115 tokens on a pytest run | 🟢 SmartCrusher, CodeCompressor, Kompress-v2, image compression | 🟢 100+ command filters | 🟢 Command-aware filters, user-extensible via TOML |
| Search / grep output | 🟢 Web, grep, and search results condensed to top hits plus a count; 500 lines → 20 | 🔴 | 🔴 | — |
| Tabular and JSON output (jq, yq, csvtool, mlr, CSV, YAML, TOML) | 🟢 Value-preserving columnar compression | 🟢 SmartCrusher | 🔴 | — |
| File re-reads, delta mode (changed files read again this session) | 🟢 Serves only the unified diff; 2,000-token re-read → ~50 tokens | 🔴 | 🔴 | — |
| File re-reads, structure map (large code files read repeatedly) | 🟢 Skeleton of signatures, classes, and imports; 720KB → 250 tokens | 🔴 | 🔴 | — |
| Large tool results (Bash/Read/Grep/MCP output over 4K chars) | 🟢 Archived to disk, replaced by an inline pointer the model can expand on demand | 🔴 | 🔴 | — |
| Model output verbosity (lean-output nudge at high context fill) | 🟢 Cache-safe tiered steering (savings estimated, not metered) | 🔴 | 🔴 | 🔴 |
| Structural context (configs, skills, MCP, MEMORY.md, before the session starts) | 🟢 Per-component audit: unused skills, dead MCP, stale memory, each scored | 🔴 | 🔴 | 🔴 |
RTK and Boost reach the first surface. Headroom reaches the first and the third. Token Optimizer covers all eight, and that is before the behavioral and compaction savings the others do not attempt.
Full feature comparison
Section titled “Full feature comparison”The table covers the six tools most often compared to Token Optimizer. Status: 🟢 supported, 🟡 partial, 🔴 not supported.
| Feature | Token Optimizer | Headroom | RTK | Boost | context-mode | /context |
|---|---|---|---|---|---|---|
| Tool output compression | 🟢 111 commands across 22 pattern families, credential-safe, toggleable | 🟢 SmartCrusher, CodeCompressor, Kompress-v2, image compression | 🟢 100+ command filters | 🟢 Command-aware filters | 🟢 Sandbox + summary | 🔴 |
| No command rewriting required | 🟢 Hook-wired on Bash, Read, Agent, and MCP; fires automatically | 🟢 Transparent proxy | 🟢 Hook-based rewrite | 🟢 boost init wires supported agents; terminal use can be prefixed | 🟡 Automatic on hook-capable platforms | N/A Native command |
| Full original recoverable after compression | 🟢 Raw archived before compression, retrievable with expand; failing commands are never compressed at all | 🟢 Reversible retrieval | 🟡 Full output saved on command failure | 🟢 Vendor documents command-output recovery | — | N/A Does not compress |
| Register a custom command filter | 🔴 The 111 commands are built in; no user filter API | — | 🟢 Custom TOML filters | 🟢 TOML filters for your own CLIs | — | N/A |
| User-tunable configuration | 🟢 92 code-referenced TOKEN_OPTIMIZER_* names, explicitly split into user-facing and internal controls; additive archive allowlist; .contextignore | 🟢 Documented configuration | 🟢 config.toml and environment controls | 🟢 Filter TOML | 🟢 Documented configuration | N/A |
| Re-read file skeletons | 🟢 Structure map on repeat reads, fail-open, full original retrievable | 🔴 | 🔴 | — | 🔴 | 🔴 |
| Tabular/JSON compression | 🟢 Value-preserving columnar | 🟢 SmartCrusher | 🔴 | — | 🟡 Generic summary | 🔴 |
| Read dedup and delta diffs | 🟢 Re-reads serve diff only | 🔴 | 🔴 | — | 🔴 | 🔴 |
| Compaction survival | 🟢 Progressive checkpoints, restore, tool-output digest | 🔴 | 🔴 | — | 🟡 Session guide only | 🔴 |
| Conversation history | 🟢 Progressive checkpoints + compaction restore | 🔴 | 🔴 | — | 🟡 Session guide | 🔴 |
| Model routing and behavioral coaching | 🟢 12 detectors, subagent cost breakdown, anti-patterns | 🔴 | 🔴 | — | 🔴 | 🟡 Basic suggestions |
| Per-task model and effort advice | 🟢 route recommends the tier and effort a task needs, before you spend | — | — | — | — | — |
| Historical trend analysis | 🟢 30-day trends, quality/cost/cache/duration correlation, model-switch detection | 🔴 | 🔴 | — | 🔴 | 🔴 |
| Loop and spin detection | 🟢 Catches behavioral loops before they burn | 🔴 | 🔴 | — | 🔴 | 🔴 |
| Context quality scoring | 🟢 7-signal quality score with grades | 🔴 | 🔴 | — | 🔴 | 🟡 Capacity % only |
| Structural waste audit | 🟢 Per-component (CLAUDE.md, skills, MCP, memory) | 🔴 | 🔴 | 🔴 | 🔴 | 🟡 Summary only |
| CLAUDE.md and MEMORY.md health | 🟢 8 auditors + attention-curve scoring | 🔴 | 🔴 | 🔴 | 🔴 | 🔴 |
| Measures if compression helped | 🟢 Local telemetry, before/after tokens, dollar savings | 🔴 | 🟡 rtk gain (token counts only) | 🟡 boost report, vendor-side | 🔴 | 🔴 |
| End-to-end agent task-outcome benchmark | 🔴 Output-token A/B only (7 tasks, two models) | — | — | 🟢 Vendor reports Terminal-Bench 2.0 with the same pass rate and ~12% lower cost | — | N/A |
| Fleet-level cross-agent analysis | 🟢 | 🔴 | 🔴 | — | 🔴 | 🔴 |
| Cache-safe | 🟢 Never modifies existing context prefix | 🟡 Proxy mode rewrites in-flight | 🟢 Pre-shell only | 🟢 Pre-shell only | 🟡 MCP overhead | 🟢 |
| Zero baseline context overhead | 🟢 External process, no context injection | 🔴 Injects instructions | 🟢 Shell-level only | 🟢 Shell-level only | 🔴 MCP server overhead | 🟢 Native |
| Zero runtime dependencies | 🟢 Pure stdlib (Python/TypeScript) | 🟡 Python + Rust + optional model | 🟢 Single Rust binary | 🟢 Single binary | 🟡 SQLite adapter required | 🟢 N/A |
| Zero telemetry | 🟢 Nothing leaves the machine | 🟡 Anonymous aggregate telemetry, opt-in via HEADROOM_TELEMETRY, off by default | 🟡 Opt-in | 🔴 Beta Agreement §6 covers commands invoked, command arguments, exit codes, duration, CI attributes, IP | 🟡 Varies | 🟢 |
| Signed and checksum-verified install | 🟢 CHECKSUMS.sha256 on every release, verified at install; CI fails a release that cannot be installed | — | — | 🔴 install.sh verifies neither a checksum nor a signature on either download path | — | N/A |
| Multi-platform | 🟢 Claude Code, VS Code, Codex, OpenClaw, OpenCode, Hermes, Copilot | 🟢 Claude Code, Cursor, Codex, Aider, Copilot | 🟢 15 integrations | 🟡 Cursor, Claude Code, Copilot, Codex CLI | 🟢 17 integrations | 🔴 Claude Code only |
What /context shows versus what Token Optimizer does
Section titled “What /context shows versus what Token Optimizer does”/context reports that your context is 73% full. Token Optimizer reports which 12K tokens are spent on skills you never use, flags orphaned MEMORY.md topic files past the attention horizon, checkpoints decisions before compaction destroys them, and gives a quality score that tracks how much the session degrades as context fills. The built-in command shows the problem; Token Optimizer fixes it and measures the result.