options-Objekt, das Sie beim Starten übergeben. Diese Seite zeigt, wie Sie das options-Objekt zusammenstellen und welche Einstellungsdateien und Umgebungsvariablen die Kontrolle übernehmen.
Für jeden Optionstyp und Standard siehe die Options (TypeScript) und ClaudeAgentOptions (Python) Referenzen.
Optionen an eine Sitzung übergeben
Jederquery()-Aufruf akzeptiert ein Optionsobjekt: Options in TypeScript, ClaudeAgentOptions in Python. Jedes Feld ist optional, und eine Sitzung, die ohne Optionen gestartet wird, läuft mit den SDK-Standardwerten. Das folgende Beispiel konfiguriert eine schreibgeschützte Sitzung, die die offenen TODOs eines Projekts zusammenfasst. Paare lesen sich als TypeScript / Python, wo sich die Schreibweisen unterscheiden:
model: wählt das ModellallowedTools/allowed_tools: genehmigt vorab eine schreibgeschützte WerkzeuglistemaxTurns/max_turns: begrenzt die Anzahl der Zügecwd: legt das Arbeitsverzeichnis fest
cwd auf eines Ihrer eigenen Projekte und führen Sie das Beispiel aus. Die Zusammenfassung der offenen TODOs dieses Projekts wird gedruckt, wenn die Ergebnismeldung ankommt.
allowedTools (TypeScript) oder allowed_tools (Python) genehmigt die aufgelisteten Werkzeuge vorab, sodass Aufrufe an sie ohne Genehmigung ausgeführt werden. Werkzeuge außerhalb der Liste bleiben verfügbar. Wenn Claude ein nicht aufgelistetes Werkzeug aufruft, entscheidet der Genehmigungsmodus, ob der Aufruf ausgeführt wird. Weitere Informationen finden Sie unter Allow and deny rules.
Einstellungsdateien laden
Einstellungsdateien liefern Konfigurationen über das Optionsobjekt hinaus. Zwei Optionen steuern, wie sie geladen werden:settingSources/setting_sources: steuert, welche Dateisystemquellen geladen werden: Benutzer, Projekt und lokal. Einstellungsdateien und CLAUDE.md-Dateien kommen durch diese Quellen an.settings: lädt einen Einstellungsdateipfad oder eine Inline-JSON-Zeichenkette in beiden Sprachen, und TypeScript akzeptiert auch ein Einstellungsobjekt. Welche Form Sie auch übergeben, sie überschreibt Benutzer-, Projekt- und lokale Dateisystemeinstellungen; nur verwaltete Richtlinieneinstellungen haben einen höheren Rang. Die Referenzen dokumentieren die vollständige Rangfolge unter Settings precedence für TypeScript und Settings precedence für Python.
[], um Benutzer-, Projekt- und lokale Einstellungen zu deaktivieren. Weitere Informationen finden Sie unter Use Claude Code features in the SDK.
Wählen Sie ein Modell
Wenn diemodel-Option, Ihre Einstellungen oder Ihre Umgebung kein Modell auswählen, startet eine neue Sitzung auf Claude Code’s default model. Für die Reihenfolge dieser Quellen siehe Setting your model. Setzen Sie model, um ein bestimmtes Modell festzulegen, oder wählen Sie ein kleineres für schnellere, günstigere Agenten. Der Wert nimmt einen Modellalias oder einen vollständigen Modellnamen an; Aliase und die Versionen, zu denen sie aufgelöst werden, sind unter Model aliases aufgelistet.
Setzen Sie fallbackModel (TypeScript) oder fallback_model (Python), um ein Sicherungsmodell zu benennen. Wenn das primäre Modell überlastet oder nicht verfügbar ist, wechselt die Sitzung zum Sicherungsmodell. Das primäre Modell wird zu Beginn jedes Benutzerzugs erneut versucht, sodass die Sitzung zu ihm zurückkehrt, sobald der Ausfall vorbei ist.
In beiden Sprachen akzeptiert die Option ein einzelnes Modell oder eine kommagetrennte Liste von Sicherungen. Für die Reihenfolge und die Kettenbegrenzung siehe Fallback model chains. In TypeScript wirft ein Fallback gleich model einen Fehler beim Start.
Die folgenden Beispiele zeigen eine Fallback-Liste in TypeScript und ein einzelnes Fallback in Python:
Die Messages API Anfrageparameter
temperature, top_p und max_tokens haben keine Felder auf dem Optionsobjekt in beiden Sprachen. Setzen Sie stattdessen die effort level oder ein spend cap, oder rufen Sie die Messages API auf, wenn Sie diese Parameter direkt benötigen.Umgebungsvariablen setzen
Dieenv-Option setzt Umgebungsvariablen für den Claude Code-Prozess, der Ihre Sitzung ausführt. Ob Ihre Werte die geerbte Umgebung ersetzen oder sich über sie hinweg zusammensetzen, unterscheidet sich je nach Sprache:
- TypeScript:
enversetzt die Subprozessumgebung - Python: das SDK setzt Ihre Werte über die geerbte Umgebung zusammen, und Ihre Werte überschreiben die geerbten
process.env in env, um geerbte Variablen wie PATH, HOME und ANTHROPIC_API_KEY zu behalten. Wenn Sie env nicht setzen, erbt der Subprozess Ihre Umgebung in beiden Sprachen.
Das Beispiel leitet API-Verkehr durch ein Gateway, indem es ANTHROPIC_BASE_URL setzt.
Legen Sie das Arbeitsverzeichnis fest
Setzen Siecwd, um die Sitzung in einem bestimmten Verzeichnis auszuführen. Wenn Sie cwd nicht setzen, läuft die Sitzung im Arbeitsverzeichnis Ihres Prozesses. Keines der SDKs hat einen Setter für cwd. Um in einem anderen Verzeichnis auszuführen, starten Sie eine weitere Sitzung mit diesem cwd.
Claude Code liest das Arbeitsverzeichnis, um Folgendes zu bestimmen:
- Projekteinstellungen und Hooks: welche Projekteinstellungen und Hooks geladen werden](/de/agent-sdk/claude-code-features)
- Skills: wo session skills are discovered
- Sitzungsspeicher: zu welchem Projekt eine stored session belongs to
additionalDirectories (TypeScript) oder add_dirs (Python) hinzu. Für den Umfang dieser Berechtigung siehe Additional directories grant file access, not configuration.
Begrenzen Sie Züge und Ausgaben
Begrenzen Sie Züge und Ausgaben mitmaxTurns / max_turns und maxBudgetUsd / max_budget_usd. Beide Limits sind deaktiviert, wenn nicht gesetzt. Wenn eine Sitzung ein Limit erreicht, endet der Lauf mit einer Ergebnismeldung, deren Subtyp das Limit benennt, error_max_turns oder error_max_budget_usd. Was danach passiert, unterscheidet sich je nach Eingabemodus:
- Single-shot
query(): das SDK gibt das Cap-Ergebnis aus und wirft dann, also wickeln Sie die Schleife in einen Try-Block, um über den Fehler hinaus zu gehen - Streaming input: die Sitzung bleibt über ein Cap-Ergebnis hinaus aktiv, und die Max-Turns-Anzahl beginnt für jede eingereihte Nachricht von vorne. Das Budget-Total sammelt sich über Nachrichten an, und sobald die Ausgaben das Limit erreichen, enden spätere Nachrichten in derselben Konversation mit demselben Budget-Ergebnis. Ein
/clearstartet das Budget neu
0 unterschiedlich:
maxTurns/max_turns:0führt die Sitzung ohne Zuglimit aus, dasselbe wie das Nicht-Setzen der OptionmaxBudgetUsd/max_budget_usd: die CLI lehnt0als ungültigen Betrag beim Start ab, und die Sitzung läuft nie
Ändern Sie die Konfiguration während der Sitzung
Wenn Sie eine Sitzung mit streaming input starten, können Sie ihr Modell und ihren Genehmigungsmodus während der Ausführung wechseln. Wo Sie die Setter aufrufen, unterscheidet sich je nach Sprache:- TypeScript: Methoden auf dem Objekt, das
query()zurückgibt - Python: Methoden auf
ClaudeSDKClient, daquery()einen einfachen Iterator ohne Kontrollmethoden zurückgibt
setModel()/set_model(): wechselt das Modell. Rufen Sie es ohne Modell auf, um zu Claude Code’s default model zu wechseln, anstatt zummodel, das Sie in Optionen übergeben haben.setPermissionMode()/set_permission_mode(): wechselt den Genehmigungsmodus
applyFlagSettings() und updateSettings():
applyFlagSettings(): wendet Einstellungen zur Laufzeit an, wie inawait session.applyFlagSettings({ effortLevel: "high" }). Die Methode nimmt Einstellungsdateischlüssel anstelle von Optionsfeldern, also überprüfen Sie dieapplyFlagSettings()reference für das Schema und für welche Schlüssel während der Sitzung wirksam werden.updateSettings(): schreibt einen zulassungslisten Satz von Schlüsseln in die lokale Einstellungsdatei des Projekts, wie inawait session.updateSettings("localSettings", { outputStyle: "Explanatory" }). Die geschriebenen Schlüssel treten bei der nächsten Anfrage der Sitzung in Kraft und bleiben für spätere Sitzungen bestehen, dielocal-Einstellungen laden. Die Zeile der Methode in der methods table benennt die zulassungslisten Schlüssel und die Versionsuntergrenze.
First turn model: claude-sonnet-5, dann Second turn model: claude-opus-5 nach dem Wechsel.
Jedes Modell hat seinen eigenen Prompt-Cache, sodass nach einem Wechsel während der Sitzung die nächste Anfrage die vollständige Konversation ungecacht zu den Sätzen des neuen Modells neu berechnet. Weitere Informationen finden Sie unter Switching models.
Konfigurieren Sie spezifische Funktionen
Die folgende Tabelle ordnet jede Option der Funktion zu, die sie konfiguriert. Für Optionen, die diese Seite nicht abdeckt, siehe die TypeScript und Python Referenzen. Wenn Sie Ihr Ziel kennen, aber nicht welche Option es erfüllt, beginnen Sie mit Choose the right feature.Nächste Schritte
Um Konfiguration in funktionierenden Agenten zusammengesetzt zu sehen:- Quickstart: bauen und führen Sie einen ersten Agent von Anfang bis Ende aus
- Examples: finden Sie ein vollständiges, ausführbares Projekt oder ein geführtes Claude Cookbook-Rezept, das dem entspricht, was Sie bauen möchten
- Multi-tenant isolation: isolieren Sie die Einstellungen und den Speicher jedes Mandanten mit
settingSources/setting_sources,envundcwd