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.
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.
| Agent | How Warden runs it |
|---|---|
| Claude Code | Through the Claude ACP adapter: npm install -g @agentclientprotocol/claude-agent-acp |
| Codex / ChatGPT | Sign in online with your ChatGPT account (no install, several accounts), or Use ACP with npm install -g @agentclientprotocol/codex-acp |
| GitHub Copilot | copilot --acp |
| Devin | devin acp |
| Kimi | kimi 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:
| Role | Used for |
|---|---|
| Planning & architecture | Plans, specs, Factory triage and shaping |
| Code generation | Building, including Factory builds |
| Bug fixing | Factory builds of bugs |
| Code review · the grader | Independent review and grading. It should differ from the model that wrote the code, and Warden warns you when it doesn't |
| General & chat | Everything 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.