Instalación
Funciones
query()
La función principal para interactuar con Claude Code. Crea un generador asincrónico que transmite mensajes a medida que llegan.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
prompt | string | AsyncIterable<SDKUserMessage> | El mensaje de entrada como una cadena o iterable asincrónico para modo de transmisión |
options | Options | Objeto de configuración opcional (ver tipo Options a continuación) |
Devuelve
Devuelve un objetoQuery que extiende AsyncGenerator<SDKMessage, void> con métodos adicionales.
tool()
Crea una definición de herramienta MCP segura de tipos para usar con servidores MCP del SDK.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
name | string | El nombre de la herramienta |
description | string | Una descripción de lo que hace la herramienta |
inputSchema | Schema extends ZodRawShape | Esquema Zod que define los parámetros de entrada de la herramienta |
handler | (args, extra) => Promise<CallToolResult> | Función asincrónica que ejecuta la lógica de la herramienta |
createSdkMcpServer()
Crea una instancia de servidor MCP que se ejecuta en el mismo proceso que tu aplicación.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
options.name | string | El nombre del servidor MCP |
options.version | string | Cadena de versión opcional |
options.tools | Array<SdkMcpToolDefinition> | Matriz de definiciones de herramientas creadas con tool() |
Tipos
Options
Objeto de configuración para la función query().
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
abortController | AbortController | new AbortController() | Controlador para cancelar operaciones |
additionalDirectories | string[] | [] | Directorios adicionales a los que Claude puede acceder |
agents | Record<string, [AgentDefinition](#agentdefinition)> | undefined | Definir suagentes programáticamente |
allowedTools | string[] | Todas las herramientas | Lista de nombres de herramientas permitidas |
canUseTool | CanUseTool | undefined | Función de permiso personalizada para el uso de herramientas |
continue | boolean | false | Continuar la conversación más reciente |
cwd | string | process.cwd() | Directorio de trabajo actual |
disallowedTools | string[] | [] | Lista de nombres de herramientas no permitidas |
env | Dict<string> | process.env | Variables de entorno |
executable | 'bun' | 'deno' | 'node' | Detectado automáticamente | Tiempo de ejecución de JavaScript a usar |
executableArgs | string[] | [] | Argumentos a pasar al ejecutable |
extraArgs | Record<string, string | null> | {} | Argumentos adicionales |
fallbackModel | string | undefined | Modelo a usar si el principal falla |
forkSession | boolean | false | Al reanudar con resume, bifurcar a un nuevo ID de sesión en lugar de continuar la sesión original |
hooks | Partial<Record<HookEvent, HookCallbackMatcher[]>> | {} | Devoluciones de llamada de gancho para eventos |
includePartialMessages | boolean | false | Incluir eventos de mensajes parciales |
maxThinkingTokens | number | undefined | Tokens máximos para el proceso de pensamiento |
maxTurns | number | undefined | Turnos de conversación máximos |
mcpServers | Record<string, [McpServerConfig](#mcpserverconfig)> | {} | Configuraciones de servidor MCP |
model | string | Predeterminado de CLI | Modelo Claude a usar |
pathToClaudeCodeExecutable | string | Detectado automáticamente | Ruta al ejecutable de Claude Code |
permissionMode | PermissionMode | 'default' | Modo de permiso para la sesión |
permissionPromptToolName | string | undefined | Nombre de herramienta MCP para mensajes de permiso |
plugins | SdkPluginConfig[] | [] | Cargar complementos personalizados desde rutas locales. Ver Complementos para detalles |
resume | string | undefined | ID de sesión a reanudar |
settingSources | SettingSource[] | [] (sin configuración) | Controlar qué configuración del sistema de archivos cargar. Cuando se omite, no se carga ninguna configuración. Nota: Debe incluir 'project' para cargar archivos CLAUDE.md |
stderr | (data: string) => void | undefined | Devolución de llamada para salida de stderr |
strictMcpConfig | boolean | false | Aplicar validación MCP estricta |
systemPrompt | string | { type: 'preset'; preset: 'claude_code'; append?: string } | undefined (mensaje vacío) | Configuración del mensaje del sistema. Pasar una cadena para un mensaje personalizado, o { type: 'preset', preset: 'claude_code' } para usar el mensaje del sistema de Claude Code. Al usar la forma de objeto preestablecido, agregue append para extender el mensaje del sistema con instrucciones adicionales |
Query
Interfaz devuelta por la función query().
Métodos
| Método | Descripción |
|---|---|
interrupt() | Interrumpe la consulta (solo disponible en modo de entrada de transmisión) |
setPermissionMode() | Cambia el modo de permiso (solo disponible en modo de entrada de transmisión) |
AgentDefinition
Configuración para un suagente definido programáticamente.
| Campo | Requerido | Descripción |
|---|---|---|
description | Sí | Descripción en lenguaje natural de cuándo usar este agente |
tools | No | Matriz de nombres de herramientas permitidas. Si se omite, hereda todas las herramientas |
prompt | Sí | El mensaje del sistema del agente |
model | No | Anulación de modelo para este agente. Si se omite, usa el modelo principal |
SettingSource
Controla qué fuentes de configuración basadas en el sistema de archivos carga el SDK.
| Valor | Descripción | Ubicación |
|---|---|---|
'user' | Configuración global del usuario | ~/.claude/settings.json |
'project' | Configuración compartida del proyecto (controlada por versión) | .claude/settings.json |
'local' | Configuración local del proyecto (ignorada por git) | .claude/settings.local.json |
Comportamiento predeterminado
CuandosettingSources está omitido o indefinido, el SDK no carga ninguna configuración del sistema de archivos. Esto proporciona aislamiento para aplicaciones SDK.
¿Por qué usar settingSources?
Cargar toda la configuración del sistema de archivos (comportamiento heredado):Precedencia de configuración
Cuando se cargan múltiples fuentes, la configuración se fusiona con esta precedencia (mayor a menor):- Configuración local (
.claude/settings.local.json) - Configuración del proyecto (
.claude/settings.json) - Configuración del usuario (
~/.claude/settings.json)
agents, allowedTools) siempre anulan la configuración del sistema de archivos.
PermissionMode
CanUseTool
Tipo de función de permiso personalizado para controlar el uso de herramientas.
PermissionResult
Resultado de una verificación de permiso.
McpServerConfig
Configuración para servidores MCP.
McpStdioServerConfig
McpSSEServerConfig
McpHttpServerConfig
McpSdkServerConfigWithInstance
SdkPluginConfig
Configuración para cargar complementos en el SDK.
| Campo | Tipo | Descripción |
|---|---|---|
type | 'local' | Debe ser 'local' (actualmente solo se admiten complementos locales) |
path | string | Ruta absoluta o relativa al directorio del complemento |
Tipos de Mensaje
SDKMessage
Tipo de unión de todos los mensajes posibles devueltos por la consulta.
SDKAssistantMessage
Mensaje de respuesta del asistente.
SDKUserMessage
Mensaje de entrada del usuario.
SDKUserMessageReplay
Mensaje de usuario reproducido con UUID requerido.
SDKResultMessage
Mensaje de resultado final.
SDKSystemMessage
Mensaje de inicialización del sistema.
SDKPartialAssistantMessage
Mensaje parcial de transmisión (solo cuando includePartialMessages es verdadero).
SDKCompactBoundaryMessage
Mensaje que indica un límite de compactación de conversación.
SDKPermissionDenial
Información sobre un uso de herramienta denegado.
Tipos de Gancho
HookEvent
Eventos de gancho disponibles.
HookCallback
Tipo de función de devolución de llamada de gancho.
HookCallbackMatcher
Configuración de gancho con coincidencia opcional.
HookInput
Tipo de unión de todos los tipos de entrada de gancho.
BaseHookInput
Interfaz base que todos los tipos de entrada de gancho extienden.
PreToolUseHookInput
PostToolUseHookInput
NotificationHookInput
UserPromptSubmitHookInput
SessionStartHookInput
SessionEndHookInput
StopHookInput
SubagentStopHookInput
PreCompactHookInput
HookJSONOutput
Valor de retorno del gancho.
AsyncHookJSONOutput
SyncHookJSONOutput
Tipos de Entrada de Herramienta
Documentación de esquemas de entrada para todas las herramientas integradas de Claude Code. Estos tipos se exportan desde@anthropic-ai/claude-agent-sdk y se pueden usar para interacciones de herramientas seguras de tipos.
ToolInput
Nota: Este es un tipo de solo documentación para claridad. Representa la unión de todos los tipos de entrada de herramienta.
Tarea
Nombre de herramienta:Task
Bash
Nombre de herramienta:Bash
BashOutput
Nombre de herramienta:BashOutput
Editar
Nombre de herramienta:Edit
Leer
Nombre de herramienta:Read
Escribir
Nombre de herramienta:Write
Glob
Nombre de herramienta:Glob
Grep
Nombre de herramienta:Grep
KillBash
Nombre de herramienta:KillBash
NotebookEdit
Nombre de herramienta:NotebookEdit
WebFetch
Nombre de herramienta:WebFetch
WebSearch
Nombre de herramienta:WebSearch
TodoWrite
Nombre de herramienta:TodoWrite
ExitPlanMode
Nombre de herramienta:ExitPlanMode
ListMcpResources
Nombre de herramienta:ListMcpResources
ReadMcpResource
Nombre de herramienta:ReadMcpResource
Tipos de Salida de Herramienta
Documentación de esquemas de salida para todas las herramientas integradas de Claude Code. Estos tipos representan los datos de respuesta reales devueltos por cada herramienta.ToolOutput
Nota: Este es un tipo de solo documentación para claridad. Representa la unión de todos los tipos de salida de herramienta.
Tarea
Nombre de herramienta:Task
Bash
Nombre de herramienta:Bash
BashOutput
Nombre de herramienta:BashOutput
Editar
Nombre de herramienta:Edit
Leer
Nombre de herramienta:Read
Escribir
Nombre de herramienta:Write
Glob
Nombre de herramienta:Glob
Grep
Nombre de herramienta:Grep
KillBash
Nombre de herramienta:KillBash
NotebookEdit
Nombre de herramienta:NotebookEdit
WebFetch
Nombre de herramienta:WebFetch
WebSearch
Nombre de herramienta:WebSearch
TodoWrite
Nombre de herramienta:TodoWrite
ExitPlanMode
Nombre de herramienta:ExitPlanMode
ListMcpResources
Nombre de herramienta:ListMcpResources
ReadMcpResource
Nombre de herramienta:ReadMcpResource
Tipos de Permiso
PermissionUpdate
Operaciones para actualizar permisos.
PermissionBehavior
PermissionUpdateDestination
PermissionRuleValue
Otros Tipos
ApiKeySource
ConfigScope
NonNullableUsage
Una versión de Usage con todos los campos anulables hechos no anulables.
Usage
Estadísticas de uso de tokens (de @anthropic-ai/sdk).
CallToolResult
Tipo de resultado de herramienta MCP (de @modelcontextprotocol/sdk/types.js).
AbortError
Clase de error personalizada para operaciones de aborto.
Ver también
- Descripción general del SDK - Conceptos generales del SDK
- Referencia del SDK de Python - Documentación del SDK de Python
- Referencia de CLI - Interfaz de línea de comandos
- Flujos de trabajo comunes - Guías paso a paso