Claude Desktop
Connect Claude Desktop to Mixen — pay from your balance in roubles, with the Anthropic Messages protocol: tool calling, streaming, and prompt caching.
Claude Desktop is Anthropic’s application with three tabs: Chat, Cowork, and Code. A custom API endpoint is configured not through environment variables (the app reads neither ANTHROPIC_BASE_URL nor settings.json — unlike the CLI, see Claude Code) but through its built-in third-party inference configuration. Mixen implements the Anthropic Messages protocol, so it plugs in as such a provider; development sessions (the Code tab) are what gets routed through the gateway.
- Open Help → Troubleshooting → Enable Developer Mode — the app restarts with a Developer menu.
- Open Developer → Configure Third-Party Inference…
- In the Connection section, set Inference provider to Gateway.
- Fill in the Gateway credentials card:
| Field | Value |
|---|---|
| Gateway base URL | https://api.mixen.ai |
| Gateway API key | your mxn-… key from the dashboard |
| Credential kind | Static API key |
| Gateway auth scheme | Bearer (default) or x-api-key — Mixen accepts both |
Key points:
- The base URL carries no
/v1suffix: the app appends/v1/messagesto the request path itself. - The gateway requirements are
POST /v1/messageswith streaming and tool use; Mixen supports all of it (the same surface Claude Code uses). GET /v1/modelsfor model auto-discovery is optional. If the model picker is empty or missing what you need — set the models explicitly, by full IDs from the catalog:anthropic/claude-sonnet-5and so on. Bare aliases likesonnetdo not resolve without discovery.
Limitations
Section titled “Limitations”With a gateway active, the app runs sessions locally only: the environment picker offers no SSH hosts or Anthropic-hosted cloud environments, and Remote Control is unavailable. If you need the agent on a remote machine — run the CLI there with the variables from the Claude Code guide.
What is supported
Section titled “What is supported”The gateway exposes the same Mixen surface Claude Code uses (the Anthropic Messages protocol):
| Feature | Status |
|---|---|
| Text, system, images (vision models) | ✅ |
| Tools / tool use | ✅ |
Streaming SSE (stream: true) |
✅ |
POST /v1/messages/count_tokens |
✅ (an estimate without calling the model) |
Prompt caching (cache_control) |
✅ |
Extended thinking (thinking) |
✅ |
Verifying the connection
Section titled “Verifying the connection”The key and balance are checked with a minimal generating request:
curl https://api.mixen.ai/v1/chat/completions \ -H "Authorization: Bearer your-api-key" \ -H "Content-Type: application/json" \ -d '{"model":"z-ai/glm-5.3-flash","messages":[{"role":"user","content":"ping"}],"max_tokens":5}'200 — the key and balance work; 401 — the key was copied incompletely or it is not a Mixen API key; 402 — the balance is empty. If the app shows Gateway was unreachable at startup, it could not reach the base URL — check the address (no /v1) and the network.
Recommended models
Section titled “Recommended models”Every text model in the catalog is available over the Anthropic Messages protocol; IDs pass through as is. Prices are per 1M tokens, input/output; full tables with cache columns — in the catalog.
| Task | Model | Input / output |
|---|---|---|
| Quick questions, routine, drafts | GLM 5.3 Flash (z-ai/glm-5.3-flash) |
8.4 / 27.9 ₽ |
| Edits in familiar code, long tasks | GLM 5.3 (z-ai/glm-5.3) |
156 / 490.2 ₽ |
| Complex agentic sessions, unfamiliar codebase | Claude Sonnet 5 (anthropic/claude-sonnet-5) |
213.9 / 1069.5 ₽ |
Cache and session savings
Section titled “Cache and session savings”Prompt caching is always on at Mixen; the client needs no setup:
- repeated context within 5 minutes is billed at ~10% of the input price (21.4 ₽ per 1M for claude-sonnet-5 instead of 213.9 ₽, 1.7 ₽ for glm-5.3-flash), and every hit extends the window by another 5 minutes;
- a pause longer than 5 minutes resets the cache — the next turn pays the full input price, then the discount builds up again;
- don’t edit project rules (
CLAUDE.md,AGENTS.md) mid-session — changing the prefix resets the cache; - the limit is 60 RPM per key.
Troubleshooting
Section titled “Troubleshooting”Gateway was unreachable— the app could not reach the base URL at startup: make sure the address has no/v1and your network doesn’t blockapi.mixen.ai.ANTHROPIC_BASE_URL/settings.jsonvariables don’t work — that’s expected: Desktop only reads third-party inference configuration from the Developer form. For environment variables use the CLI (see the Claude Code page).- The model picker is empty — auto-discovery only shows recognizably-Claude models; set an explicit list with full catalog IDs.
- The configuration form is read-only — an administrator-distributed configuration (MDM) is already on the device; it takes precedence over the local one.