Agent compatibility matrix
Any tool that lets you set a custom OpenAI- or Anthropic-compatible base URL can route every request through Anoman — guardrails, routing, and observability included. Here is how the top and mid-tier agents connect.
Two ways in
- OpenAI-compatible — base URL
https://api.anoman.io/v1, keyanm-sk-…. Works with the widest range of tools. - Anthropic-compatible — base URL
https://api.anoman.io/anthropic, same key. For tools built on the Anthropic Messages API.
For autonomous or long-running agents, enable stream: true — long tasks can otherwise hit the 100-second edge timeout and fail with a 524. See the streaming guide.
Editor caveat: Cursor, VS Code Copilot, and similar extensions apply a custom endpoint to chat/agent requests only. Inline tab autocomplete stays on the tool's own model — Anoman powers the agent, not the completions.
CLI & terminal agents
| Agent | Tier | Endpoint | How to connect | Guide |
|---|---|---|---|---|
| Claude Code | top | Anthropic | ANTHROPIC_BASE_URL | Guide |
| OpenAI Codex CLI | top | OpenAI | ~/.codex/config.toml → base_url (wire_api = "chat") | Guide |
| OpenClaw | mid | OpenAIAnthropic | provider api: openai-completions + baseUrl | Guide |
| Goose (Block) | top | OpenAI | OPENAI_HOST (host only, no /v1) | Guide |
| opencode | top | OpenAIAnthropic | provider @ai-sdk/openai-compatible → options.baseURL | Guide |
| Hermes (Nous Research) | mid | OpenAIAnthropic | config.yaml providers → api + transport | Guide |
| Aider | top | OpenAI | OPENAI_API_BASE / --openai-api-base | Guide |
| Qwen Code | mid | OpenAI | OPENAI_BASE_URL + OPENAI_API_KEY | — |
| Crush (Charm) | mid | OpenAIAnthropic | config.json provider type: openai-compat → base_url | — |
| Droid (Factory) | top | OpenAIAnthropic | settings.json → generic-chat-completion-api → baseUrl | — |
| grok-cli | mid | OpenAI | GROK_BASE_URL / --base-url | — |
IDE & editor agents
| Agent | Tier | Endpoint | How to connect | Guide |
|---|---|---|---|---|
| Cursor | top | OpenAI | Settings → Models → Override OpenAI Base URL (chat only) | Guide |
| VS Code — GitHub Copilot | top | OpenAIAnthropic | Copilot → Custom Endpoint (chat/agent only) | Guide |
| Cline | top | OpenAIAnthropic | Provider: OpenAI Compatible → Base URL | Guide |
| Roo Code | top | OpenAIAnthropic | Provider: OpenAI Compatible → Base URL | Guide |
| Continue | top | OpenAI | config.yaml → apiBase | Guide |
| Zed | mid | OpenAIAnthropic | settings.json → language_models.openai_compatible.api_url | Guide |
| Kilo Code | mid | OpenAIAnthropic | Provider: OpenAI Compatible → Base URL | — |
| JetBrains AI Assistant | top | OpenAI | Settings → AI Assistant → OpenAI-compatible (2025.2+) | — |
| Trae (ByteDance) | top | OpenAIAnthropic | Add Model → editable Base URL | — |
| PearAI | mid | OpenAI | apiBase (Continue-based) | — |
| Void | mid | OpenAI | Providers → OpenAI-Compatible → endpoint URL | — |
Agent frameworks & SDKs
| Agent | Tier | Endpoint | How to connect | Guide |
|---|---|---|---|---|
| LangChain | top | OpenAIAnthropic | ChatOpenAI(base_url=…) · JS: configuration.baseURL | Guide |
| LangGraph | top | OpenAIAnthropic | reuses LangChain chat models | — |
| LlamaIndex | top | OpenAIAnthropic | OpenAILike(api_base=…, is_chat_model=True) | — |
| CrewAI | top | OpenAI | LLM(base_url=…, api_key=…) | Guide |
| Microsoft AutoGen | top | OpenAI | OpenAIChatCompletionClient(base_url=…, model_info=…) | Guide |
| OpenAI Agents SDK | top | OpenAI | AsyncOpenAI(base_url=…) + set_default_openai_client | Guide |
| Vercel AI SDK | top | OpenAIAnthropic | createOpenAICompatible({ baseURL }) | Guide |
| Pydantic AI | top | OpenAIAnthropic | OpenAIProvider(base_url=…, api_key=…) | Guide |
| Semantic Kernel | top | OpenAI | inject AsyncOpenAI(base_url=…) as async_client | — |
| Google ADK | top | OpenAI | LiteLlm(model="openai/…", api_base=…) | — |
| Haystack | mid | OpenAI | OpenAIChatGenerator(api_base_url=…) | — |
| Mastra | mid | OpenAI | createOpenAICompatible({ baseURL }) | — |
Chat UIs & desktop apps
| Agent | Tier | Endpoint | How to connect | Guide |
|---|---|---|---|---|
| LibreChat | top | OpenAIAnthropic | librechat.yaml → endpoints.custom[].baseURL | Guide |
| Jan | top | OpenAIAnthropic | Add Custom Provider → OpenAI-compatible → Base URL (/v1) | Guide |
| Open WebUI | top | OpenAI | OPENAI_API_BASE_URL / Admin → Connections | — |
| AnythingLLM | top | OpenAI | LLM: Generic OpenAI → Base URL | — |
| Chatbox | top | OpenAI | Custom provider → OpenAI API Compatible → API Host | — |
| Msty | mid | OpenAI | Remote provider → OpenAI compatible endpoint | — |
Enterprise / self-host only
These reach Anoman only on enterprise or self-hosted installs where an admin can wire a custom endpoint — not on their consumer plans.
- Sourcegraph Cody — custom endpoint via site-admin modelConfiguration (Enterprise / self-host)
- Tabnine — self-hosted Enterprise install can wire custom models; no per-user endpoint on SaaS
Not currently reachable
These tools do not expose a custom OpenAI- or Anthropic-compatible base URL, so they cannot route through Anoman today. We list them for honesty — no workaround is implied.
- Windsurf (Devin Desktop) — BYOK is named-provider-only; no custom base URL
- Google Antigravity — Gemini-locked; no native custom endpoint
- Gemini CLI — Gemini protocol only; no OpenAI-compatible provider
- Amp (Sourcegraph) — removed BYOK / isolated mode
- Kiro (AWS) — Bedrock-locked catalog; BYOK not shipped
- Augment Code — closed backend, no BYOK
- Supermaven — autocomplete-only; sunset Nov 2025
- Double — hosted backend only, no BYOK
Compiled from each tool's official documentation. Capabilities change — if a setting has moved, tell us and we will update this table.