Die CLI hieß früher „Headless-Modus”. Das Flag
-p und alle CLI-Optionen funktionieren auf die gleiche Weise.-p mit Ihrer Eingabeaufforderung und allen CLI-Optionen:
claude -p). Für die Python- und TypeScript-SDK-Pakete mit strukturierten Ausgaben, Tool-Genehmigungsrückrufen und nativen Nachrichtenobjekten siehe die vollständige Agent SDK-Dokumentation.
Grundlegende Verwendung
Fügen Sie das Flag-p (oder --print) zu jedem claude-Befehl hinzu, um ihn nicht-interaktiv auszuführen. Alle CLI-Optionen funktionieren mit -p, einschließlich:
--continuezum Fortsetzen von Gesprächen--allowedToolszum automatischen Genehmigen von Tools--output-formatfür strukturierte Ausgabe
Beispiele
Diese Beispiele zeigen häufige CLI-Muster.Strukturierte Ausgabe abrufen
Verwenden Sie--output-format, um zu steuern, wie Antworten zurückgegeben werden:
text(Standard): einfache Textausgabejson: strukturiertes JSON mit Ergebnis, Sitzungs-ID und Metadatenstream-json: zeilengetrennte JSON für Echtzeit-Streaming
result befindet:
--output-format json mit --json-schema und einer JSON Schema-Definition. Die Antwort enthält Metadaten über die Anfrage (Sitzungs-ID, Nutzung usw.) mit der strukturierten Ausgabe im Feld structured_output.
Dieses Beispiel extrahiert Funktionsnamen und gibt sie als Array von Zeichenketten zurück:
Antworten streamen
Verwenden Sie--output-format stream-json mit --verbose und --include-partial-messages, um Token zu empfangen, während sie generiert werden. Jede Zeile ist ein JSON-Objekt, das ein Ereignis darstellt:
-r gibt rohe Zeichenketten aus (keine Anführungszeichen) und -j verbindet ohne Zeilenumbrüche, sodass Token kontinuierlich streamen:
Tools automatisch genehmigen
Verwenden Sie--allowedTools, um Claude bestimmte Tools ohne Aufforderung zu verwenden. Dieses Beispiel führt eine Test-Suite aus und behebt Fehler, wobei Claude Bash-Befehle ausführen und Dateien lesen/bearbeiten kann, ohne um Erlaubnis zu fragen:
Einen Commit erstellen
Dieses Beispiel überprüft bereitgestellte Änderungen und erstellt einen Commit mit einer angemessenen Nachricht:--allowedTools verwendet Berechtigungsregelsyntax. Das nachfolgende * ermöglicht Präfix-Matching, sodass Bash(git diff *) jeden Befehl erlaubt, der mit git diff beginnt. Das Leerzeichen vor * ist wichtig: ohne es würde Bash(git diff*) auch git diff-index entsprechen.
Benutzer-aufgerufene skills wie
/commit und integrierte Befehle sind nur im interaktiven Modus verfügbar. Im -p-Modus beschreiben Sie stattdessen die Aufgabe, die Sie ausführen möchten.System-Eingabeaufforderung anpassen
Verwenden Sie--append-system-prompt, um Anweisungen hinzuzufügen und dabei das Standardverhalten von Claude Code beizubehalten. Dieses Beispiel leitet einen PR-Diff an Claude weiter und weist ihn an, auf Sicherheitslücken zu überprüfen:
--system-prompt, um die Standardeingabeaufforderung vollständig zu ersetzen.
Gespräche fortsetzen
Verwenden Sie--continue, um das neueste Gespräch fortzusetzen, oder --resume mit einer Sitzungs-ID, um ein bestimmtes Gespräch fortzusetzen. Dieses Beispiel führt eine Überprüfung durch und sendet dann Folgeeingabeaufforderungen: