Configure
Providers and models
Connect Claude Code, Codex, ChatGPT, and the API providers from Anthropic to Ollama Cloud, then pick models, effort, and speed.
Motriz runs your agents on the provider you choose. Any supported provider can drive any surface: quick runs, flows, chat, and the co-founder all pick their model per session or step, and a single flow can mix providers freely because the same role prompts work across all of them. Everything here is configured in Settings → Providers.
Supported providers
Providers fall into three groups: two local CLI runtimes that use subscriptions you already have, one browser sign-in, and eight API-key providers.
| Provider | How it authenticates | Notes |
|---|---|---|
| Claude Code | Local claude CLI with your Claude subscription login | No API key. The binary is auto-detected; a "Claude Code CLI path" field overrides it. |
| Codex | Local codex CLI with your existing codex login | Needs both the binary and the auth file. Runs as a long-lived app-server in an isolated, app-managed runtime home. |
| ChatGPT | Browser sign-in with your OpenAI account | No key to paste. The card shows your plan and email once signed in. |
| Anthropic | API key | Optional base URL for Anthropic-compatible endpoints. |
| OpenAI | API key | Direct API access. |
| Azure OpenAI | Endpoint URL and API key | Both are required. The "model" is your deployment name. |
| Grok | xAI API key | Direct API access. |
| Ollama Cloud | Ollama Cloud API key | Hosted models at ollama.com — see the callout below. |
| OpenRouter | API key | Catalog is filtered to models that support tool calling, because the agent loop needs tools. |
| Hugging Face | Access token | Uses the Inference Providers router. |
| Cerebras | API key | Direct API access. |
The Ollama provider connects to Ollama's cloud service at ollama.com and requires an Ollama Cloud API key. Motriz does not run local models through it — the agent loop runs on your Mac, the inference runs on Ollama's hosted models.
Connecting a provider
Each provider in Settings → Providers is a collapsible card with a status badge: "ready" or "not set up". Unconfigured providers stay visible so the card can tell you exactly what is missing, but their models never appear in the model picker. Expanding a card shows the status detail, a setup hint, the configuration fields, and the first few available models.
CLI runtimes: Claude Code and Codex
Install and sign in once in your terminal — claude auth login for Claude Code, codex login for Codex — and Motriz picks the binaries up automatically. It launches them with your login-shell environment, so the CLIs resolve exactly as they would in a terminal. If auto-detection fails, set the path in the "Claude Code CLI path" or "Codex CLI path" field.
ChatGPT: browser sign-in
Click "Sign in with ChatGPT" and complete the OAuth flow in your default browser; the button shows "Waiting for browser…" until you finish or cancel. The flow listens on local port 1455 — if another Codex or ChatGPT sign-in holds that port, close it and retry. Sign out any time from the same card.
API-key providers
Paste the key into the provider's field and Save. Key fields are password inputs that never echo a stored value — the placeholder reads "configured — enter a new key to replace" once a key exists. To rotate a key, enter the replacement; to delete it, click Remove. Azure OpenAI needs its endpoint URL as well; Anthropic optionally takes a custom base URL.
Where credentials live
All keys and paths saved in Settings are stored encrypted (AES-256-GCM) in the local SQLite database, with the encryption key in a secret.key file beside it. There is no .env file. A subset of providers also accepts environment-variable defaults — MOTRIZ_CLAUDE_BIN, MOTRIZ_CODEX_BIN, MOTRIZ_CODEX_HOME, MOTRIZ_OLLAMA_API_KEY, MOTRIZ_OPENROUTER_API_KEY, MOTRIZ_HF_TOKEN, MOTRIZ_CEREBRAS_API_KEY, and the matching *_MODEL overrides — but values saved in Settings always win. Anthropic, OpenAI, Azure OpenAI, and Grok are configured exclusively in Settings; they have no environment-variable path at all. See Privacy and safety for the full storage model.
While any run is active, every provider field is disabled and Settings shows: "Stop active agents before changing provider credentials, accounts, endpoints, or CLI paths." This keeps a single execution from switching credentials or endpoints mid-request.
Models and the picker
The model picker in the composer lists only models from connected providers, grouped per provider. If nothing is connected yet, it reads "No providers connected yet — set one up in Settings → Providers." Model ids display under their commercial names — claude-opus-5 appears as "Claude Opus 5" — and each provider's default model sorts first in its group.
Catalogs and defaults
Catalogs are fetched live wherever the provider offers a listing; a static fallback list covers the case where the live catalog is unreachable. A successful live fetch is authoritative. Codex slugs the catalog marks as hidden collect under a "More" group with a "hidden" badge.
| Provider | Catalog source | Default model |
|---|---|---|
| Claude Code | Live CLI listing, always merged with a static Claude list | claude-opus-5 |
| Codex | Live from the Codex app-server | gpt-5.6-sol |
| ChatGPT | Live from the ChatGPT backend; empty until signed in | gpt-5.6-sol |
| Anthropic | Live model listing | claude-opus-5 |
| OpenAI | Live listing, filtered to chat- and tool-capable families | gpt-5.5 |
| Azure OpenAI | No live listing — the built-in list doubles as likely deployment names | gpt-5.5 |
| Grok | Live model listing | grok-4.5 |
| Ollama Cloud | Live tags listing | qwen3.5:397b-cloud |
| OpenRouter | Live listing, filtered to tool-calling models | qwen/qwen3-coder |
| Hugging Face | Live from the Inference Providers router | Qwen/Qwen3-Coder-480B-A35B-Instruct |
| Cerebras | Live model listing | gpt-oss-120b |
A brand-new work item defaults to Claude Code with the provider's default model, default effort, and Fast off.
Typed model ids
Catalogs are not an allowlist. Type any id into the search field ("Search or type a model id…") and, if it isn't in the catalog, a "Use typed model" group offers it against every connected provider. New models work the day a provider ships them, and your own Azure deployment names are typed the same way.
Vision
Image input is a per-model capability. Vision-capable models carry an image icon in the picker with the tooltip "Understands images". Every shipped Claude model accepts images; the Codex and ChatGPT GPT-5 codex family does except gpt-5.3-codex-spark; on Cerebras only gemma-4 models do; Cerebras and Grok accept PNG and JPEG only. When a model's capability is ambiguous, Motriz deliberately assumes no vision: under-claiming only blocks an image paste, while over-claiming would fail the API call mid-run. The composer enforces this at paste and send time — see Work and runs.
Reasoning effort
Effort is a per-run setting, chosen from the composer's effort pill ("Reasoning effort") and mapped to each provider's real API knob. The pill offers "Default effort" plus the levels the provider supports:
| Provider | Effort levels |
|---|---|
| Claude Code, Anthropic | low · medium · high · xhigh · max |
| Codex, ChatGPT | low · medium · high · xhigh — plus "Ultra", which exists only for GPT-5.6 Sol |
| Ollama Cloud | Two levels, labeled "no thinking" and "thinking" |
| OpenAI, Azure OpenAI, Grok, OpenRouter, Hugging Face, Cerebras | low · medium · high |
Switching provider or model reconciles your selection: an unsupported effort resets to the default. If a model rejects the effort parameter at run time, Motriz retries once without it and notes "⚠ {model} rejected the reasoning effort setting; continuing without it." rather than failing the run.
Fast mode
Fast is a speed tier, deliberately separate from reasoning effort. A "Fast" pill (tooltip "Fast service tier") appears in the composer only when the selected model supports it, and fast-capable models carry a lightning icon in the picker ("Supports fast mode").
- Codex and ChatGPT map Fast to OpenAI's priority service tier; the live catalog says which models offer it.
- Anthropic offers fast mode as a research preview on Claude Opus 5 and Claude Opus 4.8 only — the same model at higher output speed, billed at premium provider rates.
- All other providers, including Claude Code, have no fast tier.
Fast is kept across a model switch only if the new model supports it; a stale Fast flag on an unsupported model is silently dropped instead of failing the call.
Cost and spend
Motriz estimates USD cost per run step and rolls it up the run tree, including delegated sub-agents. Each run row shows its totals inline — 41.2k in · 3.1k out · $0.86 · 3m 12s — and the Dashboard shows "Spend · 7d", the sum over all the product's runs from the last seven days.
Claude Code reports its own real USD figure in the CLI's result output, and Motriz records it verbatim — even though execution runs on your subscription login. OpenRouter and Hugging Face are priced live from their own catalogs; the remaining providers use built-in rate tables, and a model with no known rate simply shows no cost. Treat the total as a local estimate, not a provider invoice.
There are no budgets, caps, or alerts — spend is informational only. If a provider stops responding or a model disappears from a catalog, start with Troubleshooting.