Skip to main content
Crush is Charm’s terminal coding agent. Route it through Edgee to reduce token costs with lossless compression and gain full observability over every session. The fastest way to connect Crush to Edgee is the CLI. It authenticates, merges an Edgee provider into your Crush config (populated from the live Edgee model catalog), and starts Crush, no config file to edit by hand.
1

Install the Edgee CLI

2

Launch Crush through Edgee

The CLI authenticates, adds the edgee provider, and starts Crush. Token compression is enabled automatically. Pick an Edgee model from Crush’s model picker.
Crush must already be installed. See the Crush repository for install instructions.
After the session ends, the CLI prints a link to view token usage, compression savings, and cost breakdown in the Edgee Console.

Model context windows and pricing

Each model the CLI writes into the edgee provider carries its context window and its per-million-token rates, read from the Edgee model catalog:
Those are Claude Sonnet 4.5’s catalog values: a 1M context window, 3and3 and 15 per million input and output tokens, 3.75permillioncachewritetokens,3.75 per million cache-write tokens, 0.30 per million cached-read tokens. Why it matters: Crush reads a context_window of 0 as “unknown”. It hides the header’s context gauge and skips auto-summarizing, to avoid truncating a custom model it knows nothing about. Declaring the real window turns both back on. Without the rate fields, every session reports as free. Details on what the CLI emits:
  • context_window comes from the catalog. When a model is served by several LLM providers with different windows, the value is the author’s own provider entry, or the smallest declared window when the author doesn’t serve it — overstating the window makes Crush summarize too late and the request gets rejected.
  • The two cache fields are named the opposite of their meaning in Crush: it costs cache-creation tokens at cost_per_1m_in_cached and cache-read tokens at cost_per_1m_out_cached. The CLI follows Crush’s convention, matching catwalk’s own catalog entries.
  • default_max_tokens is not emitted. Crush drops max_tokens from the request when it is 0, deferring to the upstream cap, and the catalog carries no output-token cap to put there.
  • A model that is genuinely free gets zeroed rates rather than omitted ones.
  • Models the catalog has no entry for keep working; they just ship without a window or rates. The fetch is best-effort — if it fails, launch continues with no declared metadata.

Manual setup (advanced)

Prefer to configure Crush yourself? Add an OpenAI-compatible provider pointed at Edgee to your global crush.json (~/.config/crush/crush.json):
Replace <YOUR_EDGEE_API_KEY> with your actual Edgee API key from the Edgee Console. With discover_models enabled, Crush populates its model picker from the Edgee catalog.
Discovery gives Crush the model ids and nothing else: the gateway’s /v1/models listing carries no context window and no pricing. To get the context gauge, auto-summarizing, and real session costs, declare the models yourself instead of relying on discover_models:
Watch the cache field names: the write rate goes under cost_per_1m_in_cached and the read rate under cost_per_1m_out_cached, per Crush’s own convention. edgee launch crush does this for you from the live catalog.

Benefits

Cost reduction

Edgee’s token compression reduces the tokens sent to and from the model, with no change to output quality.

Observability

Every request is logged in the Edgee Console with token counts, latency, and cost breakdowns.

Reliability

Automatic retry and fallback across providers keeps your sessions running even when a provider has issues.

One command

No config to edit, the CLI wires everything up.

Next Steps