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

> Verbinden Sie Claude Code mit FlexInference über einen Agent-Schlüssel, der die Deadline enthält.

Claude Code verwendet die Anthropic Messages API. Wir betreiben diese API unter `POST /v1/messages`, daher sind eine Basis-URL und ein Schlüssel die gesamte Integration.

Claude Code bietet keine Möglichkeit, `start_within` festzulegen, daher wird die Deadline auf dem Schlüssel hinterlegt. Erstellen Sie zuerst einen (siehe [Agent-Schlüssel](/de/agent-keys)).

Eine Dauer konkurriert mit Claudes günstigerer Stufe bei Managed Keys, ohne Streaming, innerhalb eines Zeitfensters von drei bis zehn Minuten. Eine interaktive Sitzung streamt, wählen Sie hier eine Stufe. Eine Schlüssel-Dauer funktioniert trotzdem, da sie auf eine Stufe zurückfällt, anstatt fehlzuschlagen. Siehe [Claude-Dauern benötigen ein längeres Zeitfenster](/de/deadline-routing).

Ihre Organisation muss Anthropic ausführen können, bevor Sie beginnen. Bei Ihren eigenen Schlüsseln bedeutet dies einen Anthropic Provider Key auf der Registerkarte **Provider keys**, da wir keine Inferenz weiterverkaufen. Bei [Managed Keys](/de/billing) bedeutet dies, dass Anthropic aktiviert und finanziert ist.

## Dies mit einem Agent einrichten

Öffnen Sie den folgenden Block und kopieren Sie ihn in einen beliebigen Coding Agent. Die Eingabeaufforderung fragt niemals nach Ihrem API-Schlüssel: Der Agent konfiguriert alles andere und gibt dann die eine Exportzeile aus, die Sie selbst ausführen können.

<Accordion title="Agent-Setup-Prompt kopieren">
  ```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>

## Claude Code konfigurieren

1. Erstellen oder öffnen Sie `~/.claude/settings.json`. Eine projektbezogene Datei unter `.claude/settings.json` funktioniert auf die gleiche Weise.
2. Fügen Sie einen `env`-Block hinzu, der den Router, Ihren Schlüssel und beide Modelle benennt.

```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. Starten Sie Claude Code.

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

Exportieren Sie stattdessen dieselben Variablen in Ihrer Shell, um das Geheimnis nicht in einer Datei zu speichern.

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

Vier Regeln sorgen dafür, dass dies funktioniert.

**Lassen Sie das Suffix `/v1` weg.** Claude Code hängt `/v1/messages` selbst an die Basis-URL an.

**Verwenden Sie `ANTHROPIC_AUTH_TOKEN`, niemals `ANTHROPIC_API_KEY`.** Ersteres sendet `Authorization: Bearer`, was wir benötigen. Letzteres sendet `x-api-key`, was wir ablehnen.

**Setzen Sie `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` auf `1`.** Andernfalls sendet Claude Code experimentelle Beta-Felder wie `context_management`. Wir leiten die `anthropic-beta`-Header, die diese Felder benötigen, nicht weiter, sodass jede Anfrage fehlschlägt.

**Setzen Sie beide Modellvariablen.** Claude Code führt ein großes Hauptschleifenmodell und ein kleines Hintergrundmodell mit einem Schlüssel aus. Beide müssen `claude-*`-Slugs sein.

## Bestätigen, dass der Schlüssel angewendet wurde

Jede Antwort enthält `x-flexinference-defaults-applied`. Claude Code zeigt keine Antwort-Header an, lesen Sie stattdessen die Anfrage im Dashboard unter **Logs**.

## Fehlerbehebung

**`400 context_management: Extra inputs are not permitted`.** Claude Code hat ein experimentelles Beta-Feld gesendet, und wir leiten den benötigten `anthropic-beta`-Header nicht weiter. Setzen Sie `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` und starten Sie eine neue Sitzung. Dasselbe Flag behebt jede andere `Extra inputs are not permitted`-Ablehnung, die ein Beta-Feld benennt.

**[`401 missing_api_key`](/de/errors#missing_api_key).** Sie haben `ANTHROPIC_API_KEY` gesetzt, daher hat der Client `x-api-key` gesendet, was wir nicht lesen. Setzen Sie stattdessen `ANTHROPIC_AUTH_TOKEN` und entfernen Sie `ANTHROPIC_API_KEY`.

**[`400 unsupported_parameter`](/de/errors#unsupported_parameter) mit dem Namen `output_config`.** Eine Modellvariable verweist auf einen Nicht-Claude-Slug, und Claude Code sendet Anthropic-native Felder, die wir nicht übersetzen können. Setzen Sie beide Modellvariablen auf `claude-*`-Slugs.

**[`404 unknown_url`](/de/errors#unknown_url) mit dem Namen `/v1/messages/count_tokens`.** Wir routen diesen Pfad nicht. Ein `claude -p`-Lauf ruft ihn niemals auf, obwohl eine interaktive Sitzung dies tun könnte.

**Jede Anfrage verbraucht ein volles Retry-Budget.** Claude Code führt Retries eigenständig durch, und eine `retry`-Richtlinie auf dem Schlüssel addiert sich dazu. Lassen Sie `retry` auf einem Schlüssel, den dieser Client verwendet, ungesetzt.

Siehe [Fehler](/de/errors) für jede von uns zurückgegebene Ablehnung und [Agent-Schlüssel](/de/agent-keys) für diejenigen, die nicht spezifisch für Claude Code sind.
