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

# Claude Cowork

> Point Claude Cowork at FlexInference through its gateway mode.

Cowork reaches a third-party endpoint through gateway mode. The gateway must implement the Anthropic Messages API, which we run at `POST /v1/messages`.

Cowork gives you nowhere to set `start_within`, so the deadline goes on the key. Create one first (see [agent keys](/agent-keys)).

A duration races Claude's cheaper tier on managed keys, without streaming, inside a window of three to ten minutes. An interactive session streams, so pick a tier here rather than **Flex race**. See [Claude durations need a longer window](/deadline-routing#claude-durations-need-a-longer-window).

Your organization has to be able to run Anthropic before you start. On your own keys that means an Anthropic provider key on the **Provider keys** tab, because we don't resell inference. On [Managed Keys](/billing#managed-keys) it means Anthropic turned on and funded.

Cowork keeps these settings behind menus, so this page has no agent setup prompt. Use **Export** below to push the same configuration across a fleet.

## Enable developer mode

The **Developer** menu stays hidden until you turn it on.

1. Open Claude Desktop.
2. Go to **Help**, then **Troubleshooting**.
3. Press **Enable Developer Mode**.

**Developer** then appears in the menu bar.

## Configure Cowork

1. Go to **Developer**, then **Configure Third-Party Inference...**.

2. Set **Inference provider** to **Gateway**.

3. Set **Gateway base URL** to the router, with no `/v1` suffix.

   ```text theme={null}
   https://api.flexinference.com
   ```

4. Paste your agent key into **Gateway API key**.

5. Leave **Credential kind** on **Static API key**.

6. Leave **Gateway auth scheme** on **Bearer**. We refuse `x-api-key`.

7. Pick a `claude-*` model in the model picker.

Cowork reads our `GET /v1/models` response to fill the picker. It lists only models it recognizes as Claude, which is what you want here.

## Deploy across a fleet

Click **Export** in the same window for a `.mobileconfig` on macOS or a `.reg` on Windows, then push it with your MDM.

Three keys hold the integration.

| Key                          | Value                           |
| ---------------------------- | ------------------------------- |
| `inferenceGatewayBaseUrl`    | `https://api.flexinference.com` |
| `inferenceGatewayApiKey`     | your agent key                  |
| `inferenceGatewayAuthScheme` | `bearer`, which is the default  |

Set `inferenceModels` to an explicit list only if the picker misses a model you expect.

## Leave the beta features off

Cowork turns Claude Code's experimental beta features off by default, because strict gateways reject the `anthropic-beta` headers and request fields they add. We're one of those gateways, and we don't forward those headers.

Leave `toolSearchEnabled` unset for the same reason. Turning it on sends beta headers we don't forward, and requests then fail.

## Confirm the key applied

Every response comes with `x-flexinference-defaults-applied`. Cowork doesn't show response headers, so read the request in the dashboard under **Logs** instead.

## Troubleshooting

**There is no Developer menu.** Developer mode is off, and it hides the menu entirely. Turn it on under **Help**, then **Troubleshooting**, then **Enable Developer Mode**.

**[`401 missing_api_key`](/errors#missing_api_key).** **Gateway auth scheme** is set to **x-api-key**, which we don't read. Switch it to **Bearer**.

**The model picker is empty.** Cowork filters `GET /v1/models` down to ids it recognizes as Claude. Confirm your organization can run `claude-*` models, or set `inferenceModels` yourself.

**`400` on every request after enabling tool search.** `toolSearchEnabled` makes Cowork send experimental `anthropic-beta` headers and fields that we don't forward. Leave it unset.

**[`400 unsupported_parameter`](/errors#unsupported_parameter) naming `output_config`.** The picker selected a non-Claude model, and Cowork sends Anthropic-native fields we refuse to mistranslate. Pick a `claude-*` model.

See [errors](/errors) for every refusal we return, [agent keys](/agent-keys#troubleshooting-faq) for the ones that are not specific to Cowork, and [Claude Code](/claude-code) for the terminal client.
