> ## 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 Code

> Dirija Claude Code a FlexInference con una clave de agente que incluya el plazo.

Claude Code utiliza la API de Anthropic Messages. Ejecutamos esa API en `POST /v1/messages`, por lo que una URL base y una clave son toda la integración.

Claude Code no ofrece un lugar para configurar `start_within`, por lo que el plazo se establece en la clave. Cree una primero (consulte [claves de agente](/es/agent-keys)).

Una duración compite con el nivel más económico de Claude en claves gestionadas, sin streaming, dentro de una ventana de tres a diez minutos. Una sesión interactiva transmite (en streaming), así que elija un nivel aquí. Una duración de clave sigue funcionando de cualquier manera, porque recurre a un nivel en lugar de fallar. Consulte [Las duraciones de Claude necesitan una ventana más larga](/es/deadline-routing).

Su organización debe poder ejecutar Anthropic antes de empezar. Con sus propias claves, esto significa una clave de proveedor de Anthropic en la pestaña **Provider keys**, ya que no revendemos inferencia. Con [Managed Keys](/es/billing), significa que Anthropic está activado y financiado.

## Configúrelo con un agente

Abra el bloque siguiente y cópielo en cualquier agente de codificación. El prompt nunca le pedirá su clave de API: el agente configura todo lo demás y luego imprime la línea de exportación para que la ejecute usted mismo.

<Accordion title="Copiar prompt de configuración del agente">
  ```text theme={null}
  Configure Claude Code to send its requests to FlexInference, which serves the Anthropic Messages API.

  You will never see or handle my API key. Claude Code reads it from the `ANTHROPIC_AUTH_TOKEN` environment variable, and I export that myself. Do not ask me for the key, do not write it into any file, and do not read it from my environment.

  Ask me whether to configure this globally or for one project, then edit `~/.claude/settings.json` or `.claude/settings.json` accordingly. Create the file if it does not exist, and preserve every setting already in it.

  Add this `env` block, merging into any existing `env` rather than replacing it. Note that it carries no credential:

  {
    "env": {
      "ANTHROPIC_BASE_URL": "https://api.flexinference.com",
      "ANTHROPIC_MODEL": "claude-opus-5",
      "ANTHROPIC_SMALL_FAST_MODEL": "claude-haiku-4-5",
      "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
    }
  }

  Then print this line for me to run in the shell I start Claude Code from. Do not run it and do not ask for the value:

  export ANTHROPIC_AUTH_TOKEN=<paste your key here>

  Rules that matter, do not deviate:
  - `ANTHROPIC_BASE_URL` must NOT end in `/v1`. Claude Code appends `/v1/messages` itself.
  - The credential must arrive as `ANTHROPIC_AUTH_TOKEN`, never `ANTHROPIC_API_KEY`. The first sends `Authorization: Bearer`, which FlexInference requires. The second sends `x-api-key`, which it refuses with `401 missing_api_key`.
  - Both model variables must be `claude-*` slugs. Claude Code sends Anthropic-native fields such as `output_config` on every request, and FlexInference refuses to mistranslate them onto a non-Claude model.
  - `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` must be `"1"`. Without it Claude Code sends experimental beta fields such as `context_management`, FlexInference does not forward the `anthropic-beta` headers they need, and every request fails with `400 context_management: Extra inputs are not permitted`.
  - Do not add a retry setting. Claude Code retries on its own and my key may carry its own policy.

  Finally, tell me that Anthropic must be servable on my FlexInference organization. On BYOK that means an Anthropic provider key on the API, then Provider keys tab. On Managed Keys it means Anthropic enabled and funded. Then start a new Claude Code session and report what you changed.
  ```
</Accordion>

## Configurar Claude Code

1. Cree o abra `~/.claude/settings.json`. Un archivo por proyecto en `.claude/settings.json` funciona de la misma manera.
2. Agregue un bloque `env` que nombre el enrutador, su clave y ambos modelos.

```json theme={null}
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.flexinference.com",
    "ANTHROPIC_AUTH_TOKEN": "flex_live_...",
    "ANTHROPIC_MODEL": "claude-opus-5",
    "ANTHROPIC_SMALL_FAST_MODEL": "claude-haiku-4-5",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}
```

3. Inicie Claude Code.

```bash theme={null}
claude
```

Exporte las mismas variables en su shell en su lugar, para mantener el secreto fuera de un archivo.

```bash theme={null}
export ANTHROPIC_BASE_URL=https://api.flexinference.com
export ANTHROPIC_AUTH_TOKEN=flex_live_...
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
```

Cuatro reglas hacen que esto funcione.

**Omita el sufijo `/v1`.** Claude Code añade `/v1/messages` a la URL base por sí mismo.

**Use `ANTHROPIC_AUTH_TOKEN`, nunca `ANTHROPIC_API_KEY`.** El primero envía `Authorization: Bearer`, que requerimos. El segundo envía `x-api-key`, que rechazamos.

**Establezca `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` en `1`.** De lo contrario, Claude Code envía campos beta experimentales como `context_management`. No reenviamos los encabezados `anthropic-beta` que esos campos necesitan, por lo que cada solicitud falla.

**Establezca ambas variables de modelo.** Claude Code ejecuta un modelo grande de bucle principal y un modelo pequeño en segundo plano con una sola clave. Ambos deben ser slugs `claude-*`.

## Confirme que la clave se aplicó

Cada respuesta viene con `x-flexinference-defaults-applied`. Claude Code no muestra los encabezados de respuesta, así que consulte la solicitud en el panel de control, en **Logs**, en su lugar.

## Solución de problemas

**`400 context_management: Extra inputs are not permitted`.** Claude Code envió un campo beta experimental y no reenviamos el encabezado `anthropic-beta` que necesita. Establezca `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` e inicie una nueva sesión. La misma bandera elimina cualquier otro rechazo de `Extra inputs are not permitted` que nombre un campo beta.

**[`401 missing_api_key`](/es/errors#missing_api_key).** Ha configurado `ANTHROPIC_API_KEY`, por lo que el cliente envió `x-api-key`, que no leemos. Configure `ANTHROPIC_AUTH_TOKEN` en su lugar y desconfigure `ANTHROPIC_API_KEY`.

**[`400 unsupported_parameter`](/es/errors#unsupported_parameter) nombrando `output_config`.** Una variable de modelo apunta a un slug que no es de Claude, y Claude Code envía campos nativos de Anthropic que nos negamos a traducir incorrectamente. Establezca ambas variables de modelo en slugs `claude-*`.

**[`404 unknown_url`](/es/errors#unknown_url) nombrando `/v1/messages/count_tokens`.** No enrutamos esa ruta. Una ejecución de `claude -p` nunca la llama, aunque una sesión interactiva podría hacerlo.

**Cada solicitud agota un presupuesto completo de reintentos.** Claude Code reintenta por sí mismo, y una política de `retry` de la clave se acumula con ella. Deje `retry` sin configurar en una clave que use este cliente.

Consulte [errors](/es/errors) para ver cada rechazo que devolvemos, y [agent keys](/es/agent-keys) para aquellos que no son específicos de Claude Code.
