Claude Cowork
Claude Cowork sends model inference through a Tetrate Agent Router gateway in third-party inference mode. tare integrate claude-cowork writes the gateway config from the logged-in session.
Persona: Developer running Claude Cowork in Claude Desktop against an Agent Router gateway.
Estimated time: 10 minutes.
Outcomes
By the end of this guide:
- Claude Desktop is configured for third-party inference through the Agent Router gateway.
- A
tare integrate claude-coworkapply has written theconfigLibraryentry and set it active, or the same values were entered in the Developer dialog by hand. - Cowork traffic appears in Request Logs with
X-Title: Claude-CoworkandX-Provider: Tetrate AgentRouter.
Prerequisites
-
Claude Desktop with Cowork installed from claude.ai/download.
-
The
tareCLI installed and authenticated:curl -fsSL https://tare.tetrate.ai/tools/install.sh | bashtare --versiontare api login --base-url https://api.example.tetrate.aiLogin can be skipped on integrate by passing
--gateway-url,--api-key, and--modelexplicitly, but then nothing is reused from the account. -
A dataplane id for the gateway to route through. After
tare api login, list dataplanes:tare integrate dataplanesExample output:
DATAPLANE NAME GATEWAY URLacme-prod Acme Production https://acme-prod.gateway.example.comacme-dev Acme Dev https://acme-dev.gateway.example.com--dataplanetakes the workspace id from the DATAPLANE column (for exampleacme-prod), not the display name in NAME. -
Claude Desktop launched at least once on the machine so the
Claude-3puser-data directory exists. Without it,tare integratereports that auto-config is unavailable.
Claude Cowork through Agent Router runs in gateway mode only: the Agent Router inference key authenticates every request as Authorization: Bearer, and inference is billed through Agent Router.
Passthrough mode (keeping a Claude Max or Pro subscription as the billing path while the gateway routes and observes traffic) is supported for Claude Code via tare integrate claude-code --passthrough. It is not supported for Claude Cowork.
Step 1: configure with tare integrate (recommended)
After tare api login, preview then apply:
tare integrate dataplanes
tare integrate claude-cowork --dry-run --dataplane <dataplane-id>
tare integrate claude-cowork --dataplane <dataplane-id> --yes
--dry-run prints the planned changes with the API key masked and writes no files.
On apply, the CLI:
- Registers a third-party inference entry named
Tetrate AgentRouterin the Claude DesktopconfigLibrary. - Sets
inferenceProvidertogateway,inferenceCredentialKindtostatic, and writes the Agent Router inference key asinferenceGatewayApiKey. - Points
appliedIdinconfigLibrary/_meta.jsonat that entry so it becomes active on relaunch. - Validates the key with
GET /v1/modelsusingAuthorization: Bearer <key>.
Config files are written under the Claude Desktop user-data directory:
| Platform | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude-3p/configLibrary/ |
| Linux | ${XDG_CONFIG_HOME:-~/.config}/Claude-3p/configLibrary/ |
| Windows | %LOCALAPPDATA%\Claude-3p\configLibrary\ |
The entry file is 6167656e-7472-4000-8000-6f7574657200.json; _meta.json indexes it alongside any other saved configurations.
If Claude Desktop is running when apply runs, the CLI prints a warning. Quit Claude Desktop (Cmd+Q on macOS, File then Quit on Windows) before applying, because the app reads configLibrary only at launch.
Step 2: relaunch and continue with Gateway
After apply, quit Claude Desktop completely and reopen it. On the sign-in screen, select Continue with Gateway. The selector shows Local configuration; Anthropic account sign-in is not required for gateway inference.

Step 3: manual configuration (fallback)
Where tare integrate cannot write files, or the in-app path is preferred, configure third-party inference in Claude Desktop directly.
Enable Developer Mode
In Claude Desktop, go to Help, then Troubleshooting, then Enable Developer Mode.

Open third-party inference settings
Go to Developer, then Configure Third-Party Inference. Choose Gateway as the inference provider.

Enter gateway settings
| Field | Value |
|---|---|
| Gateway base URL | GATEWAY URL from tare integrate dataplanes (scheme and host only, no /v1 suffix) |
| Gateway API key | Inference key minted or reused by tare integrate claude-cowork on apply |
| Gateway auth scheme | bearer |
| Gateway extra headers | X-Title: Claude-Cowork, X-Provider: Tetrate AgentRouter |
| Models | A Claude model from the catalog (for example claude-sonnet-5), or leave empty for model discovery |

Click Apply locally, then relaunch when prompted.
Run tare integrate claude-cowork --dataplane <dataplane-id> --yes to mint or reuse an inference key and print paste-ready values when auto-config cannot write files (or after declining the write prompt). Keys can also be created in the Console under API Keys; see Make an API call.
Verify
Send a prompt in Cowork. In Claude Desktop, enable Developer Mode (Help, then Troubleshooting, then Enable Developer Mode), then open Developer, Developer Console, Request Logs. Cowork requests appear as Anthropic Messages traffic with headers such as X-Title: Claude-Cowork and X-Provider: Tetrate AgentRouter.

Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
Auto-config unavailable; Claude-3p directory missing | Claude Desktop never launched on this machine | Launch Claude Desktop once, then re-run tare integrate claude-cowork |
| Gateway option missing after apply | Claude Desktop was not fully quit before relaunch | Quit completely (Cmd+Q or File then Quit), reopen, select Continue with Gateway |
| Standard claude.ai sign-in screen instead of gateway | Third-party inference config was not read | Confirm configLibrary/_meta.json has the expected appliedId; fully quit and relaunch |
| Validation warning after apply | Wrong dataplane, revoked key, or unreachable gateway | Re-run with --dry-run, confirm --dataplane id and GATEWAY URL, then re-run with --yes to mint and write a fresh key |
| Manual steps not printed | Confirm prompt declined | Re-run with --yes to print paste-ready values including the API key |
Where to go next