LLM Providers

Supported LLM providers, routing types, and per-agent model configuration.

AgentDesk supports multiple LLM providers through a flexible routing system. Configure a default provider during setup and optionally override per agent.

Supported Providers

PresetRouting TypeDescription
Anthropic Subscriptionanthropic-nativeClaude Pro/Max subscription via OAuth
Anthropic API Keyanthropic-nativeDirect API access with an API key
z.aianthropic-compatAnthropic-compatible proxy
OpenRouteranthropic-compatMulti-provider router with Anthropic wire format
MiniMaxanthropic-compatAnthropic-compatible endpoint
OpenAIopenai-compatOpenAI API (GPT-4, etc.)
CustomConfigurableAny endpoint — pick the routing type

Routing Types

The routing type determines how AgentDesk communicates with the provider:

anthropic-native

Direct connection to api.anthropic.com. Uses ANTHROPIC_API_KEY or CLAUDE_CODE_OAUTH_TOKEN (for subscription OAuth). Full support for all Claude features: streaming, tools, thinking, images, prompt caching.

anthropic-compat

Anthropic wire format sent to a custom base URL. Used by z.ai, OpenRouter, and MiniMax. Sets ANTHROPIC_AUTH_TOKEN and ANTHROPIC_BASE_URL in the SDK environment.

openai-compat

OpenAI-compatible endpoints. AgentDesk runs a local translator proxy that converts Anthropic SDK requests to OpenAI format using HMAC-signed routing tokens. This lets the Claude Code SDK work with any OpenAI-compatible provider.

Per-Agent Configuration

Each agent can be pinned to a specific provider and model:

  1. Open the agent’s settings
  2. Select a provider from the dropdown
  3. Choose a model from the provider’s model catalog
  4. Save — the agent uses this configuration for all future turns

Agents without a provider override use the global default.

Credential Security

Provider API keys are encrypted at rest using AES-256-GCM. The encryption key is stored in ~/.agent-desk/.env and generated during agdesk setup. Keys are decrypted only at the moment they’re needed to spawn an SDK session.

Model Catalog

Each provider has a model catalog — either a static whitelist or dynamically fetched from the provider’s /models endpoint. The catalog populates the model dropdown in the agent settings UI.