> ## Documentation Index
> Fetch the complete documentation index at: https://www.edgee.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Crush

> Route Charm's Crush through Edgee to cut token costs and gain full observability, with one command.

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.

## Edgee CLI setup (recommended)

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.

<Steps>
  <Step title="Install the Edgee CLI">
    <Tabs>
      <Tab title="macOS / Linux">
        ```bash theme={"dark"}
        curl -fsSL https://edgee.ai/install.sh | bash
        ```
      </Tab>

      <Tab title="Homebrew (macOS)">
        ```bash theme={"dark"}
        brew install edgee-ai/tap/edgee
        ```
      </Tab>

      <Tab title="Windows (PowerShell)">
        ```powershell theme={"dark"}
        irm https://edgee.ai/install.ps1 | iex
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Launch Crush through Edgee">
    ```bash theme={"dark"}
    edgee launch crush
    ```

    The CLI authenticates, adds the `edgee` provider, and starts Crush. Token compression is enabled automatically. Pick an Edgee model from Crush's model picker.

    <Note>
      Crush must already be installed. See the [Crush repository](https://github.com/charmbracelet/crush) for install instructions.
    </Note>
  </Step>
</Steps>

After the session ends, the CLI prints a link to view token usage, compression savings, and cost breakdown in the Edgee Console.

## 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`):

```json theme={"dark"}
{
  "$schema": "https://charm.land/crush.json",
  "providers": {
    "edgee": {
      "id": "edgee",
      "name": "Edgee",
      "type": "openai-compat",
      "base_url": "https://edgee.io/v1",
      "api_key": "<YOUR_EDGEE_API_KEY>",
      "extra_headers": {
        "x-edgee-api-key": "<YOUR_EDGEE_API_KEY>"
      },
      "discover_models": true
    }
  }
}
```

<Note>
  Replace `<YOUR_EDGEE_API_KEY>` with your actual Edgee API key from the [Edgee Console](https://www.edgee.ai). With `discover_models` enabled, Crush populates its model picker from the Edgee catalog.
</Note>

## Benefits

<CardGroup cols={2}>
  <Card title="Cost reduction" icon="dollar-sign">
    Edgee's token compression reduces the tokens sent to and from the model, with no change to output quality.
  </Card>

  <Card title="Observability" icon="chart-line">
    Every request is logged in the Edgee Console with token counts, latency, and cost breakdowns.
  </Card>

  <Card title="Reliability" icon="shield-check">
    Automatic retry and fallback across providers keeps your sessions running even when a provider has issues.
  </Card>

  <Card title="One command" icon="terminal">
    No config to edit, the CLI wires everything up.
  </Card>
</CardGroup>

## Next Steps

* Learn more about the [Edgee CLI](/docs/features/cli) and its launch commands
* Set up [observability](/docs/features/observability) to monitor usage and costs
* Explore [retry and fallback](/docs/features/retry-and-fallback) for resilient routing
