Claude Desktop and Cowork

Claude Desktop can send Chat, Cowork and Code to a third-party inference gateway. Pointed at ozeye, the app keeps its native Anthropic protocol and runs on EU-hosted open models; the picker shows ozeye's opus, sonnet and haiku tiers (glm-5.3, deepseek-v4.1-flash, deepseek-v4-flash-0731).

Set up in the app

  • Open Claude Desktop, go to Help → Troubleshooting and enable Developer Mode.
  • From the menu bar choose Developer → Configure Third-Party Inference.
  • Gateway base URL: https://ozeye.ai.
  • Gateway API key: your oz_… key from Dashboard → API keys.
  • Auth scheme: bearer or x-api-key, both work. Credential kind: static API key.
  • Quit Claude Desktop fully, reopen it and pick Continue with Gateway. The model picker now lists GLM 5.3, DeepSeek V4.1 Flash and DeepSeek V4 Flash 0731 under the opus, sonnet and haiku tiers, plus Kimi K2.6 and GLM 5.3 Flash.

Managed settings (MDM)

For an organisation, the same values ship as managed settings. Leave inferenceModels out to let the app discover models from GET /v1/models, or pin the list:

# managed settings (MDM / JSON policy)
{
  "inferenceProvider": "gateway",
  "inferenceGatewayBaseUrl": "https://ozeye.ai",
  "inferenceGatewayAuthScheme": "x-api-key",
  "inferenceModels": ["claude-opus-ozeye-g53", "claude-sonnet-ozeye-d41f", "claude-haiku-ozeye-d4f"]
}

Tiers

opusglm-5.3 (default), kimi-k2.6Long agentic sessions and heavy reasoning.
sonnetdeepseek-v4.1-flash (default)Everyday chat and Cowork work; 1M context.
haikudeepseek-v4-flash-0731 (default), glm-5.3-flashQuick turns, titles, summaries.

Claude Desktop rejects any discovered model id that names a non-Anthropic vendor, even when the tier fields are set, so when /v1/models is called by an Anthropic client (recognised by the anthropic-version header they all send) it lists the tiered models under alias ids (claude-opus-ozeye-g53 for GLM 5.3, claude-sonnet-ozeye-d41f for DeepSeek V4.1 Flash, claude-haiku-ozeye-d4f for DeepSeek V4 Flash 0731, claude-opus-ozeye-k26 for Kimi K2.6, claude-haiku-ozeye-g53f for GLM 5.3 Flash). The picker shows the real model names; usage and invoices record the real models. Use the alias ids in inferenceModels when you pin the list.

Cowork and prompt caching

Cowork sends cache_control breakpoints and expects cache hits after the first turn. ozeye accepts the breakpoints and relies on the host's automatic prefix caching; the DeepSeek, Kimi and GLM hosts report cache_read_input_tokens and bill them at the cached rate, so multi-turn sessions stay cheap.

Troubleshooting

  • Cannot connect: the base URL must be exactly https://ozeye.ai. Open https://ozeye.ai/v1 in a browser to confirm the API answers.
  • No models in the picker: the account has no credits, or the app was not fully restarted after saving the gateway settings.
  • Gateway option missing: Developer Mode is off, or the settings were saved to a different profile.
  • Web fetch blocked: allow the hosts under Developer → Configure Third-Party Inference → Workspace restrictions.

Protocol details: Anthropic Messages API.