SpyBara
Go Premium

Documentation 2026-05-14 17:02 UTC to 2026-05-15 22:58 UTC

18 files changed +507 −36. View all changes and history on the product overview
2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19
Details

46 46 

47 ```python Python theme={null}47 ```python Python theme={null}

48 import asyncio48 import asyncio

49 from claude_agent_sdk import query49 from claude_agent_sdk import query, ClaudeAgentOptions

50 50 

51 51 

52 async def main():52 async def main():

53 async for message in query(53 async for message in query(

54 prompt="Hello",54 prompt="Hello",

55 options={55 options=ClaudeAgentOptions(

56 "plugins": [56 plugins=[

57 {"type": "local", "path": "./my-plugin"},57 {"type": "local", "path": "./my-plugin"},

58 {"type": "local", "path": "/absolute/path/to/another-plugin"},58 {"type": "local", "path": "/absolute/path/to/another-plugin"},

59 ]59 ]

60 },60 ),

61 ):61 ):

62 # Plugin commands, agents, and other features are now available62 # Plugin commands, agents, and other features are now available

63 pass63 pass


106 106 

107 ```python Python theme={null}107 ```python Python theme={null}

108 import asyncio108 import asyncio

109 from claude_agent_sdk import query109 from claude_agent_sdk import query, ClaudeAgentOptions, SystemMessage

110 110 

111 111 

112 async def main():112 async def main():

113 async for message in query(113 async for message in query(

114 prompt="Hello", options={"plugins": [{"type": "local", "path": "./my-plugin"}]}114 prompt="Hello",

115 options=ClaudeAgentOptions(

116 plugins=[{"type": "local", "path": "./my-plugin"}]

117 ),

115 ):118 ):

116 if message.type == "system" and message.subtype == "init":119 if isinstance(message, SystemMessage) and message.subtype == "init":

117 # Check loaded plugins120 # Check loaded plugins

118 print("Plugins:", message.data.get("plugins"))121 print("Plugins:", message.data.get("plugins"))

119 # Example: [{"name": "my-plugin", "path": "./my-plugin"}]122 # Example: [{"name": "my-plugin", "path": "./my-plugin"}]


151 154 

152 ```python Python theme={null}155 ```python Python theme={null}

153 import asyncio156 import asyncio

154 from claude_agent_sdk import query, AssistantMessage, TextBlock157 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, TextBlock

155 158 

156 159 

157 async def main():160 async def main():

158 # Load a plugin with a custom /greet skill161 # Load a plugin with a custom /greet skill

159 async for message in query(162 async for message in query(

160 prompt="/demo-plugin:greet", # Use plugin skill with namespace163 prompt="/demo-plugin:greet", # Use plugin skill with namespace

161 options={"plugins": [{"type": "local", "path": "./plugins/demo-plugin"}]},164 options=ClaudeAgentOptions(

165 plugins=[{"type": "local", "path": "./plugins/demo-plugin"}]

166 ),

162 ):167 ):

163 # Claude executes the custom greeting skill from the plugin168 # Claude executes the custom greeting skill from the plugin

164 if isinstance(message, AssistantMessage):169 if isinstance(message, AssistantMessage):


219 from claude_agent_sdk import (224 from claude_agent_sdk import (

220 AssistantMessage,225 AssistantMessage,

221 ClaudeAgentOptions,226 ClaudeAgentOptions,

227 SystemMessage,

222 TextBlock,228 TextBlock,

223 query,229 query,

224 )230 )


238 async for message in query(244 async for message in query(

239 prompt="What custom commands do you have available?", options=options245 prompt="What custom commands do you have available?", options=options

240 ):246 ):

241 if message.type == "system" and message.subtype == "init":247 if isinstance(message, SystemMessage) and message.subtype == "init":

242 print(f"Loaded plugins: {message.data.get('plugins')}")248 print(f"Loaded plugins: {message.data.get('plugins')}")

243 print(f"Available commands: {message.data.get('slash_commands')}")249 print(f"Available commands: {message.data.get('slash_commands')}")

244 250 

Details

56 prompt: "/compact",56 prompt: "/compact",

57 options: { maxTurns: 1 }57 options: { maxTurns: 1 }

58 })) {58 })) {

59 if (message.type === "result") {59 if (message.type === "result" && message.subtype === "success") {

60 console.log("Command executed:", message.result);60 console.log("Command executed:", message.result);

61 }61 }

62 }62 }


261 options: { maxTurns: 5 }261 options: { maxTurns: 5 }

262 })) {262 })) {

263 // Command will process with $1="123" and $2="high"263 // Command will process with $1="123" and $2="high"

264 if (message.type === "result") {264 if (message.type === "result" && message.subtype === "success") {

265 console.log("Issue fixed:", message.result);265 console.log("Issue fixed:", message.result);

266 }266 }

267 }267 }

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Entrada de Streaming

6 

7> Comprensión de los dos modos de entrada para Claude Agent SDK y cuándo usar cada uno

8 

9## Descripción General

10 

11El Claude Agent SDK admite dos modos de entrada distintos para interactuar con agentes:

12 

13* **Modo de Entrada de Streaming** (Predeterminado y Recomendado) - Una sesión persistente e interactiva

14* **Entrada de Mensaje Único** - Consultas de una sola vez que utilizan el estado de la sesión y la reanudación

15 

16Esta guía explica las diferencias, beneficios y casos de uso para cada modo para ayudarle a elegir el enfoque correcto para su aplicación.

17 

18## Modo de Entrada de Streaming (Recomendado)

19 

20El modo de entrada de streaming es la forma **preferida** de usar el Claude Agent SDK. Proporciona acceso completo a las capacidades del agente y permite experiencias ricas e interactivas.

21 

22Permite que el agente funcione como un proceso de larga duración que recibe entrada del usuario, maneja interrupciones, muestra solicitudes de permisos y gestiona la sesión.

23 

24### Cómo Funciona

25 

26```mermaid theme={null}

27sequenceDiagram

28 participant App as Your Application

29 participant Agent as Claude Agent

30 participant Tools as Tools/Hooks

31 participant FS as Environment/<br/>File System

32 

33 App->>Agent: Initialize with AsyncGenerator

34 activate Agent

35 

36 App->>Agent: Yield Message 1

37 Agent->>Tools: Execute tools

38 Tools->>FS: Read files

39 FS-->>Tools: File contents

40 Tools->>FS: Write/Edit files

41 FS-->>Tools: Success/Error

42 Agent-->>App: Stream partial response

43 Agent-->>App: Stream more content...

44 Agent->>App: Complete Message 1

45 

46 App->>Agent: Yield Message 2 + Image

47 Agent->>Tools: Process image & execute

48 Tools->>FS: Access filesystem

49 FS-->>Tools: Operation results

50 Agent-->>App: Stream response 2

51 

52 App->>Agent: Queue Message 3

53 App->>Agent: Interrupt/Cancel

54 Agent->>App: Handle interruption

55 

56 Note over App,Agent: Session stays alive

57 Note over Tools,FS: Persistent file system<br/>state maintained

58 

59 deactivate Agent

60```

61 

62### Beneficios

63 

64<CardGroup cols={2}>

65 <Card title="Cargas de Imágenes" icon="image">

66 Adjunte imágenes directamente a los mensajes para análisis visual y comprensión

67 </Card>

68 

69 <Card title="Mensajes en Cola" icon="stack">

70 Envíe múltiples mensajes que se procesen secuencialmente, con capacidad de interrumpir

71 </Card>

72 

73 <Card title="Integración de Herramientas" icon="wrench">

74 Acceso completo a todas las herramientas y servidores MCP personalizados durante la sesión

75 </Card>

76 

77 <Card title="Soporte de Hooks" icon="link">

78 Utilice hooks de ciclo de vida para personalizar el comportamiento en varios puntos

79 </Card>

80 

81 <Card title="Retroalimentación en Tiempo Real" icon="lightning">

82 Vea las respuestas mientras se generan, no solo los resultados finales

83 </Card>

84 

85 <Card title="Persistencia de Contexto" icon="database">

86 Mantenga el contexto de la conversación en múltiples turnos de forma natural

87 </Card>

88</CardGroup>

89 

90### Ejemplo de Implementación

91 

92<CodeGroup>

93 ```typescript TypeScript theme={null}

94 import { query, type SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";

95 import { readFile } from "fs/promises";

96 

97 async function* generateMessages(): AsyncGenerator<SDKUserMessage> {

98 // First message

99 yield {

100 type: "user",

101 message: {

102 role: "user",

103 content: "Analyze this codebase for security issues"

104 },

105 parent_tool_use_id: null

106 };

107 

108 // Wait for conditions or user input

109 await new Promise((resolve) => setTimeout(resolve, 2000));

110 

111 // Follow-up with image

112 yield {

113 type: "user",

114 message: {

115 role: "user",

116 content: [

117 {

118 type: "text",

119 text: "Review this architecture diagram"

120 },

121 {

122 type: "image",

123 source: {

124 type: "base64",

125 media_type: "image/png",

126 data: await readFile("diagram.png", "base64")

127 }

128 }

129 ]

130 },

131 parent_tool_use_id: null

132 };

133 }

134 

135 // Process streaming responses

136 for await (const message of query({

137 prompt: generateMessages(),

138 options: {

139 maxTurns: 10,

140 allowedTools: ["Read", "Grep"]

141 }

142 })) {

143 if (message.type === "result" && message.subtype === "success") {

144 console.log(message.result);

145 }

146 }

147 ```

148 

149 ```python Python theme={null}

150 from claude_agent_sdk import (

151 ClaudeSDKClient,

152 ClaudeAgentOptions,

153 AssistantMessage,

154 TextBlock,

155 )

156 import asyncio

157 import base64

158 

159 

160 async def streaming_analysis():

161 async def message_generator():

162 # First message

163 yield {

164 "type": "user",

165 "message": {

166 "role": "user",

167 "content": "Analyze this codebase for security issues",

168 },

169 }

170 

171 # Wait for conditions

172 await asyncio.sleep(2)

173 

174 # Follow-up with image

175 with open("diagram.png", "rb") as f:

176 image_data = base64.b64encode(f.read()).decode()

177 

178 yield {

179 "type": "user",

180 "message": {

181 "role": "user",

182 "content": [

183 {"type": "text", "text": "Review this architecture diagram"},

184 {

185 "type": "image",

186 "source": {

187 "type": "base64",

188 "media_type": "image/png",

189 "data": image_data,

190 },

191 },

192 ],

193 },

194 }

195 

196 # Use ClaudeSDKClient for streaming input

197 options = ClaudeAgentOptions(max_turns=10, allowed_tools=["Read", "Grep"])

198 

199 async with ClaudeSDKClient(options) as client:

200 # Send streaming input

201 await client.query(message_generator())

202 

203 # Process responses

204 async for message in client.receive_response():

205 if isinstance(message, AssistantMessage):

206 for block in message.content:

207 if isinstance(block, TextBlock):

208 print(block.text)

209 

210 

211 asyncio.run(streaming_analysis())

212 ```

213</CodeGroup>

214 

215## Entrada de Mensaje Único

216 

217La entrada de mensaje único es más simple pero más limitada.

218 

219### Cuándo Usar Entrada de Mensaje Único

220 

221Use entrada de mensaje único cuando:

222 

223* Necesite una respuesta de una sola vez

224* No necesite adjuntos de imágenes, hooks, etc.

225* Necesite operar en un entorno sin estado, como una función lambda

226 

227### Limitaciones

228 

229<Warning>

230 El modo de entrada de mensaje único **no** admite:

231 

232 * Adjuntos de imágenes directas en mensajes

233 * Encolamiento dinámico de mensajes

234 * Interrupción en tiempo real

235 * Integración de hooks

236 * Conversaciones naturales de múltiples turnos

237</Warning>

238 

239### Ejemplo de Implementación

240 

241<CodeGroup>

242 ```typescript TypeScript theme={null}

243 import { query } from "@anthropic-ai/claude-agent-sdk";

244 

245 // Simple one-shot query

246 for await (const message of query({

247 prompt: "Explain the authentication flow",

248 options: {

249 maxTurns: 1,

250 allowedTools: ["Read", "Grep"]

251 }

252 })) {

253 if (message.type === "result" && message.subtype === "success") {

254 console.log(message.result);

255 }

256 }

257 

258 // Continue conversation with session management

259 for await (const message of query({

260 prompt: "Now explain the authorization process",

261 options: {

262 continue: true,

263 maxTurns: 1

264 }

265 })) {

266 if (message.type === "result" && message.subtype === "success") {

267 console.log(message.result);

268 }

269 }

270 ```

271 

272 ```python Python theme={null}

273 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

274 import asyncio

275 

276 

277 async def single_message_example():

278 # Simple one-shot query using query() function

279 async for message in query(

280 prompt="Explain the authentication flow",

281 options=ClaudeAgentOptions(max_turns=1, allowed_tools=["Read", "Grep"]),

282 ):

283 if isinstance(message, ResultMessage):

284 print(message.result)

285 

286 # Continue conversation with session management

287 async for message in query(

288 prompt="Now explain the authorization process",

289 options=ClaudeAgentOptions(continue_conversation=True, max_turns=1),

290 ):

291 if isinstance(message, ResultMessage):

292 print(message.result)

293 

294 

295 asyncio.run(single_message_example())

296 ```

297</CodeGroup>

Details

313<CodeGroup>313<CodeGroup>

314 ```python Python theme={null}314 ```python Python theme={null}

315 import asyncio315 import asyncio

316 from claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinition316 from claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinition, ToolUseBlock

317 317 

318 318 

319 async def main():319 async def main():


334 # versions emitted "Task", current versions emit "Agent".334 # versions emitted "Task", current versions emit "Agent".

335 if hasattr(message, "content") and message.content:335 if hasattr(message, "content") and message.content:

336 for block in message.content:336 for block in message.content:

337 if getattr(block, "type", None) == "tool_use" and block.name in (337 if isinstance(block, ToolUseBlock) and block.name in (

338 "Task",338 "Task",

339 "Agent",339 "Agent",

340 ):340 ):


414 // Helper to extract agentId from message content414 // Helper to extract agentId from message content

415 // Stringify to avoid traversing different block types (TextBlock, ToolResultBlock, etc.)415 // Stringify to avoid traversing different block types (TextBlock, ToolResultBlock, etc.)

416 function extractAgentId(message: SDKMessage): string | undefined {416 function extractAgentId(message: SDKMessage): string | undefined {

417 if (!("message" in message)) return undefined;417 if (message.type !== "assistant" && message.type !== "user") return undefined;

418 // Stringify the content so we can search it without traversing nested blocks418 // Stringify the content so we can search it without traversing nested blocks

419 const content = JSON.stringify(message.message.content);419 const content = JSON.stringify(message.message.content);

420 const match = content.match(/agentId:\s*([a-f0-9-]+)/);420 const match = content.match(/agentId:\s*([a-f0-9-]+)/);

Details

948type SDKUserMessage = {948type SDKUserMessage = {

949 type: "user";949 type: "user";

950 uuid?: UUID;950 uuid?: UUID;

951 session_id: string;951 session_id?: string;

952 message: MessageParam; // Del SDK de Anthropic952 message: MessageParam; // Del SDK de Anthropic

953 parent_tool_use_id: string | null;953 parent_tool_use_id: string | null;

954 isSynthetic?: boolean;954 isSynthetic?: boolean;

agent-view.md +6 −0

Details

265claude --agent code-reviewer --bg "address review comments on PR 1234"265claude --agent code-reviewer --bg "address review comments on PR 1234"

266```266```

267 267 

268Pase `--name` para establecer el nombre de visualización de la sesión en la vista de agentes en lugar del generado automáticamente:

269 

270```bash theme={null}

271claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"

272```

273 

268Después de enviar al segundo plano, Claude imprime el ID corto de la sesión y los comandos para administrarla:274Después de enviar al segundo plano, Claude imprime el ID corto de la sesión y los comandos para administrarla:

269 275 

270```text theme={null}276```text theme={null}

Details

211export CLAUDE_CODE_USE_BEDROCK=1211export CLAUDE_CODE_USE_BEDROCK=1

212export AWS_REGION=us-east-1 # or your preferred region212export AWS_REGION=us-east-1 # or your preferred region

213 213 

214# Optional: Override the region for the small/fast model (Haiku).214# Optional: Override the AWS region for the small/fast model (Bedrock and Mantle).

215# Also applies to Bedrock Mantle.215# On Bedrock, has no effect without ANTHROPIC_DEFAULT_HAIKU_MODEL

216# or the deprecated ANTHROPIC_SMALL_FAST_MODEL set.

216export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2217export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2

217 218 

218# Optional: Override the Bedrock endpoint URL for custom endpoints or gateways219# Optional: Override the Bedrock endpoint URL for custom endpoints or gateways


248| Tipo de modelo | Valor predeterminado |249| Tipo de modelo | Valor predeterminado |

249| :-------------------- | :--------------------------------------------- |250| :-------------------- | :--------------------------------------------- |

250| Modelo principal | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |251| Modelo principal | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |

251| Modelo pequeño/rápido | `us.anthropic.claude-haiku-4-5-20251001-v1:0` |252| Modelo pequeño/rápido | Igual que el modelo principal |

253 

254Las tareas en segundo plano, como la generación de títulos de sesión, utilizan el modelo pequeño/rápido, normalmente un modelo de clase Haiku. En Bedrock, Claude Code establece por defecto esto al modelo principal porque Haiku puede no estar habilitado en todas las cuentas o regiones. Para usar Haiku para tareas en segundo plano, establezca `ANTHROPIC_DEFAULT_HAIKU_MODEL` en un ID de modelo que esté disponible en su cuenta.

252 255 

253Para personalizar modelos aún más, utilice uno de estos métodos:256Para personalizar modelos aún más, utilice uno de estos métodos:

254 257 

Details

1507| `tasks/` | Listas de tareas por sesión escritas por las herramientas de tareas |1507| `tasks/` | Listas de tareas por sesión escritas por las herramientas de tareas |

1508| `shell-snapshots/` | Entorno de shell capturado utilizado por la herramienta Bash. Se elimina al salir correctamente. El barrido borra cualquiera dejado después de un bloqueo. |1508| `shell-snapshots/` | Entorno de shell capturado utilizado por la herramienta Bash. Se elimina al salir correctamente. El barrido borra cualquiera dejado después de un bloqueo. |

1509| `backups/` | Copias con marca de tiempo de `~/.claude.json` tomadas antes de migraciones de configuración |1509| `backups/` | Copias con marca de tiempo de `~/.claude.json` tomadas antes de migraciones de configuración |

1510| `feedback-bundles/` | Archivos de transcripción redactados escritos por `/feedback` en proveedores de terceros, para enviar a su equipo de cuenta de Anthropic |

1510 1511 

1511### Mantenidos hasta que los elimine1512### Mantenidos hasta que los elimine

1512 1513 

data-usage.md +3 −1

Details

99 99 

100Claude Code se conecta desde las máquinas de los usuarios a Sentry para el registro de errores operativos. Los datos se cifran en tránsito usando TLS y en reposo usando cifrado AES de 256 bits. Lea más en la [documentación de seguridad de Sentry](https://sentry.io/security/). Para optar por no participar en el registro de errores, establezca la variable de entorno `DISABLE_ERROR_REPORTING`.100Claude Code se conecta desde las máquinas de los usuarios a Sentry para el registro de errores operativos. Los datos se cifran en tránsito usando TLS y en reposo usando cifrado AES de 256 bits. Lea más en la [documentación de seguridad de Sentry](https://sentry.io/security/). Para optar por no participar en el registro de errores, establezca la variable de entorno `DISABLE_ERROR_REPORTING`.

101 101 

102Cuando los usuarios ejecutan el comando `/feedback`, se envía una copia de su historial de conversación completo incluyendo código a Anthropic. Los datos se cifran en tránsito mediante TLS. Opcionalmente, se crea un problema de GitHub en el repositorio público. Para optar por no participar, establezca la variable de entorno `DISABLE_FEEDBACK_COMMAND` a `1`.102Cuando usted ejecuta el comando `/feedback`, se envía una copia de su historial de conversación completo incluyendo código a Anthropic. Antes de enviar, usted elige cuánto historial incluir: solo la sesión actual, que es la predeterminada, u también otras sesiones del mismo proyecto durante los últimos 24 horas o 7 días. Los datos se cifran en tránsito mediante TLS. Opcionalmente, se crea un problema de GitHub en el repositorio público. Para optar por no participar, establezca la variable de entorno `DISABLE_FEEDBACK_COMMAND` a `1`.

103 

104Cuando usted utiliza un proveedor de terceros como Bedrock o Vertex, o no tiene credenciales de Anthropic configuradas, `/feedback` escribe el informe en un archivo local bajo `~/.claude/feedback-bundles/` en lugar de enviarlo a Anthropic. Los patrones conocidos de clave API y token se redactan antes de que se escriba el archivo. Nada sale de su máquina hasta que usted envíe ese archivo a su representante de cuenta de Anthropic o lo adjunte a una solicitud de soporte.

103 105 

104## Comportamientos predeterminados por proveedor de API106## Comportamientos predeterminados por proveedor de API

105 107 

env-vars.md +3 −2

Details

42| `ANTHROPIC_FOUNDRY_RESOURCE` | Nombre del recurso Foundry (por ejemplo, `my-resource`). Requerido si `ANTHROPIC_FOUNDRY_BASE_URL` no está establecido (consulte [Microsoft Foundry](/es/microsoft-foundry)) |42| `ANTHROPIC_FOUNDRY_RESOURCE` | Nombre del recurso Foundry (por ejemplo, `my-resource`). Requerido si `ANTHROPIC_FOUNDRY_BASE_URL` no está establecido (consulte [Microsoft Foundry](/es/microsoft-foundry)) |

43| `ANTHROPIC_MODEL` | Nombre de la configuración de modelo a utilizar (consulte [Configuración de modelo](/es/model-config#environment-variables)) |43| `ANTHROPIC_MODEL` | Nombre de la configuración de modelo a utilizar (consulte [Configuración de modelo](/es/model-config#environment-variables)) |

44| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Nombre de [modelo de clase Haiku para tareas en segundo plano](/es/costs) |44| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Nombre de [modelo de clase Haiku para tareas en segundo plano](/es/costs) |

45| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Anule la región de AWS para el modelo de clase Haiku al usar Bedrock o Bedrock Mantle |45| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Anule la región de AWS para el modelo de clase Haiku al usar Bedrock o Bedrock Mantle. En Bedrock, esto solo tiene efecto cuando `ANTHROPIC_DEFAULT_HAIKU_MODEL` o el deprecated `ANTHROPIC_SMALL_FAST_MODEL` también está establecido, ya que Bedrock de otra manera utiliza el modelo principal para tareas en segundo plano |

46| `ANTHROPIC_VERTEX_BASE_URL` | Anule la URL del endpoint de Vertex AI. Utilice para endpoints de Vertex personalizados o cuando enrute a través de una [puerta de enlace LLM](/es/llm-gateway). Consulte [Google Vertex AI](/es/google-vertex-ai) |46| `ANTHROPIC_VERTEX_BASE_URL` | Anule la URL del endpoint de Vertex AI. Utilice para endpoints de Vertex personalizados o cuando enrute a través de una [puerta de enlace LLM](/es/llm-gateway). Consulte [Google Vertex AI](/es/google-vertex-ai) |

47| `ANTHROPIC_VERTEX_PROJECT_ID` | ID de proyecto de GCP para solicitudes de Vertex AI. Anulado por `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` o el proyecto en su archivo de credenciales `GOOGLE_APPLICATION_CREDENTIALS`. Consulte [Google Vertex AI](/es/google-vertex-ai) |47| `ANTHROPIC_VERTEX_PROJECT_ID` | ID de proyecto de GCP para solicitudes de Vertex AI. Anulado por `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` o el proyecto en su archivo de credenciales `GOOGLE_APPLICATION_CREDENTIALS`. Consulte [Google Vertex AI](/es/google-vertex-ai) |

48| `ANTHROPIC_WORKSPACE_ID` | ID de espacio de trabajo para [federación de identidad de carga de trabajo](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Establezca esto cuando su regla de federación esté limitada a más de un espacio de trabajo para que el intercambio de tokens sepa a qué espacio de trabajo dirigirse |48| `ANTHROPIC_WORKSPACE_ID` | ID de espacio de trabajo para [federación de identidad de carga de trabajo](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Establezca esto cuando su regla de federación esté limitada a más de un espacio de trabajo para que el intercambio de tokens sepa a qué espacio de trabajo dirigirse |


69| `CLAUDE_CODE_CLIENT_CERT` | Ruta al archivo de certificado de cliente para autenticación mTLS |69| `CLAUDE_CODE_CLIENT_CERT` | Ruta al archivo de certificado de cliente para autenticación mTLS |

70| `CLAUDE_CODE_CLIENT_KEY` | Ruta al archivo de clave privada de cliente para autenticación mTLS |70| `CLAUDE_CODE_CLIENT_KEY` | Ruta al archivo de clave privada de cliente para autenticación mTLS |

71| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frase de contraseña para CLAUDE\_CODE\_CLIENT\_KEY cifrada (opcional) |71| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frase de contraseña para CLAUDE\_CODE\_CLIENT\_KEY cifrada (opcional) |

72| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Anule la ruta del archivo de registro de depuración. A pesar del nombre, esta es una ruta de archivo, no un directorio. Requiere que el modo de depuración se habilite por separado a través de `--debug` o `/debug`: establecer esta variable sola no habilita el registro. La bandera [`--debug-file`](/es/cli-reference#cli-flags) hace ambas cosas a la vez. El valor predeterminado es `~/.claude/debug/<session-id>.txt` |72| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Anule la ruta del archivo de registro de depuración. A pesar del nombre, esta es una ruta de archivo, no un directorio. Requiere que el modo de depuración se habilite por separado a través de `--debug`, `/debug` o la variable de entorno `DEBUG`: establecer esta variable sola no habilita el registro. La bandera [`--debug-file`](/es/cli-reference#cli-flags) hace ambas cosas a la vez. El valor predeterminado es `~/.claude/debug/<session-id>.txt` |

73| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Nivel de registro mínimo escrito en el archivo de registro de depuración. Valores: `verbose`, `debug` (predeterminado), `info`, `warn`, `error`. Establezca en `verbose` para incluir diagnósticos de alto volumen como salida completa de comandos de línea de estado, o aumente a `error` para reducir ruido |73| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Nivel de registro mínimo escrito en el archivo de registro de depuración. Valores: `verbose`, `debug` (predeterminado), `info`, `warn`, `error`. Establezca en `verbose` para incluir diagnósticos de alto volumen como salida completa de comandos de línea de estado, o aumente a `error` para reducir ruido |

74| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Establezca en `1` para deshabilitar el soporte de [ventana de contexto de 1M](/es/model-config#extended-context). Cuando se establece, las variantes de modelo de 1M no están disponibles en el selector de modelo. Útil para entornos empresariales con requisitos de cumplimiento |74| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Establezca en `1` para deshabilitar el soporte de [ventana de contexto de 1M](/es/model-config#extended-context). Cuando se establece, las variantes de modelo de 1M no están disponibles en el selector de modelo. Útil para entornos empresariales con requisitos de cumplimiento |

75| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Establezca en `1` para deshabilitar [razonamiento adaptativo](/es/model-config#adjust-effort-level) en Opus 4.6 y Sonnet 4.6 y volver al presupuesto de pensamiento fijo controlado por `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}No tiene efecto en Opus 4.7, que siempre utiliza razonamiento adaptativo |75| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Establezca en `1` para deshabilitar [razonamiento adaptativo](/es/model-config#adjust-effort-level) en Opus 4.6 y Sonnet 4.6 y volver al presupuesto de pensamiento fijo controlado por `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}No tiene efecto en Opus 4.7, que siempre utiliza razonamiento adaptativo |


184| `CLAUDE_ENV_FILE` | Ruta a un script de shell cuyo contenido Claude Code ejecuta antes de cada comando Bash en el mismo proceso de shell, por lo que las exportaciones en el archivo son visibles para el comando. Utilice para persistir la activación de virtualenv o conda entre comandos. También se completa dinámicamente por hooks [SessionStart](/es/hooks#persist-environment-variables), [Setup](/es/hooks#setup), [CwdChanged](/es/hooks#cwdchanged) y [FileChanged](/es/hooks#filechanged) |184| `CLAUDE_ENV_FILE` | Ruta a un script de shell cuyo contenido Claude Code ejecuta antes de cada comando Bash en el mismo proceso de shell, por lo que las exportaciones en el archivo son visibles para el comando. Utilice para persistir la activación de virtualenv o conda entre comandos. También se completa dinámicamente por hooks [SessionStart](/es/hooks#persist-environment-variables), [Setup](/es/hooks#setup), [CwdChanged](/es/hooks#cwdchanged) y [FileChanged](/es/hooks#filechanged) |

185| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefijo para nombres de sesión de [Control Remoto](/es/remote-control) generados automáticamente cuando no se proporciona un nombre explícito. El valor predeterminado es el nombre de host de su máquina, produciendo nombres como `myhost-graceful-unicorn`. La bandera CLI `--remote-control-session-name-prefix` establece el mismo valor para una única invocación |185| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Prefijo para nombres de sesión de [Control Remoto](/es/remote-control) generados automáticamente cuando no se proporciona un nombre explícito. El valor predeterminado es el nombre de host de su máquina, produciendo nombres como `myhost-graceful-unicorn`. La bandera CLI `--remote-control-session-name-prefix` establece el mismo valor para una única invocación |

186| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Tiempo de espera en milisegundos antes de que el perro guardián de inactividad de transmisión cierre una conexión estancada. Predeterminado y mínimo `300000` (5 minutos) para ambos perros guardianes a nivel de byte y a nivel de evento; los valores más bajos se fijan silenciosamente para absorber pausas de pensamiento extendido y almacenamiento en búfer de proxy. Para proveedores de terceros, requiere `CLAUDE_ENABLE_STREAM_WATCHDOG=1` |186| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Tiempo de espera en milisegundos antes de que el perro guardián de inactividad de transmisión cierre una conexión estancada. Predeterminado y mínimo `300000` (5 minutos) para ambos perros guardianes a nivel de byte y a nivel de evento; los valores más bajos se fijan silenciosamente para absorber pausas de pensamiento extendido y almacenamiento en búfer de proxy. Para proveedores de terceros, requiere `CLAUDE_ENABLE_STREAM_WATCHDOG=1` |

187| `DEBUG` | Establezca en `1` para habilitar el modo de depuración, equivalente a lanzar con [`--debug`](/es/cli-reference#cli-flags). Los registros de depuración se escriben en `~/.claude/debug/<session-id>.txt`, o en la ruta establecida por `CLAUDE_CODE_DEBUG_LOGS_DIR`. Solo los valores verdaderos `1`, `true`, `yes` y `on` habilitan el modo de depuración, por lo que patrones de espacio de nombres como `DEBUG=express:*` establecidos para otras herramientas no lo activan |

187| `DISABLE_AUTOUPDATER` | Establezca en `1` para deshabilitar actualizaciones automáticas en segundo plano. El comando manual `claude update` sigue funcionando. Use `DISABLE_UPDATES` para bloquear ambos |188| `DISABLE_AUTOUPDATER` | Establezca en `1` para deshabilitar actualizaciones automáticas en segundo plano. El comando manual `claude update` sigue funcionando. Use `DISABLE_UPDATES` para bloquear ambos |

188| `DISABLE_AUTO_COMPACT` | Establezca en `1` para deshabilitar la compactación automática cuando se aproxime al límite de contexto. El comando manual `/compact` sigue estando disponible. Utilice cuando desee control explícito sobre cuándo ocurre la compactación |189| `DISABLE_AUTO_COMPACT` | Establezca en `1` para deshabilitar la compactación automática cuando se aproxime al límite de contexto. El comando manual `/compact` sigue estando disponible. Utilice cuando desee control explícito sobre cuándo ocurre la compactación |

189| `DISABLE_COMPACT` | Establezca en `1` para deshabilitar toda la compactación: tanto la compactación automática como el comando manual `/compact` |190| `DISABLE_COMPACT` | Establezca en `1` para deshabilitar toda la compactación: tanto la compactación automática como el comando manual `/compact` |

errors.md +4 −4

Details

81 81 

82* Consulte [status.claude.com](https://status.claude.com) para ver incidentes activos82* Consulte [status.claude.com](https://status.claude.com) para ver incidentes activos

83* Espere un minuto y luego envíe su mensaje nuevamente. Su mensaje original sigue en la conversación, por lo que para un prompt largo puede escribir `try again` en lugar de pegar todo de nuevo.83* Espere un minuto y luego envíe su mensaje nuevamente. Su mensaje original sigue en la conversación, por lo que para un prompt largo puede escribir `try again` en lugar de pegar todo de nuevo.

84* Si el error persiste sin incidente publicado, ejecute `/feedback` para que Anthropic pueda investigar con los detalles de su solicitud. Consulte [Reportar un error](#report-an-error) si `/feedback` no está disponible en su proveedor.84* Si el error persiste sin incidente publicado, ejecute `/feedback` para que Anthropic pueda investigar con los detalles de su solicitud. Consulte [Reportar un error](#report-an-error) si `/feedback` no está disponible en su entorno.

85 85 

86### API Error: Repeated 529 Overloaded errors86### API Error: Repeated 529 Overloaded errors

87 87 


584 584 

585Cuando una respuesta sale mal, retroceder generalmente funciona mejor que responder con correcciones. Presione Esc dos veces o ejecute `/rewind` para retroceder a antes del turno malo, luego reformule el prompt con más especificidades. Corregir en el hilo mantiene el intento incorrecto en contexto, lo que puede anclar respuestas posteriores a él. Consulte [Checkpointing](/es/checkpointing).585Cuando una respuesta sale mal, retroceder generalmente funciona mejor que responder con correcciones. Presione Esc dos veces o ejecute `/rewind` para retroceder a antes del turno malo, luego reformule el prompt con más especificidades. Corregir en el hilo mantiene el intento incorrecto en contexto, lo que puede anclar respuestas posteriores a él. Consulte [Checkpointing](/es/checkpointing).

586 586 

587Si la calidad aún parece incorrecta después de verificar lo anterior, ejecute `/feedback` y describa lo que esperaba versus lo que obtuvo. La retroalimentación enviada de esta manera incluye la transcripción de la conversación, que es la forma más rápida para que Anthropic diagnostique una regresión real. Consulte [Report an error](#report-an-error) si `/feedback` no está disponible en su proveedor.587Si la calidad aún parece incorrecta después de verificar lo anterior, ejecute `/feedback` y describa lo que esperaba versus lo que obtuvo. La retroalimentación enviada de esta manera incluye la transcripción de la conversación, que es la forma más rápida para que Anthropic diagnostique una regresión real. Consulte [Report an error](#report-an-error) si `/feedback` no está disponible en su entorno.

588 588 

589## Reportar un error589## Reportar un error

590 590 


592 592 

593* El servidor MCP no se pudo conectar o autenticar: [MCP](/es/mcp)593* El servidor MCP no se pudo conectar o autenticar: [MCP](/es/mcp)

594* El script de hook falló o bloqueó una herramienta: [Debug hooks](/es/hooks#debug-hooks)594* El script de hook falló o bloqueó una herramienta: [Debug hooks](/es/hooks#debug-hooks)

595* Permiso denegado o errores del sistema de archivos durante la instalación: [Troubleshooting](/es/troubleshoot-install)595* Permiso denegado o errores del sistema de archivos durante la instalación: [Troubleshooting de instalación e inicio de sesión](/es/troubleshoot-install)

596 596 

597Si un error no aparece aquí o la corrección sugerida no ayuda:597Si un error no aparece aquí o la corrección sugerida no ayuda:

598 598 

599* Ejecute `/feedback` dentro de Claude Code para enviar la transcripción y una descripción a Anthropic. El comando también ofrece abrir un problema de GitHub rellenado previamente. La retroalimentación no está disponible en implementaciones de Bedrock, Vertex AI y Foundry.599* Ejecute `/feedback` dentro de Claude Code para enviar la transcripción y una descripción a Anthropic. El comando también ofrece abrir un problema de GitHub rellenado previamente. En Bedrock, Vertex AI, Foundry y otros proveedores de terceros, `/feedback` guarda un archivo local que puede enviar a su representante de cuenta de Anthropic en su lugar.

600* Ejecute `/doctor` para verificar problemas de configuración local600* Ejecute `/doctor` para verificar problemas de configuración local

601* Consulte [status.claude.com](https://status.claude.com) para ver incidentes activos601* Consulte [status.claude.com](https://status.claude.com) para ver incidentes activos

602* Busque [problemas existentes](https://github.com/anthropics/claude-code/issues) en GitHub602* Busque [problemas existentes](https://github.com/anthropics/claude-code/issues) en GitHub

goal.md +4 −0

Details

6 6 

7> Establezca una condición de finalización con /goal y Claude seguirá trabajando entre turnos hasta que se cumpla la condición.7> Establezca una condición de finalización con /goal y Claude seguirá trabajando entre turnos hasta que se cumpla la condición.

8 8 

9<Note>

10 `/goal` requiere Claude Code v2.1.139 o posterior.

11</Note>

12 

9El comando `/goal` establece una condición de finalización y Claude sigue trabajando hacia ella sin que usted solicite cada paso. Después de cada turno, un modelo pequeño y rápido verifica si se cumple la condición. Si no es así, Claude inicia otro turno en lugar de devolver el control a usted. El objetivo se borra automáticamente una vez que se cumple la condición.13El comando `/goal` establece una condición de finalización y Claude sigue trabajando hacia ella sin que usted solicite cada paso. Después de cada turno, un modelo pequeño y rápido verifica si se cumple la condición. Si no es así, Claude inicia otro turno en lugar de devolver el control a usted. El objetivo se borra automáticamente una vez que se cumple la condición.

10 14 

11Utilice un objetivo para trabajo sustancial con un estado final verificable:15Utilice un objetivo para trabajo sustancial con un estado final verificable:

Details

202 202 

203[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) se habilita automáticamente. Para deshabilitarlo, establezca `DISABLE_PROMPT_CACHING=1`. Para solicitar un TTL de caché de 1 hora en lugar del predeterminado de 5 minutos, establezca `ENABLE_PROMPT_CACHING_1H=1`; las escrituras de caché con un TTL de 1 hora se facturan a una tarifa más alta. Para límites de velocidad elevados, póngase en contacto con el soporte de Google Cloud. Al usar Vertex AI, los comandos `/login` y `/logout` están deshabilitados ya que la autenticación se maneja a través de credenciales de Google Cloud.203[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) se habilita automáticamente. Para deshabilitarlo, establezca `DISABLE_PROMPT_CACHING=1`. Para solicitar un TTL de caché de 1 hora en lugar del predeterminado de 5 minutos, establezca `ENABLE_PROMPT_CACHING_1H=1`; las escrituras de caché con un TTL de 1 hora se facturan a una tarifa más alta. Para límites de velocidad elevados, póngase en contacto con el soporte de Google Cloud. Al usar Vertex AI, los comandos `/login` y `/logout` están deshabilitados ya que la autenticación se maneja a través de credenciales de Google Cloud.

204 204 

205[MCP tool search](/es/mcp#scale-with-mcp-tool-search) está deshabilitado de forma predeterminada en Vertex AI porque el punto final no acepta el encabezado beta requerido. Todas las definiciones de herramientas MCP se cargan por adelantado en su lugar. Para participar, establezca `ENABLE_TOOL_SEARCH=true`.205Claude Code deshabilita [MCP tool search](/es/mcp#scale-with-mcp-tool-search) de forma predeterminada en Vertex AI, por lo que las definiciones de herramientas MCP se cargan por adelantado. Vertex AI admite búsqueda de herramientas para Claude Sonnet 4.5 y posterior y Claude Opus 4.5 y posterior. Establezca `ENABLE_TOOL_SEARCH=true` para habilitarlo en esos modelos. Los modelos anteriores en Vertex AI no aceptan el encabezado beta requerido, y las solicitudes fallan si habilita la búsqueda de herramientas con ellos.

206 206 

207### 5. Fijar versiones de modelo207### 5. Fijar versiones de modelo

208 208 


225Claude Code utiliza estos modelos predeterminados cuando no se establecen variables de fijación:225Claude Code utiliza estos modelos predeterminados cuando no se establecen variables de fijación:

226 226 

227| Tipo de modelo | Valor predeterminado |227| Tipo de modelo | Valor predeterminado |

228| :-------------------- | :--------------------------- |228| :-------------------- | :---------------------------- |

229| Modelo principal | `claude-sonnet-4-5@20250929` |229| Modelo principal | `claude-sonnet-4-5@20250929` |

230| Modelo pequeño/rápido | `claude-haiku-4-5@20251001` |230| Modelo pequeño/rápido | Igual que el modelo principal |

231 

232Las tareas en segundo plano como la generación de títulos de sesión utilizan el modelo pequeño/rápido, normalmente un modelo de clase Haiku. En Vertex AI, Claude Code establece por defecto esto al modelo principal porque Haiku puede no estar habilitado en todos los proyectos o regiones. Para usar Haiku para tareas en segundo plano, establezca `ANTHROPIC_DEFAULT_HAIKU_MODEL` en un ID de modelo que esté disponible en su proyecto.

231 233 

232Para personalizar aún más los modelos:234Para personalizar aún más los modelos:

233 235 

hooks.md +15 −1

Details

732# Hook de notificación: ping al escritorio cuando Claude Code necesita atención.732# Hook de notificación: ping al escritorio cuando Claude Code necesita atención.

733input=$(cat)733input=$(cat)

734title="Claude Code'734title="Claude Code'

735body=$(jq -r '.message // "Needs your attention"' <<<"$input")735body=$(jq -r '.message // 'Needs your attention"' <<<"$input")

736seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")736seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")

737jq -nc --arg seq "$seq" '{terminalSequence: $seq}'737jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

738```738```


1230| `subagent_type` | string | `"Explore"` | Tipo de agente especializado a usar |1230| `subagent_type` | string | `"Explore"` | Tipo de agente especializado a usar |

1231| `model` | string | `"sonnet"` | Alias de modelo opcional para anular el predeterminado |1231| `model` | string | `"sonnet"` | Alias de modelo opcional para anular el predeterminado |

1232 1232 

1233En `PostToolUse`, `tool_response` para una llamada Agent completada lleva el texto final del subagente junto con telemetría de uso. Lea estos campos para registrar el costo por subagente desde un hook:

1234 

1235| Campo | Tipo | Ejemplo | Descripción |

1236| :------------------ | :----- | :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------- |

1237| `status` | string | `"completed"` | `"completed"` para llamadas sincrónicas, `"async_launched"` para `run_in_background: true` |

1238| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identificador para la ejecución del subagente |

1239| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Los bloques de texto finales del subagente |

1240| `totalTokens` | number | `12450` | Tokens totales facturados en los turnos del subagente |

1241| `totalDurationMs` | number | `48211` | Duración de reloj de pared de la ejecución del subagente |

1242| `totalToolUseCount` | number | `7` | Recuento de llamadas a herramientas que hizo el subagente |

1243| `usage` | object | `{"input_tokens": 8320, ...}` | Desglose de tokens por tipo: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1244 

1245Para llamadas `run_in_background: true`, la herramienta regresa inmediatamente después de lanzar el subagente, por lo que `tool_response` no lleva campos de uso. Tiene `status: "async_launched"`, `agentId`, `description`, `prompt` y `outputFile` en su lugar.

1246 

1233##### AskUserQuestion1247##### AskUserQuestion

1234 1248 

1235Hace al usuario una a cuatro preguntas de opción múltiple.1249Hace al usuario una a cuatro preguntas de opción múltiple.

mcp.md +6 −4

Details

953 953 

954### Configurar búsqueda de herramientas954### Configurar búsqueda de herramientas

955 955 

956Tool Search está habilitado de forma predeterminada: las herramientas MCP se difieren y se descubren bajo demanda. Está deshabilitado de forma predeterminada en Vertex AI, que no acepta el encabezado beta de búsqueda de herramientas, y cuando `ANTHROPIC_BASE_URL` apunta a un host que no es de primera parte, ya que la mayoría de los proxies no reenvían bloques `tool_reference`. Si su proxy reenvía bloques `tool_reference`, establezca `ENABLE_TOOL_SEARCH` explícitamente para optar por participar. Esta característica requiere modelos que admitan bloques `tool_reference`: Sonnet 4 y posterior, u Opus 4 y posterior. Los modelos Haiku no admiten búsqueda de herramientas.956Tool Search está habilitado de forma predeterminada: las herramientas MCP se difieren y se descubren bajo demanda. Claude Code lo desactiva de forma predeterminada en Vertex AI. También se desactiva cuando `ANTHROPIC_BASE_URL` apunta a un host que no es de primera parte, ya que la mayoría de los proxies no reenvían bloques `tool_reference`. Establezca `ENABLE_TOOL_SEARCH` explícitamente para anular cualquiera de estos comportamientos predeterminados.

957 

958Tool Search requiere un modelo que admita bloques `tool_reference`: Sonnet 4 y posterior, u Opus 4 y posterior. Los modelos Haiku no lo admiten. En Vertex AI, Tool Search se admite para Claude Sonnet 4.5 y posterior y Claude Opus 4.5 y posterior.

957 959 

958Controle el comportamiento de búsqueda de herramientas con la variable de entorno `ENABLE_TOOL_SEARCH`:960Controle el comportamiento de búsqueda de herramientas con la variable de entorno `ENABLE_TOOL_SEARCH`:

959 961 

960| Valor | Comportamiento |962| Valor | Comportamiento |

961| :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |963| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

962| (sin establecer) | Todas las herramientas MCP diferidas y cargadas bajo demanda. Recurre a carga de antemano en Vertex AI o cuando `ANTHROPIC_BASE_URL` es un host que no es de primera parte |964| (sin establecer) | Todas las herramientas MCP diferidas y cargadas bajo demanda. Recurre a carga de antemano en Vertex AI o cuando `ANTHROPIC_BASE_URL` es un host que no es de primera parte |

963| `true` | Todas las herramientas MCP diferidas. Claude Code envía el encabezado beta incluso en Vertex AI y a través de proxies. Las solicitudes fallan si el backend no admite bloques `tool_reference` |965| `true` | Todas las herramientas MCP diferidas. Claude Code envía el encabezado beta incluso en Vertex AI y a través de proxies. Las solicitudes fallan en modelos de Vertex AI anteriores a Sonnet 4.5 u Opus 4.5, o en proxies que no admiten bloques `tool_reference` |

964| `auto` | Modo de umbral: las herramientas se cargan de antemano si se ajustan dentro del 10% de la ventana de contexto, diferidas de lo contrario |966| `auto` | Modo de umbral: las herramientas se cargan de antemano si se ajustan dentro del 10% de la ventana de contexto, diferidas de lo contrario |

965| `auto:<N>` | Modo de umbral con un porcentaje personalizado, donde `<N>` es 0-100 (p. ej., `auto:5` para 5%) |967| `auto:N` | Modo de umbral con un porcentaje personalizado, donde `N` es 0-100. Por ejemplo, `auto:5` para 5% |

966| `false` | Todas las herramientas MCP cargadas de antemano, sin diferimiento |968| `false` | Todas las herramientas MCP cargadas de antemano, sin diferimiento |

967 969 

968```bash theme={null}970```bash theme={null}

Details

163export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'163export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'

164```164```

165 165 

166Las tareas en segundo plano, como la generación de títulos de sesión, utilizan el modelo pequeño/rápido, normalmente un modelo de clase Haiku. En Foundry, Claude Code establece por defecto esto al modelo principal porque no todas las cuentas tienen una implementación de Haiku. Para usar Haiku para tareas en segundo plano, establezca `ANTHROPIC_DEFAULT_HAIKU_MODEL` en una implementación de Haiku que esté disponible en su cuenta, como se muestra arriba.

167 

166Para los ID de modelos actuales y heredados, consulte [Descripción general de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Consulte [Configuración de modelo](/es/model-config#pin-models-for-third-party-deployments) para la lista completa de variables de entorno.168Para los ID de modelos actuales y heredados, consulte [Descripción general de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Consulte [Configuración de modelo](/es/model-config#pin-models-for-third-party-deployments) para la lista completa de variables de entorno.

167 169 

168[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) está habilitado automáticamente. Para solicitar un TTL de caché de 1 hora en lugar del predeterminado de 5 minutos, establezca la siguiente variable; las escrituras de caché con un TTL de 1 hora se facturan a una tasa más alta:170[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) está habilitado automáticamente. Para solicitar un TTL de caché de 1 hora en lugar del predeterminado de 5 minutos, establezca la siguiente variable; las escrituras de caché con un TTL de 1 hora se facturan a una tasa más alta:

settings.md +4 −2

Details

533 533 

534### Verificar configuraciones activas534### Verificar configuraciones activas

535 535 

536Ejecute `/status` dentro de Claude Code para ver qué fuentes de configuración están activas y de dónde provienen. La salida muestra cada capa de configuración (administrada, usuario, proyecto) junto con su origen, como `Enterprise managed settings (remote)`, `Enterprise managed settings (plist)`, `Enterprise managed settings (HKLM)`, `Enterprise managed settings (HKCU)`, o `Enterprise managed settings (file)`. Si un archivo de configuración contiene errores, `/status` reporta el problema para que pueda corregirlo.536Ejecute `/status` dentro de Claude Code para ver qué fuentes de configuración están activas. La pestaña Status incluye una línea `Setting sources` que enumera cada capa que Claude Code cargó para la sesión actual, como `User settings` o `Project local settings`. Cuando [configuraciones administradas](/es/managed-settings) están en efecto, la entrada muestra el canal de entrega entre paréntesis, por ejemplo `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)`, o `(file)`. Una capa aparece en la lista solo cuando esa fuente se carga con al menos una clave, por lo que una lista vacía significa que no se encontraron fuentes de configuración.

537 

538La línea `Setting sources` confirma qué fuentes se están leyendo. No muestra qué capa suministró cada clave individual. La pestaña Config en el mismo diálogo es un editor para un conjunto fijo de toggles como tema y salida detallada, no una vista de los contenidos de su `settings.json`. Si un archivo de configuración contiene errores, como JSON inválido o un valor que falla la validación, `/status` reporta el problema para que pueda corregirlo.

537 539 

538### Puntos clave sobre el sistema de configuración540### Puntos clave sobre el sistema de configuración

539 541 


542* **Skills**: Indicaciones personalizadas que se pueden invocar con `/skill-name` o cargar automáticamente por Claude544* **Skills**: Indicaciones personalizadas que se pueden invocar con `/skill-name` o cargar automáticamente por Claude

543* **MCP servers**: Extender Claude Code con herramientas e integraciones adicionales545* **MCP servers**: Extender Claude Code con herramientas e integraciones adicionales

544* **Precedencia**: Las configuraciones de nivel superior (Managed) anulan las de nivel inferior (User/Project)546* **Precedencia**: Las configuraciones de nivel superior (Managed) anulan las de nivel inferior (User/Project)

545* **Herencia**: Las configuraciones se fusionan, con configuraciones más específicas agregando o anulando las más amplias547* **Herencia**: Las configuraciones se fusionan entre ámbitos; los valores escalares de ámbitos de mayor prioridad anulan, y las matrices se concatenan

546 548 

547### Indicador del sistema549### Indicador del sistema

548 550