Connect a provider
Everything here lives in Settings → Providers, and everything here has a terminal equivalent.
An API key
The common case — Anthropic, OpenAI, Mistral, Cohere, MiniMax, Z.ai, NVIDIA, Fireworks, OpenRouter.
- Settings → Providers, pick the provider, paste the key, save.
- The key is validated on save, then written to the encrypted credential store.
- Its models appear in the model picker.
From the terminal:
podcode auth login anthropicpodcode auth list shows what's connected, podcode auth status <provider> checks one, and podcode auth logout <provider> removes it.
OAuth
GitHub Copilot uses a device-code flow; Google and OpenRouter sign in through the browser.
- Start the flow from Settings → Providers.
- For Copilot, a code is shown — enter it on GitHub's device page.
- The token is persisted to the credential store, and injected on every request from then on.
Copilot's model list is account-specific: it's fetched from your account, cached on disk for 24 hours, and published as a live overlay that supersedes the bundled entries. Two people connecting Copilot will not necessarily see the same models, which is correct.
A local server
Ollama and LM Studio are detected on their default ports with no configuration. Start the server, pull or load a model, and it appears in the picker.
ollama serve
ollama pull qwen3:32bIf you've moved the port, set the base URL in Settings → Providers. Local providers publish a live overlay, so a model's context window comes from the running server rather than a bundled guess.
A self-hosted endpoint
vLLM and llama.cpp want a base URL, and vLLM optionally a key:
vllm serve Qwen/Qwen3-32B --port 8000Point Podcode at http://localhost:8000/v1 in Settings → Providers. Any OpenAI-compatible server works the same way — the endpoint is the contract, not the software behind it.
Google, three ways
Google is one provider with three connection modes, picked when you connect it in Settings → Providers:
| Mode | What you supply | Use when |
|---|---|---|
| AI Studio | An API key | The quickest path to Gemini models |
| Vertex AI | A GCP project and region, plus service-account credentials — or nothing, to fall back to Application Default Credentials | The models have to run inside your own GCP project |
| OAuth | A browser sign-in | You want to use the entitlement attached to your Google account |
Vertex is the one to pick for an organisation that already has GCP: inference stays in your project and region, and billing goes through the account you already have. If you leave the service-account field blank, whatever ADC resolves to on that machine is used instead.
AWS Bedrock
Bedrock needs a region plus either SigV4 credentials (access key and secret) or a Bedrock API key. Models are then addressed within that region; switching regions switches which models are available.
Per-model overrides
The registry can be patched from config when a provider under-reports:
{
"provider": {
"vllm": {
"models": {
"Qwen/Qwen3-32B": { "name": "Qwen3 32B", "limit": { "context": 131072 } }
}
}
}
}Only the models patch survives from a workspace config — api_key, base_url, env, and npm are stripped from the project layer. Set those globally.
Picking a model
podcode modelsOr the model picker in the composer. A session's model can change mid-session, and a harness stage can pin its own — which is how you keep the expensive model for the stages that need judgement.
Next
- RunPod — when you want a private endpoint but not the ops.