Skip to content

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.

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.

Headroom, RTK, and JFrog Boost all compress bash and command output. Its share of context use depends on the workload. The table below shows the full output stack and what each tool reaches. Status: 🟢 supported, 🟡 partial, 🔴 not supported.

Compression surfaceToken OptimizerHeadroomRTKBoost
Bash / command output (git, test runners, lint, build, listings, logs)🟢 113 commands across 25 pattern families, credential-safe, user-extensible via TOML; 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)🟢 Re-read substitution uses bounded skeletons; first-read retarget keeps the opened file full and maps related files. Extra grammars require tree-sitter opt-in🔴🔴—
Large tool results (Bash/Read/Grep/MCP output over 4K chars)🟢 Credential-redacted recovery copy; eligible MCP output replaced by preview/pointer. Agent results stay inline; archives cap at 5MB. expand --search finds stored results🔴🔴—
Model output verbosity (lean-output nudge at high context fill)🟢 Cache-safe tiered steering; zero savings at firing, later output comparison when available🔴🔴🔴
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.

The table covers the six tools most often compared to Token Optimizer. Status: 🟢 supported, 🟡 partial, 🔴 not supported.

FeatureToken OptimizerHeadroomRTKBoostcontext-mode/context
Tool output compression🟢 113 commands across 25 pattern families, credential-safe, toggleable, user-extensible via TOML🟢 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 platformsN/A Native command
Full original recoverable after compression🟡 Capped credential-redacted archive retrievable while retained; no universal byte-exact recovery🟢 Reversible retrieval🟡 Full output saved on command failure🟢 Vendor documents command-output recovery—N/A Does not compress
Register a custom command filter🟢 Custom TOML filters (command-filters.toml, additive + exclude, compose with the 111 built-ins, safety-gated, fail-open)—🟢 Custom TOML filters🟢 TOML filters for your own CLIs—N/A
User-tunable configuration🟢 Supported controls with adapter-specific defaults; archive exemptions and .contextignore; internal markers are not user settings🟢 Documented configuration🟢 config.toml and environment controls🟢 Filter TOML🟢 Documented configurationN/A
Re-read file skeletons🟢 Repeat reads use bounded maps; first-read retarget keeps the target full and maps related files. Reference graph and PageRank; tree-sitter opt-in adds grammars🔴🔴—🔴🔴
Tabular/JSON compression🟢 Value-preserving columnar🟢 SmartCrusher🔴—🟡 Generic summary🔴
Read dedup and delta diffs🟢 Re-reads serve diff only🔴🔴—🔴🔴
Session continuity🟢 Progressive checkpoints before compaction + restore after, cross-session hints, cold-resume, tool-output digest; measured ~3.9M tokens / ~$19 recovered in a 30-day snapshot (checkpoint restores + lean resumes)🔴🔴—🟡 Session guide only🔴
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🟢 Warns on repetition/failures; does not guarantee termination🔴🔴—🔴🔴
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🟢 Published Terminal-Bench 2 and controlled A/B results; see benchmark pages for cohorts and limitations, not a universal savings guarantee——🟢 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🟢 No mandatory always-on instruction block; event warnings/restores can inject context🔴 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🟢 No core analytics upload; optional Cowork collector/host refresh has separate network use🟡 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; beta Hermes/Copilot/Cursor/Antigravity/Grok and experimental Pi/Cowork🟢 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.