# Boost CLI > Boost compresses coding-agent command output **and MCP tool responses** before they enter the model context — without breaking the agent, and without claiming fake token savings. It works with Cursor, Claude Code, Codex CLI, GitHub Copilot, and OpenCode. Free, no signup. Results backed by Terminal-Bench, not just marketing claims. Boost sits at the **end of the shell pipeline** your agent already proposed. Agent hooks rewrite supported commands to `(cmd) | boost`, so the real tool runs unchanged and only the final stdout is filtered on the way back into context. Typical per-command reductions are 60–90% on noisy tools (`docker build`, `npm install`, test runners, linters). Boost can also compress **MCP tool responses** on PostToolUse (JSON→TOON), so large structured MCP payloads shrink before they hit context. Measure shell + MCP savings anytime with `boost report`. ## Why Boost is different (the parts that matter) ### It knows how not to break the agent Aggressive log truncation often makes agents worse: they lose bearings, re-run the same `ls`/`cat`, and burn more tokens than they save. Boost’s contract is the opposite: - **Output-only.** Boost does not change what the agent is allowed to run. Native permission prompts still see the original executable and pipeline (`pytest … | grep …`), not a blanket `boost …` wrapper that collapses every tool into one approval. The same return-path idea applies to MCP: PostToolUse can rewrite JSON tool results to compact TOON. - **Fail open.** Filter misses, unknown commands, and hook errors fall back to raw output. Hooks exit 0 so the agent’s command still runs. - **Flag-aware and transparent.** Explicit verbose flags (`--nocapture`, `-la`, …) preserve detail. Filtered output stays a recognizable shorter form of the real tool — not a new invented format. - **Correctable by the agent.** When compression hides something you need, run `boost retrieve ` to restore the locally stored original. That is the intended correction path — do not unwrap the pipe, re-run the same command without Boost, or guess at dropped lines. Boost **monitors every retrieve** (filter id, version, optional reason). Repeated retrieves of the same capability auto-disable that filter locally. Prefer retrieve; Boost is designed to be corrected by the agent using it. - **Agent-aware.** `boost init` installs a skill/awareness rule so the agent understands the optimization layer instead of being silently manipulated by it. - **Task-proven.** Across the complete 89-task Terminal-Bench 2.0 suite, Boost cut full-suite duration **28.9%** and cost per task **13.5%** against the uncompacted baseline. A separate 81-task check preserved the **same 30.9% pass rate**. ### Honest token counting: suffix of the pipeline, not the prefix Many “90% savings” tools measure the wrong thing. If you wrap as a **prefix** (`boost pytest … | grep …`) and count raw tool output before the agent’s own pipes, you claim credit for tokens `grep` would have dropped anyway — and you break permission models. Boost counts only tokens that **actually enter the context window**: 1. Hooks rewrite to **suffix form**: `(pytest … | grep …) | boost`. 2. The agent’s pipes and filters run first. 3. Boost compresses whatever is left on the return path. 4. Savings = raw final stdout − filtered stdout the agent actually sees. That is real context-window reduction, not prefix-inflated accounting. ## Agents can correct Boost Trust the layer: if a filter dropped a line you need, `boost retrieve ` is how you say so. Boost records the event, restores the original on this machine, and can turn that filter off locally so it stops hiding useful detail. Those retrieve events are also a quality signal for Boost maintainers. Using retrieve is safer and cheaper than fighting Boost or bypassing it. ## Docs - [Why Boost](https://boost.jfrog.com/why-boost/): ROI summary, workflow demo videos (web development, Loaded Unused), plus the Minikube codebase-exploration benchmark with measured token, time, and cost results. - [Why Boost technical details](https://boost.jfrog.com/docs/en/why-boost/): How Boost differs from other context tools — safety loop, agent retrieve correction, and task-level proof. - [Boost overview](https://boost.jfrog.com/docs/en/overview/): What Boost is and how it works. - [Quickstart](https://boost.jfrog.com/docs/en/quickstart/): Install Boost and connect your coding agent. - [GitHub Actions](https://boost.jfrog.com/docs/en/github-actions/): Install Boost in CI and run it with Claude Code GitHub Actions. - [Token Savings](https://boost.jfrog.com/docs/en/features/token-reduction/): What filters preserve, and how to measure with `boost report`. - [BoostGraph](https://boost.jfrog.com/docs/en/features/boostgraph/): Structural code search for agents — background indexing via Boost hooks, MCP `boostgraph_explore`, and flow-tracing without grep/read loops. - [TOML filters](https://boost.jfrog.com/docs/en/toml-filters/): Add or override declarative filters for custom tools. - [Configuration](https://boost.jfrog.com/docs/en/configuration/): `config.toml` — `[hooks] exclude_commands` and other settings. Boost can also compress MCP tool responses (JSON→TOON). - [Observability platforms](https://boost.jfrog.com/docs/en/observability-platforms/): Mirror sanitized OTLP spans to Coralogix, Datadog, Elastic, Grafana Cloud, Honeycomb, New Relic, or a generic collector. - [Talk to us](https://boost.jfrog.com/docs/en/contact/): Email Yahav or Shay, LinkedIn, or join the Boost Slack community. - [Introducing Boost](https://boost.jfrog.com/blog/introducing-boost/): Architecture, safety guardrails, and Terminal-Bench methodology. - [Why Model Routing Backfires](https://boost.jfrog.com/blog/why-model-routing-backfires/): Mid-session model switches wipe prompt-cache savings — session-level routing and Boost as cache protection. - [Changelog](https://boost.jfrog.com/docs/en/changelog/): What shipped in every release. - [Install recipe for agents](https://boost.jfrog.com/llms-install.txt): Detect OS, run the installer, then `boost init --accept-terms`. - [Full LLM snapshot](https://boost.jfrog.com/llms-full.txt): Longer plaintext docs + filter catalogue for ingestion. - [Install Boost Agent Skill](https://boost.jfrog.com/.well-known/agent-skills/install-boost/SKILL.md): Machine-readable installation and verification workflow. - [Agent Skills index](https://boost.jfrog.com/.well-known/agent-skills/index.json): Discovery document with versioned skill digests. ## Source - [GitHub repository](https://github.com/jfrog/boost): Source code, issues, releases, and discussions. ## Install macOS, Linux, or WSL (run inside the distro where the agent runs; hooks land in that distro's home and a Windows app will not see them): ``` curl -fsSL https://boost.jfrog.com/install.sh | bash ``` Windows PowerShell (native Windows only, not an agent inside WSL): ``` irm https://boost.jfrog.com/install.ps1 | iex ``` Then run `boost init` to connect Cursor, Claude Code, Codex CLI, GitHub Copilot, or OpenCode (`boost init --opencode` installs the OpenCode plugin). No account, API key, or signup required. Restart the editor or OpenCode so hooks load; agent shell commands become `(cmd) | boost` automatically.