LLM Providers
Fabric Agents works with every frontier model — Anthropic, OpenAI, Google, Moonshot Kimi, and any OpenAI-compatible endpoint. This page covers setup for each.
Fabric Agents has a dual-SDK architecture: the Claude Agent SDK for Anthropic endpoints and the Pi SDK for everything else (OpenAI, Google, Moonshot, Groq, Mistral, xAI, Cerebras, Amazon Bedrock, Azure OpenAI, Hugging Face, OpenRouter, z.ai, and custom OpenAI-compatible endpoints). Both run side by side — you can have multiple connections in the same workspace and pick per session.
All connections are configured from Settings → AI. You can also add one during first-run onboarding; both paths save to the same global config.
Supported providers
| Provider | Auth | Typical models | Notes |
|---|---|---|---|
| Anthropic | API key (sk-ant-…) or Claude Max OAuth | Opus 5.5, Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, Fable 5.1, Fable 5, Sonnet 5, Sonnet 4.6, Haiku 4.5 | Direct via Claude Agent SDK. Supports extended thinking, 1M context beta, prompt caching. |
| OpenAI | API key (sk-…) or ChatGPT Plus OAuth (Codex) | GPT-6 Astra, GPT-6 Sol, GPT-6 Luna, GPT-5.6 (Sol, Terra, Luna), GPT-5.2 Codex, GPT-5.1 Codex Mini | New connections default to GPT-6 Astra, with GPT-5.6 Sol ranked next; existing connections keep their chosen default and see Astra in the picker after the next restart. Reasoning levels Low through Max are supported. OAuth path gives you Plus-quota access without an API key. |
| Google AI Studio | API key (AIza…) | Gemini 3.5 / 3.6 / 3.7 Flash, Gemini 2.5 Pro / Flash | |
| Moonshot Kimi | API key | Kimi K3, Kimi K2.6, Kimi K2.7 Code | Three presets: Moonshot AI, Moonshot AI (CN), and Kimi (Coding). K3 has a 1M-token context window. See the Kimi setup page. |
| Amazon Bedrock | IAM access key | Claude (incl. Fable 5.1, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6), Nova, etc. via Bedrock inference profiles | Region prefix required (us., eu., global.). |
| Azure AI Foundry | Microsoft Entra ID (Azure AD) | Whatever is deployed in your Foundry resource | Entra ID OAuth + auto-refresh. Discovers resources and deployments after sign-in. See the Azure setup page. |
| Azure OpenAI | API key | Whatever is deployed in the resource | Older Azure OpenAI Service path. Use Foundry above when possible. |
| Databricks Mosaic AI | Bearer token (PAT or workspace OAuth token) | Your Model Serving endpoints (Llama, DBRX, custom deployments) | Endpoints discovered automatically; optional AI Gateway route. See the Databricks setup page. |
| OpenRouter | API key (sk-or-…) | All models routed through OpenRouter | One key, many backends. |
| Groq / Mistral / xAI / Cerebras / z.ai / Hugging Face | API key | Provider-specific | All OpenAI-compatible under the hood. |
| Manifest | API key | auto (their routing model) and any model Manifest exposes | OpenAI-compatible router. Picking the Manifest preset seeds the default model to auto, which Manifest dispatches to the right backend per request. |
| Custom OpenAI-compatible endpoint | API key + base URL | Any — you type the model id(s) | Use for Ollama, LocalAI, LiteLLM, vLLM, MiniMax-CN, bring-your-own-gateway. |
| GitHub Copilot OAuth | GitHub login | Models GitHub has enabled for your org | Enterprise-policy controlled. |
Typical setup
- Open Settings → AI → Connections → Add.
- Pick a preset (or select Custom endpoint and paste a base URL).
- Paste the API key.
- Click Test connection — you should see a ✓ with the resolved model count.
- Save. The connection now appears in the workspace model picker.
Per-workspace vs global
- Connections and credentials are global — one list of providers across the whole app, stored in
~/.fabric-agent/config.json. - The default connection and default model are workspace-scoped — each workspace can prefer a different provider. Override at Settings → Workspace → Defaults.
- An individual session locks its connection after the first message so the conversation stays with the same backend. Change it before the first send, or branch the session if you need to migrate.
Model picker quirks by provider
- Anthropic direct — The model list comes from Anthropic's live model API, so new Claude models appear as soon as Anthropic makes them available to your account. Opus 5.5 is the default for new connections, with the full 1M-token context window; it is also available on Amazon Bedrock (
us./eu./global.inference profiles) and the other Pi-backed Anthropic connections. Existing connections keep the model they are pinned to. Opus 5, 4.8, 4.7, and 4.6 all stay selectable under the picker's Previous versions row if you hit tier limits on the newest model or prefer an older release; the picker itself shows only the newest release of each family. Opus 5.5 uses adaptive thinking that is always on, so the "off" and minimize-thinking settings resolve to low-effort adaptive thinking instead of disabling it. If an earlier update moved your connection off Opus 4.6, it is restored automatically on first launch — your default model is left untouched, and removing 4.6 again sticks. Fable 5 is offered alongside Opus — Anthropic's most capable model, with a full 1M-token context window, available on direct connections and on Bedrock (us./eu./global.inference profiles). Fable runs with adaptive thinking always on, so the "off" and minimize-thinking settings resolve to low-effort adaptive thinking rather than disabling it. - Pi SDK providers — model ids are prefixed with
pi/in the picker to keep them visually distinct from Anthropic's bare ids. - Moonshot Kimi —
kimi-k3is the current flagship (1M-token context, always-on reasoning, image input). The Kimi (Coding) preset ships endpoint-name ids (k3,kimi-for-coding,kimi-for-coding-highspeed) that Moonshot routes server-side; the older version-stampedk2p5is phased out. See the Kimi page. - Custom OpenAI-compat — you list your own model ids; the app doesn't verify they exist until you send a message. Dedupes on save so copy-paste mistakes can't produce
["model-a", "model-a", …].
Connection failures
The Test connection button surfaces the exact error the provider returned. Common cases:
| Error | Likely cause |
|---|---|
invalid_request on a large-context message | Extended Context (1M) is enabled but your Anthropic tier is below 4. Disable at Settings → AI → Performance → Extended Context (1M). |
401 Unauthorized | Wrong key, key revoked, or the key is for a different product (e.g. an admin key instead of a project key). |
model not found | The model id isn't in the provider's catalog. For custom endpoints, ask the operator which ids they expose. |
Worker exited with code N | Not an LLM failure — that's a subprocess helper (WhatsApp worker, Pi agent server) failing. See the main log for details. |
Related
Auto Behaviours
How Fabric Agents helps you stay in flow — prompt enhancement, proactive auto-compaction, auto-archive of idle sessions, and automatic status transitions.
Moonshot Kimi
Connect Moonshot's Kimi models — including Kimi K3 with its 1M-token context — to Fabric Agents. Covers the Moonshot AI and Kimi (Coding) presets, model ids, and regional endpoints.