Skip to content
WARDEN DOCS Get Warden free
01GET STARTED

Connect your models

Use the subscriptions you already pay for, your own API keys, or models on your own Mac, and choose which model does which job.

View .md

Warden doesn't sell model access. You connect what you already have, in Settings → Models, and the same rules apply whichever you pick.

Your subscriptions#

Sign in once with each tool's own CLI, as you do today. Warden then drives the agent over ACP (the Agent Client Protocol). There are no API keys to manage and no metered bill on top.

AgentHow Warden runs it
Claude CodeThrough the Claude ACP adapter: npm install -g @agentclientprotocol/claude-agent-acp
Codex / ChatGPTSign in online with your ChatGPT account (no install, several accounts), or Use ACP with npm install -g @agentclientprotocol/codex-acp
GitHub Copilotcopilot --acp
Devindevin acp
Kimikimi acp

If Warden can't find an agent you have installed, open it under Settings → Models and press Locate to point at it.

Your API keys#

Bring a key for hosted frontier and open-weight models, run by Warden's built-in agent: Amazon Bedrock, Azure OpenAI, Google Gemini, OpenAI, Anthropic, OpenRouter, xAI, Groq, Mistral, DeepSeek and more. Keys are kept in the macOS keychain. Routers (OpenRouter, DigitalOcean) give you many models behind one key.

With an API key or a local model, every tool call is checked before it runs.

Several accounts for one provider#

Keep work and personal keys apart: on a connected provider, choose Add account and give it a name (Work, Personal). Each account appears as its own group in the model picker. A project's Models tab can Use, Prefer or Never use each account. ChatGPT has its own account switcher, so several ChatGPT sign-ins can sit side by side.

Models on your own Mac#

Run open-weight models locally and your code never leaves your Mac:

  • Ollama: its own section under Settings → Models.
  • LM Studio: connect to its local server (by default http://localhost:1234).
  • llama.cpp: through Llama Swap.

A model for each job#

A project's Models tab (or ⌘K → Models for all projects) decides which model does what. Each role can be Pinned to one model, left to Warden to pick from your allow-list, or sent to a Router:

RoleUsed for
Planning & architecturePlans, specs, Factory triage and shaping
Code generationBuilding, including Factory builds
Bug fixingFactory builds of bugs
Code review · the graderIndependent review and grading. It should differ from the model that wrote the code, and Warden warns you when it doesn't
General & chatEverything else

The same tab holds the Allow-list (which models may be used at all), Skill models (run a skill such as a review skill on a particular model), Accounts, and Route each turn to the right model, which picks a role for each message you send.