> ## Documentation Index
> Fetch the complete documentation index at: https://www.truefoundry.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Coding agents and AI apps: what the gateway governs

> One table for every coding agent, IDE, and AI app: whether it routes through the AI Gateway, what you get, who pays, and what you can lock down fleet-wide.

Every coding agent and AI app reaches the TrueFoundry AI Gateway differently, and that decides what you can govern. This page is the single reference: find the tool, read across. For Claude's plans and interfaces there is a [more detailed table](/docs/ai-gateway/claude).

## How to read the columns

Every cell links to the tool's guide, which has the setup steps and the vendor's mechanism.

* **Model traffic via gateway**: can the tool's model calls be sent to the gateway? *Full* means every model request, so you get per-user cost tracking, budgets, rate limits, and attribution on all of it. *Partial* means only some features route; you get those controls on the routed traffic. *None* means the app calls its vendor's backend with no endpoint setting, so there is nothing to meter.
* **Enforcement fleet-wide**: can an admin push the gateway configuration so users can't remove it? *Full* means a locked or system-level config exists (TrueFoundry's `tfy-local-ai-setup` for Claude and Codex, the vendor's managed config for the rest). *Partial* means the setting lives in user-editable config; push it with MDM and pair it with network policy that blocks direct vendor endpoints.
* **Guardrails and audit**: can the gateway inspect, block, and log content? *Full* means gateway guardrails and request logs apply to the tool's traffic, sometimes with extra client-side or vendor-side hooks. *Partial* means allow/deny and audit on content only, without cost or budget controls.
* **MCP via gateway**: can the tool's remote MCP servers be pointed at the [MCP Gateway](/docs/ai-gateway/mcp/mcp-overview), with an admin able to enforce that? *Full* means pre-provisioning plus an allowlist or a block on user-added servers. *Partial* means the user can point servers at the gateway but an admin can't enforce it. This is independent of model routing.

## The table

Ordered from most to least governable. Every **Docs** link opens the tool's guide at the relevant section.

* ✅ **Full**: the gateway covers everything the column describes, and an admin can enforce it.
* 🟡 **Partial**: the gateway covers only some of the column, or covers it only for users who set it up themselves.
* ❌ **None**: the gateway can't reach it.

| Tool | Model traffic via gateway | Enforcement fleet-wide | Guardrails and audit | MCP via gateway | Guide |
| - | - | - | - | - | - |
| **Claude Code** (CLI, VS Code) | ✅ [Docs](/docs/ai-gateway/claude-code) | ✅ [Docs](/docs/ai-gateway/claude-mdm) | ✅ [Docs](/docs/ai-gateway/claude-code#guardrails) | ✅ [Docs](/docs/ai-gateway/claude-mcp-governance#claude-code) | [Claude Code](/docs/ai-gateway/claude-code) |
| **Claude Desktop / Cowork** | ✅ [Docs](/docs/ai-gateway/claude-desktop), in third-party inference mode | ✅ [Docs](/docs/ai-gateway/claude-desktop#enforce-fleet-wide-via-mdm-managed-preferences) | ✅ [Docs](/docs/ai-gateway/claude-desktop#guardrails) | ✅ [Docs](/docs/ai-gateway/claude-mcp-governance#claude-desktop) | [Claude Desktop](/docs/ai-gateway/claude-desktop) |
| **OpenAI Codex CLI** | ✅ [Docs](/docs/ai-gateway/openai-codex-cli) | ✅ [Docs](/docs/ai-gateway/openai-codex-cli#fleet-wide-enforcement) | ✅ [Docs](/docs/ai-gateway/openai-codex-cli) | ✅ [Docs](/docs/ai-gateway/openai-codex-cli#fleet-wide-enforcement) | [Codex CLI](/docs/ai-gateway/openai-codex-cli) |
| **OpenCode** | ✅ [Docs](/docs/ai-gateway/opencode) | ✅ [Docs](/docs/ai-gateway/opencode#fleet-wide-enforcement) | ✅ [Docs](/docs/ai-gateway/opencode) | ✅ [Docs](/docs/ai-gateway/opencode#fleet-wide-enforcement) | [OpenCode](/docs/ai-gateway/opencode) |
| **Grok Build** | ✅ [Docs](/docs/ai-gateway/grok-build) | ✅ [Docs](/docs/ai-gateway/grok-build#fleet-wide-enforcement) | ✅ [Docs](/docs/ai-gateway/grok-build) | ✅ [Docs](/docs/ai-gateway/grok-build#fleet-wide-enforcement) | [Grok Build](/docs/ai-gateway/grok-build) |
| **Cline** | ✅ [Docs](/docs/ai-gateway/cline) | 🟡 Cline Enterprise, VS Code and JetBrains extensions only ([Docs](/docs/ai-gateway/cline#fleet-wide-enforcement)) | ✅ [Docs](/docs/ai-gateway/cline) | 🟡 Cline Enterprise, extensions only ([Docs](/docs/ai-gateway/cline#fleet-wide-enforcement)) | [Cline](/docs/ai-gateway/cline) |
| **Gemini CLI** | ✅ [Docs](/docs/ai-gateway/gemini-cli) | 🟡 base URL is an env var; can be pushed, not locked ([Docs](/docs/ai-gateway/gemini-cli#fleet-wide-enforcement)) | ✅ [Docs](/docs/ai-gateway/gemini-cli) | ✅ [Docs](/docs/ai-gateway/gemini-cli#fleet-wide-enforcement) | [Gemini CLI](/docs/ai-gateway/gemini-cli) |
| **Qwen Code CLI** | ✅ [Docs](/docs/ai-gateway/qwen-cli) | 🟡 env vars outrank the system settings file ([Docs](/docs/ai-gateway/qwen-cli#fleet-wide-enforcement)) | ✅ [Docs](/docs/ai-gateway/qwen-cli) | ✅ [Docs](/docs/ai-gateway/qwen-cli#fleet-wide-enforcement) | [Qwen Code](/docs/ai-gateway/qwen-cli) |
| **Goose** | ✅ [Docs](/docs/ai-gateway/goose) | 🟡 no managed config; env vars and a user file only ([Docs](/docs/ai-gateway/goose#fleet-wide-enforcement)) | ✅ [Docs](/docs/ai-gateway/goose) | 🟡 allowlist is an env var the user can unset ([Docs](/docs/ai-gateway/goose#fleet-wide-enforcement)) | [Goose](/docs/ai-gateway/goose) |
| **Cursor** | 🟡 Tab completions and some agent features stay on Cursor's backend ([Docs](/docs/ai-gateway/cursor)) | 🟡 base URL and key aren't covered by Cursor policies; hooks are ([Docs](/docs/ai-gateway/cursor#fleet-wide-enforcement)) | ✅ [Docs](/docs/ai-gateway/cursor#guardrails-using-cursor-hooks) | ✅ [Docs](/docs/ai-gateway/cursor#fleet-wide-enforcement) | [Cursor](/docs/ai-gateway/cursor) |
| **GitHub Copilot** (VS Code, CLI) | 🟡 inline completions always use GitHub's models ([Docs](/docs/ai-gateway/github-copilot)) | 🟡 BYOK settings aren't controlled by enterprise policy ([Docs](/docs/ai-gateway/github-copilot#fleet-wide-enforcement)) | ✅ [Docs](/docs/ai-gateway/github-copilot) | ✅ [Docs](/docs/ai-gateway/github-copilot#fleet-wide-enforcement) | [GitHub Copilot](/docs/ai-gateway/github-copilot) |
| **Roo Code** (discontinued) | ✅ [Docs](/docs/ai-gateway/roo-code) | 🟡 no admin config; vendor has shut the extension down ([Docs](/docs/ai-gateway/roo-code#fleet-wide-enforcement)) | ✅ [Docs](/docs/ai-gateway/roo-code) | 🟡 no admin controls ([Docs](/docs/ai-gateway/roo-code#fleet-wide-enforcement)) | [Roo Code](/docs/ai-gateway/roo-code) |
| **Claude Web** (claude.ai, mobile) | ❌ no endpoint setting; inference runs in Anthropic's cloud ([Docs](/docs/ai-gateway/claude-web)) | ❌ nothing to enforce on the device ([Docs](/docs/ai-gateway/claude-web)) | 🟡 allow/deny and audit via Inference Hooks or aitori; no cost or budgets ([Docs](/docs/ai-gateway/claude-web)) | ✅ [Docs](/docs/ai-gateway/claude-web#mcp-servers-on-web) | [Claude Web](/docs/ai-gateway/claude-web) |

## Three things that hold for every row

**MCP governance doesn't depend on model routing.** Every tool above can point remote MCP servers at the MCP Gateway, and those tool calls get allowlisting, per-user OAuth, tool-level RBAC, guardrails, and audit, even for the two apps whose model calls can't be governed at all. Most vendors now also ship an admin allowlist, so you can make the gateway the only MCP path, not just the recommended one.

**Who pays is decided by the credential that reaches the vendor, not by the tool.** With an API key on the gateway's model account, every request is billed per token to that key and the user's subscription is untouched. Claude Code and Codex CLI can instead forward the user's own login so a seat pays; see [Authentication and who pays](/docs/ai-gateway/claude-code#authentication-and-who-pays).

**Partial enforcement still means full governance for the users who set it up.** The gap is enforcement: a developer can remove the setting and talk to the vendor directly. Where that matters, block the vendor's API endpoints from managed devices with network policy so the gateway is the only path that works, and prefer the tools in the top half of the table for new rollouts.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.