Skip to main content
Umgebungsvariablen können das Verhalten von Claude Code steuern, z. B. Modellauswahl, Authentifizierung, Anfragerouting und Funktionsschalter. Viele der gleichen Verhaltensweisen können auch über ein Einstellungsfeld, ein CLI-Flag oder einen In-Session-Befehl wie /model konfiguriert werden. Diese Seite behandelt folgende Themen:

Umgebungsvariablen festlegen

Eine Variable, die Sie in Ihrer Shell festlegen, gilt für diese Terminalsitzung, während eine Variable in einer Einstellungsdatei jedes Mal gilt, wenn claude ausgeführt wird.

In Ihrer Shell

Legen Sie die Variable vor dem Starten von claude fest:
Um sie für jede Sitzung festzulegen, fügen Sie die export-Zeile zu ~/.bashrc, ~/.zshrc oder der Profilldatei Ihrer Shell hinzu.
Die Zuweisungszeile gibt bei erfolgreicher Ausführung nichts aus. Bestätigen Sie daher, dass die Variable festgelegt ist, indem Sie sie in derselben Shell ausdrucken, bevor Sie claude ausführen:

In Einstellungsdateien

Fügen Sie Variablen unter dem Schlüssel env in einer settings.json-Datei hinzu und erstellen Sie die Datei, falls sie nicht vorhanden ist. Claude Code liest sie direkt aus der Datei, sodass sie wirksam werden, unabhängig davon, wie claude gestartet wurde. Eine laufende Sitzung wendet neue und geänderte Werte auf ihre Umgebung an, wenn Sie die Datei speichern. Ein Feature, das seine Variablen einmalig beim Start liest, wie z. B. OpenTelemetry-Überwachung, behält seine Startwerte bei, bis Sie neu starten. Das Entfernen einer Variable aus der Datei hebt sie in einer laufenden Sitzung nicht auf. Die Entfernung wird wirksam, wenn Sie claude das nächste Mal starten.
~/.claude/settings.json
Die Datei, die Sie wählen, bestimmt, für wen die Variablen gelten: Siehe Einstellungsdateien für den Speicherort jeder Datei und Einstellungspriorität für die Kombination, wenn mehr als eine dieselbe Variable festlegt.

Vorrang

Einige Verhaltensweisen haben sowohl eine Umgebungsvariable als auch einen dedizierten Einstellungsschlüssel, und welche Claude Code zuerst liest, unterscheidet sich je nach Schlüssel. Für ANTHROPIC_MODEL und CLAUDE_CODE_AUTO_CONNECT_IDE liest Claude Code zuerst die Variable und verwendet die Einstellung model oder autoConnectIde nur, wenn die Variable nicht gesetzt ist. Für das Paar, das Sie einstellen, überprüfen Sie die Zeile der Variable unten und den Eintrag des Schlüssels in der Einstellungsreferenz. Wenn dieselbe Variable sowohl in Ihrer Shell als auch in einem Einstellungsdatei-env-Block gesetzt ist, gilt der Wert der Einstellungsdatei. Claude Code schreibt jeden env-Eintrag in die Prozessumgebung und ersetzt den Wert, der von der Shell geerbt wird. Die env-Einstellung gibt an, wann sie angewendet werden. Einige Variablen sind Sonderfälle; die env-Einstellung listet die Ausnahmen auf. In einer Einstellungsdatei können Sie eine Variable setzen, aber Sie können sie nicht entfernen. Um eine Variable zu überschreiben, die Sie nicht aufheben können, z. B. eine veraltete CLAUDE_CODE_USE_VERTEX, die von einem Shell-Profil exportiert wird, das Sie nicht kontrollieren, setzen Sie sie im env-Block auf eine leere Zeichenkette: "CLAUDE_CODE_USE_VERTEX": "". Claude Code behandelt den leeren Wert als nicht gesetzt für die Anbieterauswahl. Unterprozesse erben weiterhin den leeren Wert. Zwischen Einstellungsdateien folgen env-Werte dem Einstellungsvorrang, sodass ein verwalteter Einstellungseintrag dieselbe Variable in Benutzer- oder Projekteinstellungen überschreibt. Projekt- und lokale Einstellungen können einige Variablen nicht setzen, z. B. CLAUDE_CONFIG_DIR und die OpenTelemetry-Exporter-Variablen. Variablen, die Claude Code in env ignoriert listet sie auf, zusammen mit den OpenTelemetry-Ausschaltungswerten, die weiterhin gelten. Wie eine Umgebungsvariable mit CLI-Flags und In-Session-Befehlen interagiert, variiert je nach Funktion: --model und /model überschreiben ANTHROPIC_MODEL, während CLAUDE_CODE_EFFORT_LEVEL --effort und /effort überschreibt. Wenn eine Variable mit einer anderen Konfigurationsquelle interagiert, gibt ihre Zeile in der Liste Variablen den Vorrang an oder verlinkt auf die Seite, die ihn dokumentiert. Claude Code liest Shell-Umgebungsvariablen beim Start, sodass Änderungen daran beim nächsten Start von claude wirksam werden. Variablen, die unter dem env-Schlüssel in Einstellungsdateien gesetzt sind, werden erneut auf eine laufende Sitzung angewendet, wenn sich die Datei ändert, mit der Ausnahme beim Start, die in In Einstellungsdateien beschrieben ist.

Variablen

Numerische Variablen wie Timeouts, Token-Budgets und Wiederholungsanzahlen akzeptieren wissenschaftliche Notation und Zifferntrennzeichen zusätzlich zu einfachen Ziffern, außer wo in der Zeile einer Variablen vermerkt ist, dass sie nur einfache Ziffern akzeptiert. Zum Beispiel liest Claude Code 2e3 als 2000 und 64_000 als 64000. Vor v2.1.211 konnten diese Schreibweisen stillschweigend einen viel kleineren Wert setzen, wie 1e6 das Timeout auf 1 setzen.
Für Variablen, die ein Verhalten ein- oder ausschalten, setzen Sie 1 oder true, um es einzuschalten, und 0 oder false, um es auszuschalten, in beliebiger Schreibweise.Einige Variablen lesen nur, ob Sie sie überhaupt gesetzt haben, daher schaltet jeder nicht-leere Wert einschließlich 0 das Verhalten ein, und Sie schalten das Verhalten aus, indem Sie die Variable nicht setzen oder auf einen leeren Wert setzen. Diese Variablen funktionieren so:
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
  • DISABLE_TELEMETRY
  • DISABLE_ERROR_REPORTING
  • CLAUDE_CODE_TMUX_TRUECOLOR
  • FALLBACK_FOR_ALL_PRIMARY_MODELS
  • IS_DEMO
Eine andere Variable hat ihre eigene Regel: FORCE_HYPERLINK liest eine Zahl, daher schaltet nur 0 sie aus. Jede Zeile einer Variablen gibt auch ihre eigene Regel an.
Standard-OpenTelemetry-Exporter-Variablen (OTEL_METRICS_EXPORTER, OTEL_LOGS_EXPORTER, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_HEADERS, OTEL_METRIC_EXPORT_INTERVAL, OTEL_RESOURCE_ATTRIBUTES und Signal-spezifische Varianten) werden auch unterstützt. Siehe Monitoring für Konfigurationsdetails. Setzen Sie CLAUDE_CODE_ENABLE_TELEMETRY und die OpenTelemetry-Variablen, die Export einschalten, sein Ziel wählen oder Inhalt erfassen, in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Claude Code ignoriert sie in Projekt- und lokalen Einstellungen, außer den Off-Werten, die dieser Abschnitt beschreibt. OTEL_RESOURCE_ATTRIBUTES und die Export-Intervall-, Timeout- und Kompressions-Variablen, wie OTEL_METRIC_EXPORT_INTERVAL, gelten immer noch aus Projekt- und lokalen Einstellungen.

Funktionen, die das Abrufen von Feature-Flags erfordern

Claude Code aktiviert einige Funktionen durch Feature-Flags, die von Anthropic abgerufen werden. Claude Code überspringt diesen Abruf in diesen Sitzungen:
  • Eine Sitzung, in der Sie DISABLE_GROWTHBOOK, DISABLE_TELEMETRY, DO_NOT_TRACK oder CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC setzen; die Zeile jeder Variablen in der Variablentabelle gibt an, welche Werte das Abrufen deaktivieren
  • Eine Sitzung auf einem Drittanbieter-Provider, wie Amazon Bedrock, Claude Platform auf AWS, Google Clouds Agent Platform oder Microsoft Foundry, es sei denn, eine Host-Plattform, die Claude Code einbettet, setzt CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST
  • Eine Claude-Apps-Gateway-Sitzung
Wenn das Abrufen deaktiviert ist, können Sie nicht:

Erste Sitzung nach einer Installation oder einem Upgrade

In Ihrer ersten Sitzung nach der Installation von Claude Code oder dem Upgrade auf eine Version, die eine Funktion hinzufügt, kann eine Flag-gesteuerte Funktion fehlen. Diese Sitzung kann auch in einem anderen Berechtigungsmodus starten als Ihre späteren Sitzungen. Claude Code ruft die Flags während dieser Sitzung ab, sodass Ihre nächste Sitzung die Funktion und den üblichen Startberechtigungsmodus hat. Nach einer Neuinstallation kann Claude Code in einer nicht-interaktiven Sitzung wie claude -p, dem Agent SDK oder der VS Code-Erweiterung die Flags immer noch abrufen, bevor es den Startberechtigungsmodus wählt.

Siehe auch