Funktionen
query()
Die primäre Funktion für die Interaktion mit Claude Code. Erstellt einen asynchronen Generator, der Nachrichten streamt, während sie ankommen.
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
prompt | string | AsyncIterable< SDKUserMessage > | Die Eingabeaufforderung als String oder asynchrones Iterable für Streaming-Modus |
options | Options | Optionales Konfigurationsobjekt (siehe Options-Typ unten) |
Rückgabe
Gibt einQuery
Objekt zurück, das AsyncGenerator<
SDKMessage
, void>
mit zusätzlichen Methoden erweitert.
tool()
Erstellt eine typsichere MCP-Tool-Definition für die Verwendung mit SDK MCP-Servern.
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
name | string | Der Name des Tools |
description | string | Eine Beschreibung dessen, was das Tool tut |
inputSchema | Schema extends ZodRawShape | Zod-Schema, das die Eingabeparameter des Tools definiert |
handler | (args, extra) => Promise< CallToolResult > | Asynchrone Funktion, die die Tool-Logik ausführt |
createSdkMcpServer()
Erstellt eine MCP-Server-Instanz, die im selben Prozess wie Ihre Anwendung läuft.
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
options.name | string | Der Name des MCP-Servers |
options.version | string | Optionaler Versionsstring |
options.tools | Array<SdkMcpToolDefinition> | Array von Tool-Definitionen, erstellt mit tool() |
Typen
Options
Konfigurationsobjekt für die query()
-Funktion.
Eigenschaft | Typ | Standard | Beschreibung |
---|---|---|---|
abortController | AbortController | new AbortController() | Controller zum Abbrechen von Operationen |
additionalDirectories | string[] | [] | Zusätzliche Verzeichnisse, auf die Claude zugreifen kann |
allowedTools | string[] | Alle Tools | Liste der erlaubten Tool-Namen |
appendSystemPrompt | string | undefined | Text, der an die Standard-Systemaufforderung angehängt wird |
canUseTool | CanUseTool | undefined | Benutzerdefinierte Berechtigungsfunktion für Tool-Verwendung |
continue | boolean | false | Die neueste Unterhaltung fortsetzen |
customSystemPrompt | string | undefined | Die Standard-Systemaufforderung vollständig ersetzen |
cwd | string | process.cwd() | Aktuelles Arbeitsverzeichnis |
disallowedTools | string[] | [] | Liste der nicht erlaubten Tool-Namen |
env | Dict<string> | process.env | Umgebungsvariablen |
executable | 'bun' | 'deno' | 'node' | Automatisch erkannt | Zu verwendende JavaScript-Laufzeit |
executableArgs | string[] | [] | Argumente, die an die ausführbare Datei übergeben werden |
extraArgs | Record<string, string | null> | {} | Zusätzliche Argumente |
fallbackModel | string | undefined | Modell, das verwendet wird, wenn das primäre fehlschlägt |
hooks | Partial<Record< HookEvent , HookCallbackMatcher []>> | {} | Hook-Callbacks für Ereignisse |
includePartialMessages | boolean | false | Partielle Nachrichtenereignisse einschließen |
maxThinkingTokens | number | undefined | Maximale Token für Denkprozess |
maxTurns | number | undefined | Maximale Unterhaltungsrunden |
mcpServers | Record<string, McpServerConfig > | {} | MCP-Server-Konfigurationen |
model | string | Standard aus CLI | Zu verwendendes Claude-Modell |
pathToClaudeCodeExecutable | string | Automatisch erkannt | Pfad zur Claude Code ausführbaren Datei |
permissionMode | PermissionMode | 'default' | Berechtigungsmodus für die Sitzung |
permissionPromptToolName | string | undefined | MCP-Tool-Name für Berechtigungsaufforderungen |
resume | string | undefined | Sitzungs-ID zum Fortsetzen |
stderr | (data: string) => void | undefined | Callback für stderr-Ausgabe |
strictMcpConfig | boolean | false | Strikte MCP-Validierung durchsetzen |
Query
Schnittstelle, die von der query()
-Funktion zurückgegeben wird.
Methoden
Methode | Beschreibung |
---|---|
interrupt() | Unterbricht die Abfrage (nur im Streaming-Eingabemodus verfügbar) |
setPermissionMode() | Ändert den Berechtigungsmodus (nur im Streaming-Eingabemodus verfügbar) |
PermissionMode
CanUseTool
Benutzerdefinierter Berechtigungsfunktionstyp zur Kontrolle der Tool-Verwendung.
PermissionResult
Ergebnis einer Berechtigungsprüfung.
McpServerConfig
Konfiguration für MCP-Server.
McpStdioServerConfig
McpSSEServerConfig
McpHttpServerConfig
McpSdkServerConfigWithInstance
Nachrichtentypen
SDKMessage
Union-Typ aller möglichen Nachrichten, die von der Abfrage zurückgegeben werden.
SDKAssistantMessage
Assistenten-Antwortnachricht.
SDKUserMessage
Benutzereingabenachricht.
SDKUserMessageReplay
Wiedergegebene Benutzernachricht mit erforderlicher UUID.
SDKResultMessage
Finale Ergebnisnachricht.
SDKSystemMessage
System-Initialisierungsnachricht.
SDKPartialAssistantMessage
Streaming-Teilnachricht (nur wenn includePartialMessages
wahr ist).
SDKCompactBoundaryMessage
Nachricht, die eine Unterhaltungskompaktierungsgrenze anzeigt.
SDKPermissionDenial
Informationen über eine verweigerte Tool-Verwendung.
Hook-Typen
HookEvent
Verfügbare Hook-Ereignisse.
HookCallback
Hook-Callback-Funktionstyp.
HookCallbackMatcher
Hook-Konfiguration mit optionalem Matcher.
HookInput
Union-Typ aller Hook-Eingabetypen.
BaseHookInput
Basis-Schnittstelle, die alle Hook-Eingabetypen erweitern.
PreToolUseHookInput
PostToolUseHookInput
NotificationHookInput
UserPromptSubmitHookInput
SessionStartHookInput
SessionEndHookInput
StopHookInput
SubagentStopHookInput
PreCompactHookInput
HookJSONOutput
Hook-Rückgabewert.
AsyncHookJSONOutput
SyncHookJSONOutput
Tool-Eingabetypen
Dokumentation der Eingabeschemata für alle integrierten Claude Code Tools. Diese Typen werden aus@anthropic/claude-code-sdk
exportiert und können für typsichere Tool-Interaktionen verwendet werden.
ToolInput
Hinweis: Dies ist ein nur zur Dokumentation dienender Typ für Klarheit. Er repräsentiert die Union aller Tool-Eingabetypen.
Task
Tool-Name:Task
Bash
Tool-Name:Bash
BashOutput
Tool-Name:BashOutput
Edit
Tool-Name:Edit
MultiEdit
Tool-Name:MultiEdit
Read
Tool-Name:Read
Write
Tool-Name:Write
Glob
Tool-Name:Glob
Grep
Tool-Name:Grep
KillBash
Tool-Name:KillBash
NotebookEdit
Tool-Name:NotebookEdit
WebFetch
Tool-Name:WebFetch
WebSearch
Tool-Name:WebSearch
TodoWrite
Tool-Name:TodoWrite
ExitPlanMode
Tool-Name:ExitPlanMode
ListMcpResources
Tool-Name:ListMcpResources
ReadMcpResource
Tool-Name:ReadMcpResource
Tool-Ausgabetypen
Dokumentation der Ausgabeschemata für alle integrierten Claude Code Tools. Diese Typen repräsentieren die tatsächlichen Antwortdaten, die von jedem Tool zurückgegeben werden.ToolOutput
Hinweis: Dies ist ein nur zur Dokumentation dienender Typ für Klarheit. Er repräsentiert die Union aller Tool-Ausgabetypen.
Task
Tool-Name:Task
Bash
Tool-Name:Bash
BashOutput
Tool-Name:BashOutput
Edit
Tool-Name:Edit
MultiEdit
Tool-Name:MultiEdit
Read
Tool-Name:Read
Write
Tool-Name:Write
Glob
Tool-Name:Glob
Grep
Tool-Name:Grep
KillBash
Tool-Name:KillBash
NotebookEdit
Tool-Name:NotebookEdit
WebFetch
Tool-Name:WebFetch
WebSearch
Tool-Name:WebSearch
TodoWrite
Tool-Name:TodoWrite
ExitPlanMode
Tool-Name:ExitPlanMode
ListMcpResources
Tool-Name:ListMcpResources
ReadMcpResource
Tool-Name:ReadMcpResource
Berechtigungstypen
PermissionUpdate
Operationen zur Aktualisierung von Berechtigungen.
PermissionBehavior
PermissionUpdateDestination
PermissionRuleValue
Andere Typen
ApiKeySource
ConfigScope
NonNullableUsage
Eine Version von Usage
mit allen nullable Feldern als non-nullable.
Usage
Token-Nutzungsstatistiken (aus @anthropic-ai/sdk
).
CallToolResult
MCP-Tool-Ergebnistyp (aus @modelcontextprotocol/sdk/types.js
).
AbortError
Benutzerdefinierte Fehlerklasse für Abbruchoperationen.
Siehe auch
- TypeScript SDK Leitfaden - Tutorial und Beispiele
- SDK Übersicht - Allgemeine SDK-Konzepte
- Python SDK Referenz - Python SDK Dokumentation
- CLI Referenz - Befehlszeilenschnittstelle
- Häufige Arbeitsabläufe - Schritt-für-Schritt-Anleitungen