# Use Claude Code with open models through an Anthropic-compatible endpoint
URL: https://docs.munito.ai/agents/claude-code

Claude Code runs with open models on Munito AI, because Munito AI serves an Anthropic-compatible endpoint.
Create an [API key](https://console.munito.ai/keys), then set these variables before you start Claude Code.

```bash
export ANTHROPIC_AUTH_TOKEN=munitoai_...
export ANTHROPIC_BASE_URL=https://api.munito.ai/inference
export ANTHROPIC_MODEL='zai-org/glm-5.3-flash[1m]'
export ANTHROPIC_DEFAULT_OPUS_MODEL='zai-org/glm-5.3-flash[1m]'
export ANTHROPIC_DEFAULT_SONNET_MODEL='zai-org/glm-5.3-flash[1m]'
export ANTHROPIC_DEFAULT_HAIKU_MODEL=qwen/qwen3.8-27b

claude
```

`ANTHROPIC_AUTH_TOKEN` supplies the Bearer token without a separate key approval prompt.
If an existing Claude account session interferes, run `/logout` and start Claude Code again.
`ANTHROPIC_MODEL` selects the main model.
`ANTHROPIC_DEFAULT_HAIKU_MODEL` selects the small model for background requests.
The Opus and Sonnet variables map those aliases to the main model, for `/model` and for subagents.

The `[1m]` suffix tells Claude Code that GLM-5.3 Flash has a context window of one million tokens.
Claude Code removes the suffix before it sends a request.
Without the suffix, Claude Code assumes 200,000 tokens for a model that it does not know, and compacts the conversation early.

GLM-5.3 Flash always reasons, also when thinking is off in Claude Code.
The effort level of Claude Code sets how much it reasons: `low`, `high` or `max`.
Munito AI moves any other level to the nearest of these, and to the lower one on a tie.

The base URL excludes `/v1` because the Anthropic client adds it.
To keep processing in the EU or the US, use a [regional host](https://docs.munito.ai/regions) in place of `api.munito.ai`.
See the [Messages reference](https://docs.munito.ai/api/createMessage) for the request contract.
