Skip to main content
Currently supports Codex. Support for Claude Code and other agent harnesses is coming soon. Use Codex normally. By default, Everest compresses eligible tool output before it reaches the model. Your terminal still shows the original output. If compression fails or is skipped, the model gets the original too. Everest checks the complete compressor prompt against the model tokenizer before generation. Model calls reserve and generate at most 4,096 output tokens and run for at most 30 seconds each. Context overflow, timeouts, or a response cut off at the output limit keep the original tool output unchanged.

How tool output is handled

Everest decodes recognized JSON tool-result wrappers before compression, including wrappers following a tool execution metadata prefix. Escaped newlines become actual lines so the compressor can select valid line ranges. Execution metadata and the surrounding result structure are preserved. When compression fails, Everest returns the original output and remembers the failure in a bounded, process-local cache. Later requests containing the same failed content and compression configuration skip compression, even if the task goal or command changes. Changed content or compression configuration, a process restart, or eviction from the cache makes the content eligible for another attempt. Compression requests carry a request ID and a content hash through the CLI, API, and model service so failures can be correlated across service telemetry. The content hash is the first 16 hexadecimal characters of the SHA-256 digest of the decoded content sent for compression.

Get started

Requires macOS or Linux, Bash or Zsh, and a working codex command. Install and complete browser login:
The installer downloads the released CLI from https://install.everestagi.com and configures it to use the hosted Everest API at https://api.everestagi.com/v1. The same installation command applies when starting from this repository. No local model server, GPU, or Modal deployment is required. The final source command makes everest available in the current shell. The installer uses a random anonymous onboarding ID to measure completion from installer download through first compression. Everest records only funnel stage, time, and CLI version for this flow. It does not attach terminal commands, prompts, tool output, credentials, or IP addresses to the onboarding funnel. Open a new terminal, then start Codex:
Your usual Codex arguments work in any repository. Everest does not change the Codex binary or ~/.codex/config.toml.

Useful commands

Start a run without compression:
See savings for the current or latest run:
The card shows token and API list-price cost savings with the same layout used by the FreeBuff integration. Dark progress-bar cells represent remaining usage and light cells represent savings. The scope line makes clear that the totals cover only the most recent Everest run, not the full Codex session. Percentage and Before/After values use requests with recorded response usage, even when other requests lack usage data. The card reports coverage, such as 40/42 requests included, when usage is incomplete. Cost totals and percentages use recorded usage for models with known list prices; models without known prices are excluded and noted in the output. If no response usage was recorded, the card shows only the observed token savings and, for one known model, its list-price value, without percentages. Codex versions that support a shared background daemon are launched in local-process mode so the run’s provider and response usage remain attached to that run. If a terminal response omits usage, Everest can reconcile it from per-response Codex usage records written during the same launch. It does not use cumulative turn or thread totals. --details shows token accounting and pricing assumptions. For machine-readable output:
The JSON includes usage_responses, responses, and usage_complete for usage coverage, plus priced_models, unknown_models, and cost_complete for cost coverage. Check connection problems:
Retry login:
Sign out and revoke your session:
Check for a new Everest release without installing it:
Everest checks for updates at most once every 24 hours when Codex or the developer FreeBuff integration starts. Run everest update to update immediately, or set EVEREST_AUTO_UPDATE=0 to disable automatic updates. Updating preserves your configuration, credentials, shell integration, and savings history. If everest is not found, open a new terminal. Existing installations older than 0.2.12 must run the installer once before automatic updates are available. They can preserve their existing login without starting a new browser flow:

Uninstall

Remove Everest but keep your saved configuration, credentials and savings history:
Or remove Everest and delete that saved data too:
Keep using the same terminal. On its next invocation, the Codex wrapper removes itself, clears cached command paths, and runs Codex directly without Everest. This requires the shell wrapper installed by Everest 0.2.14 or later. If you upgraded with everest update or an automatic update, run everest install and reload the shell file it prints to activate the updated wrapper before uninstalling. If your terminal still has a wrapper loaded from an older Everest installation, clear it once without restarting the terminal:
Building this into your product? See the SDK guide.