Skip to main content

Provider compatibility

The eight agents do not all speak the same model protocol, so alc checks the pair before launch instead of sending a request that cannot work.

AgentAcceptsProtocol
Claude CodeAn Anthropic-compatible endpointanthropic-messages
Codex CLIThe OpenAI Responses APIopenai-responses
OpenCodeAny API-compatible providerany
PiAnthropic, OpenAI, or OpenAI-compatibleany
Copilot CLIOpenAI- or Anthropic-compatibleopenai-chat, anthropic-messages
GooseOpenAI- or Anthropic-compatibleopenai-chat, anthropic-messages
Qwen CodeOpenAI-, Anthropic-, or Gemini-compatibleopenai-chat, anthropic-messages
Kimi Code CLIOpenAI- or Anthropic-compatibleopenai-chat, anthropic-messages

Whatever an agent accepts natively, it also runs on one codex login through the Codex bridge.

alc doctor prints this matrix resolved against your own profiles.

Presets

Choosing a --kind fills in an endpoint, a key variable and a starting model. Every value is a plain field in config.toml that alc config upsert overrides.

KindDefault endpointKey envStarting model
anthropichttps://api.anthropic.comANTHROPIC_API_KEYsonnet
openaihttps://api.openai.com/v1OPENAI_API_KEYgpt-6-sol
openrouterhttps://openrouter.ai/api/v1OPENROUTER_API_KEYanthropic/claude-sonnet-4.6
codex— (native codex login)
ollamahttp://localhost:11434qwen3-coder
vllmhttp://localhost:8000/v1— (ships disabled)
deepseekhttps://api.deepseek.com/v1DEEPSEEK_API_KEYdeepseek-v4-pro
moonshothttps://api.moonshot.ai/v1MOONSHOT_API_KEYkimi-k3
zaihttps://api.z.ai/api/paas/v4ZAI_API_KEYglm-5.3
minimaxhttps://api.minimax.io/v1MINIMAX_API_KEYMiniMax-M3
groqhttps://api.groq.com/openai/v1GROQ_API_KEYllama-3.3-70b-versatile
xaihttps://api.x.ai/v1XAI_API_KEYgrok-build-0.1
googlehttps://generativelanguage.googleapis.com/v1beta/openaiGEMINI_API_KEYgemini-3.7-flash
custom— (you provide it)— (name it with --api-key-env)

Model IDs drift faster than alc releases, so treat every starting model as a value to edit rather than a promise about what the provider serves today.

Claude-ready without extra configuration

DeepSeek, Moonshot, Z.ai and MiniMax each publish a second, Anthropic-compatible base URL beside their OpenAI-shaped one, so Claude Code runs on them directly:

KindAnthropic-compatible URL
deepseekhttps://api.deepseek.com/anthropic
moonshothttps://api.moonshot.ai/anthropic
zaihttps://api.z.ai/api/anthropic
minimaxhttps://api.minimax.io/anthropic

Claude Code on a local Ollama model

Moved to Local models, which covers what alc --ollama claude sets and how to keep the first turn short on a laptop.