SpyBara
Go Premium

Documentation 2026-09-13 21:00 UTC to 2026-09-14 22:58 UTC

49 files changed +348 −309. View all changes and history on the product overview
2026
Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sun 13 21:00 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02

admin-setup.md +1 −3

Details

83Después de que las sesiones de WSL estén habilitadas, extienda su configuración administrada a ellas:83Después de que las sesiones de WSL estén habilitadas, extienda su configuración administrada a ellas:

84 84 

85* Implemente `wslInheritsWindowsSettings: true` a través del registro HKLM o del archivo `C:\Program Files\ClaudeCode` para que las sesiones de WSL hereden la misma política que las sesiones del host.85* Implemente `wslInheritsWindowsSettings: true` a través del registro HKLM o del archivo `C:\Program Files\ClaudeCode` para que las sesiones de WSL hereden la misma política que las sesiones del host.

86* Verifique ejecutando `/status` dentro de una sesión de WSL y leyendo la línea `Setting sources`. Claude Code nombra solo la [fuente administrada que seleccionó](/docs/es/server-managed-settings#settings-precedence), por lo que lo que la línea le dice depende de la sesión:86* Verifique ejecutando `/status` dentro de una sesión de WSL y leyendo la línea `Setting sources`. Para interpretar lo que enumera, consulte [Leer la fuente en /status](/docs/es/managed-settings#read-the-source-in-/status).

87 * **En una sesión que [obtiene configuración administrada por servidor](/docs/es/server-managed-settings#platform-availability) y recibe cualquier clave**: `Enterprise managed settings (remote)`, porque Claude Code las selecciona por delante de las fuentes de Windows, por lo que la línea no muestra si la bandera llegó.

88 * **En cualquier otra sesión**: `Enterprise managed settings (HKLM)` confirma una implementación de registro. `(file)` nombra el archivo de Windows o el propio `/etc/claude-code/managed-settings.json` de la distribución, por lo que confirma una implementación de archivo de Windows solo cuando la distribución no tiene su propio archivo administrado.

89 87 

90Los procesos dentro de la máquina virtual de utilidad de WSL 2 no son visibles para los sensores de detección de puntos finales del lado de Windows. Para observar la actividad de procesos y archivos dentro de la distribución, consulte la guía de WSL de su proveedor de detección de puntos finales para un sensor de Linux que pueda ejecutar dentro de la distribución y las exclusiones que necesita. La [telemetría de ejecución de herramientas de OpenTelemetry](/docs/es/monitoring-usage) de Claude Code se emite de forma idéntica para sesiones de WSL y nativas.88Los procesos dentro de la máquina virtual de utilidad de WSL 2 no son visibles para los sensores de detección de puntos finales del lado de Windows. Para observar la actividad de procesos y archivos dentro de la distribución, consulte la guía de WSL de su proveedor de detección de puntos finales para un sensor de Linux que pueda ejecutar dentro de la distribución y las exclusiones que necesita. La [telemetría de ejecución de herramientas de OpenTelemetry](/docs/es/monitoring-usage) de Claude Code se emite de forma idéntica para sesiones de WSL y nativas.

91 89 

advisor.md +10 −7

Details

98El advisor debe ser al menos tan capaz como el modelo principal. Los advisors aceptados para cada modelo principal son:98El advisor debe ser al menos tan capaz como el modelo principal. Los advisors aceptados para cada modelo principal son:

99 99 

100| Modelo principal | Advisors aceptados | Notas |100| Modelo principal | Advisors aceptados | Notas |

101| -------------------- | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |101| ------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |

102| Haiku 4.5 | Fable, Opus, Sonnet | Haiku puede llamar al advisor pero no puede actuar como uno |102| Haiku 4.5 | Fable, Opus, Sonnet | Haiku puede llamar al advisor pero no puede actuar como uno |

103| Sonnet 4.6 | Fable, Opus, Sonnet | |103| Sonnet 4.6 | Fable, Opus, Sonnet | |

104| Sonnet 5 | Fable, Opus, Sonnet 5 | Un advisor Sonnet 4.6 se rechaza |104| Sonnet 5 | Fable, Opus 4.7 o posterior, Sonnet 5 | Un advisor Sonnet 4.6 se rechaza, y las solicitudes con un advisor Opus 4.6 fallan con un error de API |

105| Opus 4.6 | Fable, Opus, Sonnet 5 | Sonnet 5 y Opus 4.6 se clasifican como igualmente capaces, por lo que un Opus 4.6 principal acepta un advisor Sonnet 5 |105| Opus 4.6 | Fable, Opus, Sonnet 5 | Un advisor Sonnet 4.6 se rechaza |

106| Opus 4.7 o posterior | Fable, y Opus 4.7 o posterior | Opus 4.7 y los modelos Opus posteriores se clasifican como igualmente capaces, por lo que cualquiera acepta al otro como advisor. Un Opus 4.7 principal con un advisor Opus 4.6 o Sonnet 5 se rechaza |106| Opus 4.7 u Opus 4.8 | Fable, y Opus 4.7 o posterior | Un advisor Opus 4.6 o Sonnet se rechaza |

107| Fable 5.1 o Fable 5 | Fable 5.1 o Fable 5 | Un advisor Opus o Sonnet se rechaza |107| Opus 5 | Fable, Opus 5 | Un advisor Opus 4.6 o Sonnet se rechaza, y las solicitudes con un advisor Opus 4.7 u Opus 4.8 fallan con un error de API |

108| Fable 5 | Fable 5.1 o Fable 5 | Un advisor Opus o Sonnet se rechaza |

109| Fable 5.1 | Fable 5.1 | Un advisor Opus o Sonnet se rechaza, y las solicitudes con un advisor Fable 5 fallan con un error de API |

108 110 

109Fable 5.1 requiere Claude Code v2.1.257 o posterior. Ambos modelos Fable requieren [acceso a Fable](/docs/es/model-config#work-with-fable).111Fable 5.1 requiere Claude Code v2.1.257 o posterior. Ambos modelos Fable requieren [acceso a Fable](/docs/es/model-config#work-with-fable).

110 112 


112 114 

113Los subagentes heredan el advisor configurado y aplican la misma verificación de emparejamiento contra su propio modelo.115Los subagentes heredan el advisor configurado y aplican la misma verificación de emparejamiento contra su propio modelo.

114 116 

115Claude Code valida el emparejamiento antes de enviar una solicitud:117Claude Code valida el emparejamiento antes de enviar una solicitud, y la API lo valida de nuevo:

116 118 

117* Si el advisor es menos capaz que el modelo principal, el advisor no se adjunta a las solicitudes del modelo principal. La salida del comando `/advisor` y una notificación muestran esto. Los subagentes cuyo propio modelo satisface el emparejamiento aún pueden usar el advisor.119* Para un advisor que la tabla lista como rechazado, Claude Code no lo adjunta a las solicitudes del modelo principal. La salida del comando `/advisor` y una notificación muestran esto. Los subagentes cuyo propio modelo satisface el emparejamiento aún pueden usar el advisor.

120* Para un advisor que la tabla lista como fallando con un error de API, Claude Code lo adjunta y la API lo rechaza. Cada solicitud falla con `'<modelo advisor>' no puede usarse como advisor cuando el modelo de solicitud es '<modelo principal>'` hasta que cambie el advisor con `/advisor` o lo desactive.

118* Si el modelo principal o el advisor es un modelo que Claude Code no reconoce, el advisor no se adjunta.121* Si el modelo principal o el advisor es un modelo que Claude Code no reconoce, el advisor no se adjunta.

119 122 

120<h3 id="fable-advisor-and-usage-credits">123<h3 id="fable-advisor-and-usage-credits">

Details

62 * `"init"`: metadatos de sesión para la ejecución. Cuando un hook `SessionStart` o `Setup` se ejecuta durante el inicio de la sesión, sus [mensajes del ciclo de vida del hook](/docs/es/agent-sdk/typescript#sdkhookstartedmessage) llegan antes del mensaje `init`62 * `"init"`: metadatos de sesión para la ejecución. Cuando un hook `SessionStart` o `Setup` se ejecuta durante el inicio de la sesión, sus [mensajes del ciclo de vida del hook](/docs/es/agent-sdk/typescript#sdkhookstartedmessage) llegan antes del mensaje `init`

63 * `"compact_boundary"`: se dispara después de [compactación](#automatic-compaction)63 * `"compact_boundary"`: se dispara después de [compactación](#automatic-compaction)

64 * `"informational"`: banners de estado de texto sin formato del bucle64 * `"informational"`: banners de estado de texto sin formato del bucle

65 * `"worker_shutting_down"`: el bucle terminará después del turno actual porque el host se está cerrando o Remote Control se desconectó65 * `"worker_shutting_down"`: el host se está cerrando o Remote Control se desconectó

66 66 

67 En TypeScript, cada subtipo que no sea `"init"` es su propio tipo en la unión [`SDKMessage`](/docs/es/agent-sdk/typescript#sdkmessage) en lugar de un subtipo de `SDKSystemMessage`.67 En TypeScript, cada subtipo que no sea `"init"` es su propio tipo en la unión [`SDKMessage`](/docs/es/agent-sdk/typescript#sdkmessage) en lugar de un subtipo de `SDKSystemMessage`.

68* **`AssistantMessage`:** emitido para cada bloque de contenido en las respuestas de Claude, incluido el final solo de texto. Cada uno lleva un único bloque de contenido, como texto o una llamada de herramienta, y los mensajes de una respuesta comparten un ID de mensaje.68* **`AssistantMessage`:** emitido para cada bloque de contenido en las respuestas de Claude, incluido el final solo de texto. Cada uno lleva un único bloque de contenido, como texto o una llamada de herramienta, y los mensajes de una respuesta comparten un ID de mensaje.


238| `"xhigh"` | Profundidad de razonamiento extendida | Tareas de codificación y agentes en los [modelos que lo soportan](/docs/es/model-config#adjust-effort-level) |238| `"xhigh"` | Profundidad de razonamiento extendida | Tareas de codificación y agentes en los [modelos que lo soportan](/docs/es/model-config#adjust-effort-level) |

239| `"max"` | Profundidad de razonamiento máxima | Problemas de múltiples pasos que requieren análisis profundo |239| `"max"` | Profundidad de razonamiento máxima | Problemas de múltiples pasos que requieren análisis profundo |

240 240 

241Si no establece `effort`, ambos SDK dejan el parámetro sin establecer y se remiten al comportamiento predeterminado del modelo.241Si no establece `effort`, Claude Code resuelve el nivel de esfuerzo por sí mismo, en el orden que [Ajustar nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) describe.

242 242 

243<Note>243<Note>

244 `effort` intercambia latencia y costo de token por profundidad de razonamiento dentro de cada respuesta. [Extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) es una característica separada que produce bloques de `thinking` en la salida, y el campo `display` en `ThinkingConfig` para [Python](/docs/es/agent-sdk/python#thinkingconfig) o [TypeScript](/docs/es/agent-sdk/typescript#thinkingconfig) controla si recibe su texto. Son independientes: puede establecer `effort: "low"` con extended thinking habilitado, o `effort: "max"` sin él.244 `effort` intercambia latencia y costo de token por profundidad de razonamiento dentro de cada respuesta. [Extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) es una característica separada que produce bloques de `thinking` en la salida, y el campo `display` en `ThinkingConfig` para [Python](/docs/es/agent-sdk/python#thinkingconfig) o [TypeScript](/docs/es/agent-sdk/typescript#thinkingconfig) controla si recibe su texto. Son independientes: puede establecer `effort: "low"` con extended thinking habilitado, o `effort: "max"` sin él.


357| `success` | Claude terminó la tarea normalmente | Sí |357| `success` | Claude terminó la tarea normalmente | Sí |

358| `error_max_turns` | Alcanzó el límite de `maxTurns` antes de terminar | No |358| `error_max_turns` | Alcanzó el límite de `maxTurns` antes de terminar | No |

359| `error_max_budget_usd` | Alcanzó el límite de `maxBudgetUsd` antes de terminar | No |359| `error_max_budget_usd` | Alcanzó el límite de `maxBudgetUsd` antes de terminar | No |

360| `error_during_execution` | Un error interrumpió el bucle (por ejemplo, una falla de API o solicitud cancelada) | No |360| `error_during_execution` | Un error interrumpió el bucle (por ejemplo, una solicitud cancelada) | No |

361| `error_max_structured_output_retries` | No se produjo una salida estructurada válida dentro del límite de reintentos configurado: cada intento falló la validación, o una alternativa de modelo retractó la salida completada sin reintento exitoso | No |361| `error_max_structured_output_retries` | No se produjo una salida estructurada válida dentro del límite de reintentos configurado: cada intento falló la validación, o una alternativa de modelo retractó la salida completada sin reintento exitoso | No |

362 362 

363El campo `result` contiene la salida de texto final y solo está presente en la variante `success`, así que siempre verifique el subtipo antes de leerlo.363El campo `result` contiene la salida de texto final y solo está presente en la variante `success`, así que siempre verifique el subtipo antes de leerlo.

Details

589 Realizar solicitudes HTTP desde hooks589 Realizar solicitudes HTTP desde hooks

590</h3>590</h3>

591 591 

592Los hooks pueden realizar operaciones asincrónicas como solicitudes HTTP. Capture errores dentro de su hook en lugar de dejarlos propagarse, ya que una excepción no manejada puede interrumpir el agente.592Los hooks pueden realizar operaciones asincrónicas como solicitudes HTTP. Capture errores dentro de su hook en lugar de dejarlos propagarse.

593 593 

594Este ejemplo envía un webhook después de que cada herramienta se completa, registrando qué herramienta se ejecutó y cuándo. El hook captura errores para que un webhook fallido no interrumpa el agente:594Este ejemplo envía un webhook después de que cada herramienta se completa, registrando qué herramienta se ejecutó y cuándo. El hook captura errores de un webhook fallido:

595 595 

596<CodeGroup>596<CodeGroup>

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


627 # Run the blocking HTTP call in a thread to avoid blocking the event loop627 # Run the blocking HTTP call in a thread to avoid blocking the event loop

628 await asyncio.to_thread(_send_webhook, input_data["tool_name"])628 await asyncio.to_thread(_send_webhook, input_data["tool_name"])

629 except Exception as e:629 except Exception as e:

630 # Log the error but don't raise. A failed webhook shouldn't stop the agent630 # Log the error but don't raise

631 print(f"Webhook request failed: {e}")631 print(f"Webhook request failed: {e}")

632 632 

633 return {}633 return {}


656 if (error instanceof Error && error.name === "AbortError") {656 if (error instanceof Error && error.name === "AbortError") {

657 console.log("Webhook request cancelled");657 console.log("Webhook request cancelled");

658 }658 }

659 // Don't re-throw. A failed webhook shouldn't stop the agent659 // Don't re-throw

660 }660 }

661 661 

662 return {};662 return {};


901 901 

902Un hook `UserPromptSubmit` que genera subagentes puede crear bucles infinitos si esos subagentes disparan el mismo hook. Para prevenir esto:902Un hook `UserPromptSubmit` que genera subagentes puede crear bucles infinitos si esos subagentes disparan el mismo hook. Para prevenir esto:

903 903 

904* Verifique un indicador de subagente en la entrada del hook antes de generar

905* Use una variable compartida o estado de sesión para rastrear si ya está dentro de un subagente904* Use una variable compartida o estado de sesión para rastrear si ya está dentro de un subagente

906* Alcance los hooks para ejecutarse solo para la sesión del agente de nivel superior905* Alcance los hooks para ejecutarse solo para la sesión del agente de nivel superior

907 906 

Details

162| :----------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |162| :----------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |

163| Servidor stdio, o servidor HTTP/SSE sin una lista de herramientas en caché | Sí, hasta que se conecte | [`MCP_TIMEOUT`](/docs/es/env-vars), 30 segundos por defecto; la conexión falla en ese plazo |163| Servidor stdio, o servidor HTTP/SSE sin una lista de herramientas en caché | Sí, hasta que se conecte | [`MCP_TIMEOUT`](/docs/es/env-vars), 30 segundos por defecto; la conexión falla en ese plazo |

164| Servidor remoto con una lista de herramientas en caché, guardada por Claude Code desde una conexión anterior | No; las herramientas en caché están disponibles desde el primer turno | Ninguno; se conecta en su primera llamada de herramienta, y esa conexión diferida tiene su propio tiempo de espera |164| Servidor remoto con una lista de herramientas en caché, guardada por Claude Code desde una conexión anterior | No; las herramientas en caché están disponibles desde el primer turno | Ninguno; se conecta en su primera llamada de herramienta, y esa conexión diferida tiene su propio tiempo de espera |

165| Servidor [SDK](#sdk-mcp-servers) en proceso | No; nunca retrasa el primer turno | Ninguno |165| Servidor [SDK](#sdk-mcp-servers) en proceso | Sí, hasta que se conecte y enumere sus herramientas | Ninguno; las solicitudes de conexión y enumeración de herramientas tienen cada una su propio tiempo de espera |

166 166 

167Para bloquear el inicio mismo en una fase separada y anterior a la espera del primer turno, antes de que se envíe el mensaje init:167Para bloquear el inicio mismo en una fase separada y anterior a la espera del primer turno, antes de que se envíe el mensaje init:

168 168 

Details

160 const options = { settings: { outputStyle: "Explanatory" } };160 const options = { settings: { outputStyle: "Explanatory" } };

161 ```161 ```

162 162 

163El SDK de Python no tiene una opción para seleccionar un estilo de salida mediante programación. Para implementaciones solo de código donde no puede escribir en `.claude/settings.local.json`, use `append` o una cadena de indicación personalizada en su lugar.163En el SDK de Python, establezca `outputStyle` a través de la opción `settings`, que toma una cadena JSON como `'{"outputStyle": "Explanatory"}'` o una ruta a un archivo de configuración que lo establezca.

164 164 

165**Nota para usuarios del SDK:** Los estilos de salida se cargan cuando incluye `settingSources: ['user']` o `settingSources: ['project']` (TypeScript) / `setting_sources=["user"]` o `setting_sources=["project"]` (Python) en sus opciones.165**Nota para usuarios del SDK:** Los estilos de salida se cargan cuando incluye `settingSources: ['user']` o `settingSources: ['project']` (TypeScript) / `setting_sources=["user"]` o `setting_sources=["project"]` (Python) en sus opciones.

166 166 

Details

16 16 

17| Si está... | Utilice | Por qué |17| Si está... | Utilice | Por qué |

18| ------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |18| ------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |

19| Construyendo un agente sin implementar el bucle de herramientas usted mismo | **Agent SDK** | Una biblioteca que ejecuta el bucle del agente en su propio proceso, en Python o TypeScript. |19| Construyendo un agente sin implementar el bucle de herramientas usted mismo | **Agent SDK** | Una biblioteca de Python o TypeScript que ejecuta el bucle del agente por usted. |

20| Realizando desarrollo interactivo o ejecutando tareas puntuales desde una terminal | [**Claude Code CLI**](/docs/es/overview) | La interfaz de terminal, construida para uso interactivo diario. |20| Realizando desarrollo interactivo o ejecutando tareas puntuales desde una terminal | [**Claude Code CLI**](/docs/es/overview) | La interfaz de terminal, construida para uso interactivo diario. |

21| Llamando a la API directamente e implementando el bucle de herramientas usted mismo | [**Client SDK**](https://platform.claude.com/docs/en/api/client-sdks) | Acceso directo a la API de Anthropic en lugar de a Claude Code. Usted implementa el bucle de herramientas. |21| Llamando a la API directamente e implementando el bucle de herramientas usted mismo | [**Client SDK**](https://platform.claude.com/docs/en/api/client-sdks) | Acceso directo a la API de Anthropic en lugar de a Claude Code. Usted implementa el bucle de herramientas. |

22| Ejecutando agentes de larga duración o asincronos sin gestionar su propia infraestructura de sandbox o sesión | [**Managed Agents**](https://platform.claude.com/docs/en/managed-agents/overview) | API REST alojada, un producto separado del Agent SDK. Anthropic ejecuta el agente y el sandbox. |22| Ejecutando agentes de larga duración o asincronos sin gestionar su propia infraestructura de sandbox o sesión | [**Managed Agents**](https://platform.claude.com/docs/en/managed-agents/overview) | API REST alojada, un producto separado del Agent SDK. Anthropic ejecuta el agente y el sandbox. |

Details

6 6 

7> Controle cómo su agente utiliza herramientas con modos de permiso, hooks y reglas declarativas de permitir/denegar.7> Controle cómo su agente utiliza herramientas con modos de permiso, hooks y reglas declarativas de permitir/denegar.

8 8 

9El SDK del Agente Claude proporciona controles de permisos para gestionar cómo Claude utiliza las herramientas. Utilice modos de permiso y reglas para definir qué está permitido automáticamente, y la devolución de llamada [`canUseTool`](/docs/es/agent-sdk/user-input) para manejar todo lo demás en tiempo de ejecución.9El SDK del Agente Claude proporciona controles de permisos para gestionar cómo Claude utiliza herramientas. Utilice modos de permiso y reglas para definir qué está permitido automáticamente, y la devolución de llamada [`canUseTool`](/docs/es/agent-sdk/user-input) para manejar todo lo demás en tiempo de ejecución.

10 10 

11<h2 id="how-permissions-are-evaluated">11<h2 id="how-permissions-are-evaluated">

12 Cómo se evalúan los permisos12 Cómo se evalúan los permisos

13</h2>13</h2>

14 14 

15Cuando Claude solicita una herramienta, el SDK verifica los permisos en este orden:15Cuando Claude solicita una herramienta, el SDK comprueba los permisos en este orden:

16 16 

17<Steps>17<Steps>

18 <Step title="Hooks">18 <Step title="Hooks">

19 Ejecute [hooks](/docs/es/agent-sdk/hooks) primero. Un hook puede denegar la llamada directamente o pasarla. Un hook que devuelve `allow` no omite las reglas de denegar y preguntar a continuación; esas se evalúan independientemente del resultado del hook. Un hook `PreToolUse` allow tampoco puede aprobar una eliminación `rm` o `rmdir` dirigida a una [ruta crítica](/docs/es/permission-modes#critical-paths).19 Ejecutar [hooks](/docs/es/agent-sdk/hooks) primero. Un hook puede denegar la llamada directamente o dejarla pasar. Un hook que devuelve `allow` no omite las reglas de denegación y pregunta a continuación; esas se evalúan independientemente del resultado del hook. Un hook `PreToolUse` allow tampoco puede aprobar una eliminación `rm` o `rmdir` dirigida a una [ruta crítica](/docs/es/permission-modes#critical-paths).

20 </Step>20 </Step>

21 21 

22 <Step title="Reglas de denegar">22 <Step title="Reglas de denegación">

23 Verifique las reglas `deny` (de `disallowed_tools` y [settings.json](/docs/es/settings-reference#permission-settings)). Si una regla de denegar coincide, la herramienta se bloquea, incluso en modo `bypassPermissions`. Las reglas de nombre simple como `Bash` eliminan la herramienta del contexto de Claude antes de que comience esta evaluación, por lo que solo se verifican las reglas con alcance como `Bash(rm *)` en este paso.23 Comprobar reglas `deny` (de `disallowed_tools` y [settings.json](/docs/es/settings-reference#permission-settings)). Si una regla de denegación coincide, la herramienta se bloquea, incluso en modo `bypassPermissions`. Las reglas de denegación de nombre simple como `Bash` eliminan la herramienta del contexto de Claude antes de que comience esta evaluación, por lo que solo se comprueban las reglas con alcance como `Bash(rm *)` en este paso.

24 </Step>24 </Step>

25 25 

26 <Step title="Reglas de preguntar">26 <Step title="Reglas de pregunta">

27 Verifique las reglas `ask` de [settings.json](/docs/es/settings-reference#permission-settings). Si una regla de preguntar coincide, la llamada se pasa a su devolución de llamada [`canUseTool`](/docs/es/agent-sdk/user-input) para confirmación, incluso en modo `bypassPermissions`.27 Comprobar reglas `ask` de [settings.json](/docs/es/settings-reference#permission-settings). Si una regla de pregunta coincide, la llamada se pasa a su devolución de llamada [`canUseTool`](/docs/es/agent-sdk/user-input) para confirmación, incluso en modo `bypassPermissions`.

28 28 

29 Las herramientas que requieren interacción del usuario se comportan de la misma manera: `AskUserQuestion` y las herramientas MCP cuyo servidor establece [`_meta["anthropic/requiresUserInteraction"]`](/docs/es/mcp#require-approval-for-a-specific-tool) siempre se pasan a la devolución de llamada, incluso cuando una regla de permitir coincide. En modo `dontAsk` ambos casos se deniegan en su lugar, porque ese modo nunca solicita confirmación. La anotación MCP requiere Claude Code v2.1.199 o posterior.29 Las herramientas que requieren interacción del usuario se comportan de la misma manera: `AskUserQuestion` y herramientas MCP cuyo servidor establece [`_meta["anthropic/requiresUserInteraction"]`](/docs/es/mcp#require-approval-for-a-specific-tool) siempre se pasan a la devolución de llamada, incluso cuando una regla de permiso coincide. En modo `dontAsk` ambos casos se deniegan en su lugar, porque ese modo nunca solicita. La anotación MCP requiere Claude Code v2.1.199 o posterior.

30 30 

31 Las herramientas del conector [claude.ai](/docs/es/mcp#organization-controls-on-connector-tools) que su organización ha establecido en `ask` también salen del flujo en este paso. Cada llamada se pasa a la devolución de llamada, incluso en modo `bypassPermissions` y incluso cuando una regla de permitir coincide. La devolución de llamada recibe la razón `Your organization requires approval for this tool`. En modo `dontAsk` la llamada se deniega en su lugar, porque ese modo nunca solicita confirmación.31 Las herramientas del conector [claude.ai](/docs/es/mcp#organization-controls-on-connector-tools) que su organización ha establecido en `ask` también salen del flujo en este paso. Cada llamada se pasa a la devolución de llamada, incluso en modo `bypassPermissions` y incluso cuando una regla de permiso coincide. La devolución de llamada recibe la razón `Your organization requires approval for this tool`. En modo `dontAsk` la llamada se deniega en su lugar, porque ese modo nunca solicita.

32 </Step>32 </Step>

33 33 

34 <Step title="Modo de permiso">34 <Step title="Modo de permiso">

35 Aplique el [modo de permiso](#permission-modes) activo:35 Aplicar el [modo de permiso](#permission-modes) activo:

36 36 

37 * En modo `bypassPermissions`, Claude Code aprueba todo lo que llega a este paso excepto las eliminaciones `rm` y `rmdir` dirigidas a una [ruta crítica](/docs/es/permission-modes#critical-paths), que se pasan en su lugar.37 * En modo `bypassPermissions`, Claude Code aprueba todo lo que llega a este paso excepto eliminaciones `rm` y `rmdir` dirigidas a una [ruta crítica](/docs/es/permission-modes#critical-paths), que se pasan en su lugar.

38 * En modo `acceptEdits`, Claude Code aprueba las operaciones de archivo enumeradas en [Modo de aceptar ediciones](#accept-edits-mode-acceptedits).38 * En modo `acceptEdits`, Claude Code aprueba las operaciones de archivo enumeradas en [Modo de aceptación de ediciones](#accept-edits-mode-acceptedits).

39 * En modo `plan`, Claude Code envía herramientas de edición de archivo y escritura de shell a su devolución de llamada `canUseTool` independientemente de las reglas de permitir, por lo que las operaciones de escritura no pueden ser aprobadas automáticamente mientras se planifica.39 * En modo `plan`, Claude Code envía herramientas de edición de archivos y escritura de shell a su devolución de llamada `canUseTool` independientemente de las reglas de permiso, por lo que las operaciones de escritura no pueden aprobarse automáticamente mientras se planifica.

40 * En otros modos, la solicitud se pasa.40 * En otros modos, la solicitud se pasa.

41 </Step>41 </Step>

42 42 

43 <Step title="Reglas de permitir">43 <Step title="Reglas de permiso">

44 Verifique las reglas `allow` (de `allowed_tools` y settings.json). Si una regla coincide, la herramienta se aprueba. Una llamada que la herramienta aprueba por sí sola se resuelve en este paso también, sin necesidad de regla: por ejemplo una lectura de archivo dentro de sus directorios de trabajo o un [comando Bash de solo lectura](/docs/es/permissions#read-only-commands). Las eliminaciones `rm` y `rmdir` dirigidas a una [ruta crítica](/docs/es/permission-modes#critical-paths) nunca se aprueban por una regla de permitir: llegan a su devolución de llamada en los modos que solicitan confirmación, van al [clasificador](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) en modo `auto` en Claude Code v2.1.218 o posterior, y se deniegan en modo `dontAsk`.44 Comprobar reglas `allow` (de `allowed_tools` y settings.json). Si una regla coincide, la herramienta se aprueba. Una llamada que la herramienta aprueba por sí sola también se resuelve en este paso, sin necesidad de regla: por ejemplo una lectura de archivo dentro de sus directorios de trabajo o un [comando Bash de solo lectura](/docs/es/permissions#read-only-commands). Las eliminaciones `rm` y `rmdir` dirigidas a una [ruta crítica](/docs/es/permission-modes#critical-paths) nunca se aprueban por una regla de permiso: llegan a su devolución de llamada en los modos que solicitan, van al [clasificador](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) en modo `auto` en Claude Code v2.1.218 o posterior, y se deniegan en modo `dontAsk`.

45 </Step>45 </Step>

46 46 

47 <Step title="Devolución de llamada canUseTool">47 <Step title="Devolución de llamada canUseTool">


51 </Step>51 </Step>

52</Steps>52</Steps>

53 53 

54<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" className="dark:hidden" alt="Diagrama del flujo de evaluación de permisos de seis pasos que coincide con los pasos anteriores: una solicitud de herramienta pasa a través de hooks, reglas de denegar, reglas de preguntar, modo de permiso, reglas de permitir y canUseTool. Los hooks, reglas de denegar y canUseTool pueden enrutar hacia Bloqueado; el modo de permiso de omisión, reglas de permitir y canUseTool pueden enrutar hacia Ejecutar; las reglas de preguntar enrutan a canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />54<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" className="dark:hidden" alt="Diagrama del flujo de evaluación de permisos de seis pasos que coincide con los pasos anteriores: una solicitud de herramienta pasa a través de hooks, reglas de denegación, reglas de pregunta, modo de permiso, reglas de permiso y canUseTool. Los hooks, reglas de denegación y canUseTool pueden enrutar hacia Bloqueado; el modo de permiso bypass, reglas de permiso y canUseTool pueden enrutar hacia Ejecutar; las reglas de pregunta se enrutan a canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />

55 55 

56<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agent-sdk/permissions-flow-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e53a91e9059cbf51852b7cedb4dd4251" className="hidden dark:block" alt="Diagrama del flujo de evaluación de permisos de seis pasos que coincide con los pasos anteriores: una solicitud de herramienta pasa a través de hooks, reglas de denegar, reglas de preguntar, modo de permiso, reglas de permitir y canUseTool. Los hooks, reglas de denegar y canUseTool pueden enrutar hacia Bloqueado; el modo de permiso de omisión, reglas de permitir y canUseTool pueden enrutar hacia Ejecutar; las reglas de preguntar enrutan a canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow-dark.svg" />56<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agent-sdk/permissions-flow-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e53a91e9059cbf51852b7cedb4dd4251" className="hidden dark:block" alt="Diagrama del flujo de evaluación de permisos de seis pasos que coincide con los pasos anteriores: una solicitud de herramienta pasa a través de hooks, reglas de denegación, reglas de pregunta, modo de permiso, reglas de permiso y canUseTool. Los hooks, reglas de denegación y canUseTool pueden enrutar hacia Bloqueado; el modo de permiso bypass, reglas de permiso y canUseTool pueden enrutar hacia Ejecutar; las reglas de pregunta se enrutan a canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow-dark.svg" />

57 57 

58Si pasa una devolución de llamada `canUseTool` en una configuración donde el SDK de TypeScript espera que el orden de evaluación apruebe automáticamente las llamadas antes de que se consulte la devolución de llamada, el SDK emite una advertencia de proceso de Node.js una vez cuando se construye la consulta. El código de la advertencia es `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`. Dos configuraciones lo desencadenan:58Si pasa una devolución de llamada `canUseTool` en una configuración donde el SDK de TypeScript espera que el orden de evaluación apruebe automáticamente las llamadas antes de que se consulte la devolución de llamada, el SDK emite una advertencia de proceso de Node.js una vez cuando se construye la consulta. El código de la advertencia es `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`. Dos configuraciones la activan:

59 59 

60* `permissionMode: 'bypassPermissions'`, que aprueba automáticamente cada llamada que llega al paso del modo de permiso aparte de las [acciones que ningún modo aprueba automáticamente](/docs/es/permission-modes#actions-no-mode-auto-approves)60* `permissionMode: 'bypassPermissions'`, que aprueba automáticamente cada llamada que llega al paso del modo de permiso aparte de las [acciones que ningún modo aprueba automáticamente](/docs/es/permission-modes#actions-no-mode-auto-approves)

61* Cada entrada `allowedTools` simple como `"Read"`, que aprueba automáticamente esa herramienta completa antes de que se consulte la devolución de llamada, aparte de las [acciones que ningún modo aprueba automáticamente](/docs/es/permission-modes#actions-no-mode-auto-approves)61* Cada entrada `allowedTools` simple como `"Read"`, que aprueba automáticamente esa herramienta completa antes de que se consulte la devolución de llamada, aparte de las [acciones que ningún modo aprueba automáticamente](/docs/es/permission-modes#actions-no-mode-auto-approves)

62 62 

63Las entradas con un especificador como `Bash(ls *)` y el modo `acceptEdits` no lo desencadenan, y las reglas de permitir provenientes de archivos de configuración no son visibles para la verificación.63Las entradas con un especificador como `Bash(ls *)` y el modo `acceptEdits` no la activan, y las reglas de permiso provenientes de archivos de configuración no son visibles para la comprobación.

64 64 

65Escuche con `process.on('warning', ...)` y haga coincidir el código para registrarlo o suprimirlo. Para controlar cada llamada de herramienta independientemente del modo y las reglas, use un [hook `PreToolUse`](/docs/es/agent-sdk/hooks) en su lugar.65Escuche con `process.on('warning', ...)` y haga coincidir el código para registrarlo o suprimirlo. Para controlar cada llamada de herramienta independientemente del modo y las reglas, use un [hook `PreToolUse`](/docs/es/agent-sdk/hooks) en su lugar.

66 66 

67Esta página se enfoca en **reglas de permitir y denegar** y **modos de permiso**. Para los otros pasos:67Esta página se enfoca en **reglas de permiso y denegación** y **modos de permiso**. Para los otros pasos:

68 68 

69* **Hooks:** ejecute código personalizado para permitir, denegar o modificar solicitudes de herramientas. Consulte [Controlar la ejecución con hooks](/docs/es/agent-sdk/hooks).69* **Hooks:** ejecutar código personalizado para permitir, denegar o modificar solicitudes de herramientas. Consulte [Controlar la ejecución con hooks](/docs/es/agent-sdk/hooks).

70* **Devolución de llamada canUseTool:** solicite aprobación a los usuarios en tiempo de ejecución, cuando ningún paso anterior resuelve la llamada. Consulte [Manejar aprobaciones e entrada del usuario](/docs/es/agent-sdk/user-input).70* **Devolución de llamada canUseTool:** solicitar aprobación a los usuarios en tiempo de ejecución, cuando ningún paso anterior resuelve la llamada. Consulte [Manejar aprobaciones e entrada del usuario](/docs/es/agent-sdk/user-input).

71 71 

72<h2 id="allow-and-deny-rules">72<h2 id="allow-and-deny-rules">

73 Reglas de permitir y denegar73 Reglas de permitir y denegar

74</h2>74</h2>

75 75 

76`allowed_tools` y `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) agregan entradas a las listas de reglas de permitir y denegar en el flujo de evaluación anterior. Si nombra una de las [herramientas de seguimiento de tareas](/docs/es/agent-sdk/todo-tracking#model-availability) en `allowed_tools`, Claude Code también opta por la sesión. Cualquier otra herramienta no listada en `allowed_tools` sigue estando disponible para Claude, y una llamada a ella que necesita aprobación se descarta al modo de permiso. Las reglas de denegar se comportan de manera diferente dependiendo de si nombran una herramienta o delimitan un patrón dentro de una.76`allowed_tools` y `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) añaden entradas a las listas de reglas de permitir y denegar en el flujo de evaluación anterior. Si nombra una de las [herramientas de seguimiento de tareas](/docs/es/agent-sdk/todo-tracking#model-availability) en `allowed_tools`, Claude Code también opta por la sesión. Cualquier otra herramienta no listada en `allowed_tools` sigue estando disponible para Claude, y una llamada a ella que necesite aprobación cae en el modo de permisos. Las reglas de denegación se comportan de manera diferente dependiendo de si nombran una herramienta o delimitan un patrón dentro de una.

77 77 

78| Opción | Efecto |78| Opción | Efecto |

79| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |79| :-------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

80| `allowed_tools=["Read", "Grep"]` | `Read` y `Grep` se aprueban automáticamente. Otras herramientas no listadas aquí aún existen, y las llamadas a ellas que necesitan aprobación se descartan al modo de permiso y `canUseTool`. |80| `allowed_tools=["Read", "Grep"]` | `Read` y `Grep` se aprueban automáticamente. Otras herramientas no listadas aquí siguen existiendo, y las llamadas a ellas que necesiten aprobación caen en el modo de permisos y `canUseTool`. |

81| `disallowed_tools=["Bash"]` | La definición de la herramienta `Bash` se elimina de la solicitud. Claude no ve la herramienta y no puede intentarla. |81| `disallowed_tools=["Bash"]` | La definición de la herramienta `Bash` se elimina de la solicitud. Claude no ve la herramienta y no puede intentarla. |

82| `disallowed_tools=["Bash(rm *)"]` | `Bash` permanece disponible. Las llamadas que coinciden con `rm *` [tal como está escrito](/docs/es/permissions#bash-rule-limits) se deniegan en cada modo de permiso, incluido `bypassPermissions`. Otras llamadas de `Bash`, incluidas `/bin/rm`, se descartan al modo de permiso. |82| `disallowed_tools=["Bash(rm *)"]` | `Bash` sigue disponible. Las llamadas que coincidan con `rm *` [tal como está escrito](/docs/es/permissions#bash-rule-limits) se deniegan en todos los modos de permisos, incluido `bypassPermissions`. Otras llamadas a `Bash`, incluido `/bin/rm`, caen en el modo de permisos. |

83| `disallowed_tools=["*"]` | Cada definición de herramienta se elimina de la solicitud. Los patrones globales de nombres de herramientas se admiten en reglas de denegar: `"*"` coincide con cada herramienta y `"mcp__*"` coincide con cada herramienta MCP en todos los servidores. |83| `disallowed_tools=["*"]` | Cada definición de herramienta se elimina de la solicitud. Los patrones globales de nombres de herramientas se admiten en reglas de denegación: `"*"` coincide con cada herramienta y `"mcp__*"` coincide con cada herramienta MCP en todos los servidores. |

84 84 

85Las reglas de permitir aceptan patrones globales de nombres de herramientas solo después de un prefijo literal `mcp__<server>__`. El segmento del servidor debe estar libre de patrones globales para que la regla nombre un servidor específico que haya configurado: `mcp__puppeteer__*` coincide con cada herramienta del servidor `puppeteer`, y `mcp__github__get_*` coincide con sus herramientas `get_`. Una entrada sin ancla como `allowed_tools=["*"]` o `allowed_tools=["mcp__*"]` se ignora con una advertencia de inicio y no pre-aprueba nada.85Las reglas de permitir aceptan patrones globales de nombres de herramientas solo después de un prefijo literal `mcp__<server>__`. El segmento del servidor debe estar libre de patrones globales para que la regla nombre un servidor específico que haya configurado: `mcp__puppeteer__*` coincide con cada herramienta del servidor `puppeteer`, y `mcp__github__get_*` coincide con sus herramientas `get_`. Una entrada sin ancla como `allowed_tools=["*"]` o `allowed_tools=["mcp__*"]` se ignora con una advertencia de inicio y no aprueba automáticamente nada.

86 86 

87Las reglas delimitadas para `Read` y `Edit` toman un patrón de ruta. Las reglas `Edit(path)` rigen todas las herramientas integradas que escriben archivos, incluidas `Write` y `NotebookEdit`; una regla `Write(path)` nunca es coincidida por las comprobaciones de permiso de archivo.87Las reglas delimitadas para `Read` y `Edit` toman un patrón de ruta. Las reglas `Edit(path)` rigen todas las herramientas integradas que escriben archivos, incluidas `Write` y `NotebookEdit`; una regla `Write(path)` nunca es coincidida por las comprobaciones de permisos de archivo.

88 88 

89Use `//path` para una ruta del sistema de archivos absoluta: una regla de denegar de `Edit(//secrets/**)` bloquea escrituras en cualquier lugar bajo `/secrets` en el disco. Con una sola barra diagonal inicial, `Edit(/secrets/**)` se ancla en la fuente de la regla en su lugar. Para reglas pasadas a través de `allowed_tools` o `disallowed_tools`, eso significa el directorio de trabajo de la sesión, por lo que la regla no bloquea `/secrets` en el disco. Consulte [Reglas de Read y Edit](/docs/es/permissions#read-and-edit) para las cuatro formas de anclaje y cómo se resuelven las reglas de archivos de configuración.89Use `//path` para una ruta del sistema de archivos absoluta: una regla de denegación de `Edit(//secrets/**)` bloquea escrituras en cualquier lugar bajo `/secrets` en el disco. Con una sola barra diagonal inicial, `Edit(/secrets/**)` se ancla en la fuente de la regla en su lugar. Para reglas pasadas a través de `allowed_tools` o `disallowed_tools`, eso significa el directorio de trabajo de la sesión, por lo que la regla no bloquea `/secrets` en el disco. Consulte [Reglas de Read y Edit](/docs/es/permissions#read-and-edit) para las cuatro formas de anclaje y cómo se resuelven las reglas de archivos de configuración.

90 90 

91<Warning>91<Warning>

92 **Las herramientas pre-aprobadas nunca llegan a `canUseTool`.** Una llamada de herramienta aprobada en cualquier paso anterior, por `acceptEdits` o `bypassPermissions`, o por una regla de permitir, omite su devolución de llamada `canUseTool`, por lo que las comprobaciones de permiso que coloque allí se omiten silenciosamente para esa herramienta. `AskUserQuestion`, herramientas MCP marcadas [`_meta["anthropic/requiresUserInteraction"]`](/docs/es/mcp#require-approval-for-a-specific-tool), herramientas de conector [que su organización configuró para `ask`](/docs/es/mcp#organization-controls-on-connector-tools), y removals de `rm` y `rmdir` dirigidos a una [ruta crítica](/docs/es/permission-modes#critical-paths) aún llegan a la devolución de llamada, incluso cuando una regla de permitir coincide. En modo `auto`, los removals de ruta crítica van al [clasificador](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) en lugar de la devolución de llamada, mientras que las otras llamadas listadas aquí aún llegan a ella; el enrutamiento del clasificador requiere Claude Code v2.1.218 o posterior. En modo `dontAsk` estas llamadas se deniegan en su lugar, sin invocar la devolución de llamada.92 **Las herramientas aprobadas automáticamente nunca llegan a `canUseTool`.** Una llamada de herramienta aprobada en cualquier paso anterior, por `acceptEdits` o `bypassPermissions`, o por una regla de permitir, omite su devolución de llamada `canUseTool`, por lo que las comprobaciones de permisos que coloque allí se omiten silenciosamente para esa herramienta. `AskUserQuestion`, herramientas MCP marcadas [`_meta["anthropic/requiresUserInteraction"]`](/docs/es/mcp#require-approval-for-a-specific-tool), herramientas de conector [que su organización configuró para `ask`](/docs/es/mcp#organization-controls-on-connector-tools), y removals de `rm` y `rmdir` dirigidos a una [ruta crítica](/docs/es/permission-modes#critical-paths) aún llegan a la devolución de llamada, incluso cuando una regla de permitir coincide. En modo `auto`, los removals de ruta crítica van al [clasificador](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) en lugar de la devolución de llamada, mientras que las otras llamadas listadas aquí aún la alcanzan; el enrutamiento del clasificador requiere Claude Code v2.1.218 o posterior. En modo `dontAsk` estas llamadas se deniegan en su lugar, sin invocar la devolución de llamada.

93 93 

94 La cobertura depende de la forma de la entrada: un nombre simple como `Read` o `mcp__github__get_issue` pre-aprueba cada llamada a esa herramienta aparte de las excepciones anteriores, mientras que una regla delimitada como `Bash(npm test *)` pre-aprueba solo las llamadas coincidentes, y otras llamadas de `Bash` que necesitan aprobación aún se descartan a la devolución de llamada. Para comprobaciones que deben ejecutarse en cada llamada de herramienta, use un hook [`PreToolUse`](/docs/es/agent-sdk/hooks): los hooks se ejecutan antes de cada otro paso, y una denegación de hook se aplica incluso en modo `bypassPermissions`.94 La cobertura depende de la forma de la entrada: un nombre simple como `Read` o `mcp__github__get_issue` aprueba automáticamente cada llamada a esa herramienta aparte de las excepciones anteriores, mientras que una regla delimitada como `Bash(npm test *)` aprueba automáticamente solo las llamadas coincidentes, y otras llamadas a `Bash` que necesiten aprobación aún caen en la devolución de llamada. Para comprobaciones que deben ejecutarse en cada llamada de herramienta, use un [hook `PreToolUse`](/docs/es/agent-sdk/hooks): los hooks se ejecutan antes de cada otro paso, y una denegación de hook se aplica incluso en modo `bypassPermissions`.

95</Warning>95</Warning>

96 96 

97Para un agente bloqueado, empareje `allowedTools` con `permissionMode: "dontAsk"`:97Para un agente bloqueado, empareje `allowedTools` con `permissionMode: "dontAsk"`:


103};103};

104```104```

105 105 

106Las herramientas listadas se aprueban, aparte de las [acciones que ningún modo pre-aprueba](/docs/es/permission-modes#actions-no-mode-auto-approves), y cada otra llamada que solicitaría se deniega en su lugar. Las llamadas que no necesitan aprobación en modo `default` se ejecutan independientemente de si las lista, como [comandos Bash de solo lectura](/docs/es/permissions#read-only-commands), herramientas como `Agent` que no solicitan antes de ejecutarse, y lecturas de archivos dentro de sus directorios de trabajo. Para poner una herramienta fuera del alcance de Claude completamente, agregue su nombre simple a `disallowedTools`.106Las herramientas listadas se aprueban, aparte de las [acciones que ningún modo aprueba automáticamente](/docs/es/permission-modes#actions-no-mode-auto-approves), y cada otra llamada que solicitaría se deniega en su lugar. Las llamadas que no necesitan aprobación en modo `default` se ejecutan independientemente de si las lista o no, como [comandos Bash de solo lectura](/docs/es/permissions#read-only-commands), herramientas como `Agent` que no preguntan antes de ejecutarse, y lecturas de archivos dentro de sus directorios de trabajo. Para poner una herramienta fuera del alcance de Claude por completo, añada su nombre simple a `disallowedTools`.

107 107 

108<Warning>108<Warning>

109 **`allowed_tools` no restringe `bypassPermissions`.** `allowed_tools` pre-aprueba las herramientas que lista. Las herramientas no listadas no coinciden con ninguna regla de permitir y se descartan al modo de permiso, donde `bypassPermissions` las aprueba. Establecer `allowed_tools=["Read"]` junto con `permission_mode="bypassPermissions"` aún aprueba cada herramienta, incluidas `Bash`, `Write` y `Edit`. Si necesita `bypassPermissions` pero desea que herramientas específicas se bloqueen, use `disallowed_tools`.109 **`allowed_tools` no restringe `bypassPermissions`.** `allowed_tools` aprueba previamente las herramientas que lista. Otras herramientas no listadas no son coincididas por ninguna regla de permitir y caen en el modo de permisos, donde `bypassPermissions` las aprueba. Configurar `allowed_tools=["Read"]` junto con `permission_mode="bypassPermissions"` aún aprueba cada herramienta, incluidas `Bash`, `Write` y `Edit`. Si necesita `bypassPermissions` pero desea que herramientas específicas se bloqueen, use `disallowed_tools`.

110</Warning>110</Warning>

111 111 

112También puede configurar reglas de permitir, denegar y preguntar de forma declarativa en `.claude/settings.json`. Estas reglas se leen cuando la fuente de configuración `project` está habilitada, que lo está para las opciones predeterminadas de `query()`. Si establece `setting_sources` (TypeScript: `settingSources`) explícitamente, incluya `"project"` para que se apliquen. Consulte [Configuración de permisos](/docs/es/settings-reference#permission-settings) para la sintaxis de reglas.112También puede configurar reglas de permitir, denegar y preguntar de manera declarativa en `.claude/settings.json`. Estas reglas se leen cuando la fuente de configuración `project` está habilitada, que lo está para las opciones predeterminadas de `query()`. Si establece `setting_sources` (TypeScript: `settingSources`) explícitamente, incluya `"project"` para que se apliquen. Consulte [Configuración de permisos](/docs/es/settings-reference#permission-settings) para la sintaxis de reglas.

113 113 

114<h2 id="permission-modes">114<h2 id="permission-modes">

115 Modos de permisos115 Modos de permisos


124El SDK admite estos modos de permisos:124El SDK admite estos modos de permisos:

125 125 

126| Modo | Descripción | Comportamiento de herramientas |126| Modo | Descripción | Comportamiento de herramientas |

127| :------------------ | :-------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |127| :------------------ | :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

128| `default` | Comportamiento de permisos estándar | Sin aprobaciones automáticas basadas en modo; las llamadas que necesitan aprobación y no coinciden con ninguna regla de permiso activan su devolución de llamada `canUseTool` |128| `default` | Comportamiento de permisos estándar | Sin aprobaciones automáticas basadas en modo; las llamadas que necesitan aprobación y no coinciden con ninguna regla de permiso activan su devolución de llamada `canUseTool` |

129| `dontAsk` | Denegar en lugar de preguntar | Cualquier llamada que de otro modo solicitaría confirmación se deniega. Las llamadas aprobadas por `allowed_tools` o reglas se ejecutan, al igual que las llamadas que no necesitan aprobación en modo `default`, como lecturas de archivos dentro de sus directorios de trabajo y llamadas a `Agent`. Las herramientas de conector [que su organización estableció en `ask`](/docs/es/mcp#organization-controls-on-connector-tools) y las herramientas que requieren interacción del usuario se deniegan incluso si las ha preaprobado, al igual que las eliminaciones `rm` y `rmdir` dirigidas a una [ruta crítica](/docs/es/permission-modes#critical-paths). `canUseTool` nunca se llama |129| `dontAsk` | Denegar en lugar de preguntar | Cualquier llamada que de otro modo solicitaría confirmación es denegada. Las llamadas aprobadas por `allowed_tools` o reglas se ejecutan, al igual que las llamadas que no necesitan aprobación en modo `default`, como lecturas de archivos dentro de sus directorios de trabajo y llamadas a `Agent`. Las herramientas de conector [que su organización configuró como `ask`](/docs/es/mcp#organization-controls-on-connector-tools) y las herramientas que requieren interacción del usuario son denegadas incluso si las ha preaprobado, al igual que las eliminaciones `rm` y `rmdir` dirigidas a una [ruta crítica](/docs/es/permission-modes#critical-paths). `canUseTool` nunca se llama |

130| `acceptEdits` | Aceptar automáticamente ediciones de archivos | Las ediciones de archivos y [operaciones del sistema de archivos](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, etc.) se aprueban automáticamente |130| `acceptEdits` | Aceptar automáticamente ediciones de archivos | Las ediciones de archivos y [operaciones del sistema de archivos](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, etc.) se aprueban automáticamente |

131| `bypassPermissions` | Omitir comprobaciones de permisos | Las herramientas se ejecutan sin solicitudes de permisos, excepto para las [acciones que ningún modo aprueba automáticamente](/docs/es/permission-modes#actions-no-mode-auto-approves). Úselo con precaución |131| `bypassPermissions` | Omitir verificaciones de permisos | Las herramientas se ejecutan sin solicitudes de permisos, excepto para las [acciones que ningún modo aprueba automáticamente](/docs/es/permission-modes#actions-no-mode-auto-approves). Úselo con precaución |

132| `plan` | Modo de planificación | Claude explora y planifica sin editar sus archivos fuente; las ediciones de archivos nunca se aprueban automáticamente y se solicitan a través de su devolución de llamada `canUseTool` |132| `plan` | Modo de planificación | Claude explora y planifica sin editar sus archivos fuente; las ediciones de archivos nunca se aprueban automáticamente y se solicitan a través de su devolución de llamada `canUseTool` |

133| `auto` | Aprobaciones clasificadas por modelo | Un clasificador de modelo aprueba o deniega solicitudes de permisos. Consulte [Modo Auto](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) para disponibilidad |133| `auto` | Aprobaciones clasificadas por modelo | Un clasificador de modelo aprueba o deniega solicitudes de permisos. Consulte [Modo Auto](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) para disponibilidad |

134 134 

135<Warning>135<Warning>

136 **Herencia de subagentes:** Un subagente se ejecuta en el modo de permisos de la sesión principal a menos que establezca `permissionMode` en su [`AgentDefinition`](/docs/es/agent-sdk/typescript#agentdefinition) y la sesión principal esté en modo `default`, `dontAsk` o `plan`. Incluso entonces, Claude Code nunca aplica un valor `"bypassPermissions"`. Un subagente se ejecuta en modo `bypassPermissions` solo cuando la sesión principal lo hace. La excepción `bypassPermissions` requiere Claude Code v2.1.267 o posterior.136 **Herencia de subagentes:** Un subagente se ejecuta en el modo de permisos de la sesión principal a menos que establezca `permissionMode` en su [`AgentDefinition`](/docs/es/agent-sdk/typescript#agentdefinition) y la sesión principal esté en modo `default`, `dontAsk` o `plan`. Incluso entonces, Claude Code nunca aplica un valor `"bypassPermissions"`. Un subagente se ejecuta en modo `bypassPermissions` solo cuando la sesión principal lo hace. La excepción `bypassPermissions` requiere Claude Code v2.1.267 o posterior.

137 137 

138 Los subagentes pueden tener diferentes indicaciones del sistema y comportamiento menos restringido que su agente principal, por lo que heredar `bypassPermissions` les otorga acceso completo y autónomo al sistema. Las [acciones que ningún modo aprueba automáticamente](/docs/es/permission-modes#actions-no-mode-auto-approves) aún se aplican.138 Los subagentes pueden tener indicaciones del sistema diferentes y un comportamiento menos restringido que su agente principal, por lo que heredar `bypassPermissions` les otorga acceso completo y autónomo al sistema. Las [acciones que ningún modo aprueba automáticamente](/docs/es/permission-modes#actions-no-mode-auto-approves) aún se aplican.

139</Warning>139</Warning>

140 140 

141<h3 id="set-permission-mode">141<h3 id="set-permission-mode">


190 </Tab>190 </Tab>

191 191 

192 <Tab title="Durante la transmisión">192 <Tab title="Durante la transmisión">

193 Llame a `set_permission_mode()` (Python) o `setPermissionMode()` (TypeScript) para cambiar el modo a mitad de sesión. El nuevo modo entra en vigor inmediatamente para todas las solicitudes de herramientas posteriores. Esto le permite comenzar de forma restrictiva y flexibilizar los permisos a medida que aumenta la confianza, por ejemplo, cambiar a `acceptEdits` después de revisar el enfoque inicial de Claude.193 Llame a `set_permission_mode()` (Python) o `setPermissionMode()` (TypeScript) para cambiar el modo durante la sesión. El nuevo modo entra en vigor inmediatamente para todas las solicitudes de herramientas posteriores. Esto le permite comenzar de forma restrictiva y flexibilizar los permisos a medida que aumenta la confianza, por ejemplo, cambiar a `acceptEdits` después de revisar el enfoque inicial de Claude.

194 194 

195 <CodeGroup>195 <CodeGroup>

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


251</h3>251</h3>

252 252 

253<h4 id="accept-edits-mode-acceptedits">253<h4 id="accept-edits-mode-acceptedits">

254 Modo de aceptación de ediciones (`acceptEdits`)254 Modo aceptar ediciones (`acceptEdits`)

255</h4>255</h4>

256 256 

257Aprueba automáticamente operaciones de archivo para que Claude pueda editar código sin solicitar confirmación. Otras herramientas (como comandos Bash que no son operaciones del sistema de archivos) aún requieren permisos normales.257Aprueba automáticamente operaciones de archivos para que Claude pueda editar código sin solicitar confirmación. Otras herramientas (como comandos Bash que no son operaciones del sistema de archivos) aún requieren permisos normales.

258 258 

259**Operaciones aprobadas automáticamente:**259**Operaciones aprobadas automáticamente:**

260 260 


273 Modo no preguntar (`dontAsk`)273 Modo no preguntar (`dontAsk`)

274</h4>274</h4>

275 275 

276Convierte cualquier solicitud de permiso en una denegación, sin llamar a `canUseTool`. Las herramientas preaprobadas por `allowed_tools`, reglas de permiso en `settings.json` o un hook se ejecutan normalmente, al igual que las llamadas que no necesitan aprobación en modo `default`, como lecturas de archivos dentro de sus directorios de trabajo y llamadas a `Agent`. Las herramientas de conector [que su organización estableció en `ask`](/docs/es/mcp#organization-controls-on-connector-tools), las herramientas que requieren interacción del usuario y las eliminaciones `rm` y `rmdir` dirigidas a una [ruta crítica](/docs/es/permission-modes#critical-paths) se deniegan incluso cuando una regla de permiso coincide. Un permiso de hook `PreToolUse` tampoco borra una eliminación de ruta crítica.276Convierte cualquier solicitud de permisos en una denegación, sin llamar a `canUseTool`. Las herramientas preaprobadas por `allowed_tools`, reglas de permiso en `settings.json` o un hook se ejecutan normalmente, al igual que las llamadas que no necesitan aprobación en modo `default`, como lecturas de archivos dentro de sus directorios de trabajo y llamadas a `Agent`. Las herramientas de conector [que su organización configuró como `ask`](/docs/es/mcp#organization-controls-on-connector-tools), las herramientas que requieren interacción del usuario y las eliminaciones `rm` y `rmdir` dirigidas a una [ruta crítica](/docs/es/permission-modes#critical-paths) son denegadas incluso cuando una regla de permiso coincide. Un permiso de hook `PreToolUse` tampoco borra una eliminación de ruta crítica.

277 277 

278**Úselo cuando:** desee una superficie de herramientas fija y explícita para un agente sin interfaz y prefiera una denegación definitiva sobre la dependencia silenciosa de que `canUseTool` esté ausente.278**Úselo cuando:** desee una superficie de herramientas fija y explícita para un agente sin interfaz y prefiera una denegación definitiva sobre la dependencia silenciosa de que `canUseTool` esté ausente.

279 279 

280<h4 id="bypass-permissions-mode-bypasspermissions">280<h4 id="bypass-permissions-mode-bypasspermissions">

281 Modo de omisión de permisos (`bypassPermissions`)281 Modo omitir permisos (`bypassPermissions`)

282</h4>282</h4>

283 283 

284Aprueba automáticamente los usos de herramientas sin solicitar confirmación, excepto los casos enumerados en la advertencia a continuación. Los hooks aún se ejecutan y pueden bloquear operaciones si es necesario.284Aprueba automáticamente usos de herramientas sin solicitar confirmación, excepto en los casos enumerados en la advertencia a continuación. Los hooks aún se ejecutan y pueden bloquear operaciones si es necesario.

285 285 

286<Warning>286<Warning>

287 Úselo con extrema precaución. Claude tiene acceso completo al sistema en este modo. Solo úselo en entornos controlados donde confíe en todas las operaciones posibles.287 Úselo con extrema precaución. Claude tiene acceso completo al sistema en este modo. Úselo solo en entornos controlados donde confíe en todas las operaciones posibles.

288 288 

289 `allowed_tools` no restringe este modo. Cada herramienta se aprueba, no solo las que enumeró. Estos controles aún se aplican:289 `allowed_tools` no restringe este modo. Cada herramienta se aprueba, no solo las que enumeró. Estos controles aún se aplican:

290 290 

291 * Las reglas de denegación, las reglas explícitas de `ask` y los hooks se evalúan antes de la comprobación del modo y aún pueden bloquear una herramienta.291 * Las reglas de denegación, las reglas explícitas de `ask` y los hooks se evalúan antes de la verificación del modo y aún pueden bloquear una herramienta.

292 * Las herramientas de conector [que su organización estableció en `ask`](/docs/es/mcp#organization-controls-on-connector-tools), las herramientas que requieren interacción del usuario y las eliminaciones `rm` y `rmdir` dirigidas a una [ruta crítica](/docs/es/permission-modes#critical-paths) aún se transfieren a su devolución de llamada `canUseTool`.292 * Las herramientas de conector [que su organización configuró como `ask`](/docs/es/mcp#organization-controls-on-connector-tools), las herramientas que requieren interacción del usuario y las eliminaciones `rm` y `rmdir` dirigidas a una [ruta crítica](/docs/es/permission-modes#critical-paths) aún se transfieren a su devolución de llamada `canUseTool`.

293 * Las [salvaguardas de mensajería entre sesiones](/docs/es/permission-modes#skip-all-checks-with-bypasspermissions-mode) aún se aplican.293 * Las [medidas de seguridad de mensajería entre sesiones](/docs/es/permission-modes#skip-all-checks-with-bypasspermissions-mode) aún se aplican.

294</Warning>294</Warning>

295 295 

296<h4 id="plan-mode-plan">296<h4 id="plan-mode-plan">


311 311 

312Para los otros pasos en el flujo de evaluación de permisos:312Para los otros pasos en el flujo de evaluación de permisos:

313 313 

314* [Manejar aprobaciones e entrada del usuario](/docs/es/agent-sdk/user-input): solicitudes de aprobación interactivas y preguntas aclaratorias314* [Manejar aprobaciones e entrada del usuario](/docs/es/agent-sdk/user-input): mensajes de aprobación interactivos y preguntas aclaratorias

315* [Guía de hooks](/docs/es/agent-sdk/hooks): ejecute código personalizado en puntos clave del ciclo de vida del agente315* [Guía de hooks](/docs/es/agent-sdk/hooks): ejecutar código personalizado en puntos clave del ciclo de vida del agente

316* [Reglas de permisos](/docs/es/settings-reference#permission-settings): reglas declarativas de permitir/denegar en `settings.json`316* [Reglas de permisos](/docs/es/settings-reference#permission-settings): reglas declarativas de permitir/denegar en `settings.json`

Details

69 69 

70Las rutas de plugins pueden ser:70Las rutas de plugins pueden ser:

71 71 

72* **Rutas relativas**: se resuelven en relación con su directorio de trabajo actual (por ejemplo, `"./plugins/my-plugin"`)72* **Rutas relativas**: se resuelven en relación con la opción `cwd` (por ejemplo, `"./plugins/my-plugin"`)

73* **Rutas absolutas**: rutas completas del sistema de archivos (por ejemplo, `"/home/user/plugins/my-plugin"`)73* **Rutas absolutas**: rutas completas del sistema de archivos (por ejemplo, `"/home/user/plugins/my-plugin"`)

74 74 

75<Note>75<Note>

Details

513 async def receive_messages(self) -> AsyncIterator[Message]513 async def receive_messages(self) -> AsyncIterator[Message]

514 async def receive_response(self) -> AsyncIterator[Message]514 async def receive_response(self) -> AsyncIterator[Message]

515 async def interrupt(self) -> None515 async def interrupt(self) -> None

516 async def set_permission_mode(self, mode: str) -> None516 async def set_permission_mode(self, mode: PermissionMode) -> None

517 async def set_model(self, model: str | None = None) -> None517 async def set_model(self, model: str | None = None) -> None

518 async def rewind_files(self, user_message_id: str) -> None518 async def rewind_files(self, user_message_id: str) -> None

519 async def get_mcp_status(self) -> McpStatusResponse519 async def get_mcp_status(self) -> McpStatusResponse


543| `reconnect_mcp_server(server_name)` | Reintentar conectar a un servidor MCP que falló o fue desconectado |543| `reconnect_mcp_server(server_name)` | Reintentar conectar a un servidor MCP que falló o fue desconectado |

544| `toggle_mcp_server(server_name, enabled)` | Habilitar o deshabilitar un servidor MCP a mitad de sesión. Deshabilitar elimina sus herramientas |544| `toggle_mcp_server(server_name, enabled)` | Habilitar o deshabilitar un servidor MCP a mitad de sesión. Deshabilitar elimina sus herramientas |

545| `stop_task(task_id)` | Detener una tarea de fondo en ejecución. Un [`TaskNotificationMessage`](#tasknotificationmessage) con estado `"stopped"` sigue en el flujo de mensajes |545| `stop_task(task_id)` | Detener una tarea de fondo en ejecución. Un [`TaskNotificationMessage`](#tasknotificationmessage) con estado `"stopped"` sigue en el flujo de mensajes |

546| `get_server_info()` | Obtener información del servidor incluyendo ID de sesión y capacidades |546| `get_server_info()` | Obtener la información de inicialización del servidor, incluyendo comandos disponibles y estilos de salida |

547| `disconnect()` | Desconectar de Claude |547| `disconnect()` | Desconectar de Claude |

548 548 

549<h4 id="context-manager-support">549<h4 id="context-manager-support">


2006Tipo de unión de todos los bloques de contenido.2006Tipo de unión de todos los bloques de contenido.

2007 2007 

2008```python theme={null}2008```python theme={null}

2009ContentBlock = TextBlock | ThinkingBlock | ToolUseBlock | ToolResultBlock2009ContentBlock = (

2010 TextBlock

2011 | ThinkingBlock

2012 | ToolUseBlock

2013 | ToolResultBlock

2014 | ServerToolUseBlock

2015 | ServerToolResultBlock

2016)

2010```2017```

2011 2018 

2012<h3 id="textblock">2019<h3 id="textblock">


3677| `allowedDomains` | `list[str]` | `[]` | Nombres de dominio que los procesos en sandbox pueden acceder |3684| `allowedDomains` | `list[str]` | `[]` | Nombres de dominio que los procesos en sandbox pueden acceder |

3678| `deniedDomains` | `list[str]` | `[]` | Nombres de dominio que los procesos en sandbox no pueden acceder. Tiene precedencia sobre `allowedDomains` |3685| `deniedDomains` | `list[str]` | `[]` | Nombres de dominio que los procesos en sandbox no pueden acceder. Tiene precedencia sobre `allowedDomains` |

3679| `allowManagedDomainsOnly` | `bool` | `False` | Solo configuración administrada: cuando se establece en configuración administrada, ignorar `allowedDomains` y reglas de permitidos de `WebFetch(domain:...)` de fuentes de configuración no administradas. No tiene efecto cuando se establece a través de opciones de SDK |3686| `allowManagedDomainsOnly` | `bool` | `False` | Solo configuración administrada: cuando se establece en configuración administrada, ignorar `allowedDomains` y reglas de permitidos de `WebFetch(domain:...)` de fuentes de configuración no administradas. No tiene efecto cuando se establece a través de opciones de SDK |

3680| `allowUnixSockets` | `list[str]` | `[]` | Rutas de socket Unix que los procesos pueden acceder (por ejemplo, socket de Docker) |3687| `allowUnixSockets` | `list[str]` | `[]` | Solo macOS: rutas de socket Unix que los procesos pueden acceder, como el socket de Docker. Se ignora en Linux |

3681| `allowAllUnixSockets` | `bool` | `False` | Permitir acceso a todos los sockets Unix |3688| `allowAllUnixSockets` | `bool` | `False` | Permitir acceso a todos los sockets Unix |

3682| `allowLocalBinding` | `bool` | `False` | Permitir que los procesos se vinculen a puertos locales (por ejemplo, para servidores de desarrollo) |3689| `allowLocalBinding` | `bool` | `False` | Permitir que los procesos se vinculen a puertos locales (por ejemplo, para servidores de desarrollo) |

3683| `allowMachLookup` | `list[str]` | `[]` | Solo macOS: nombres de servicios XPC/Mach para permitir. Admite un comodín al final |3690| `allowMachLookup` | `list[str]` | `[]` | Solo macOS: nombres de servicios XPC/Mach para permitir. Admite un comodín al final |

Details

103 Confirme que las skills se cargaron103 Confirme que las skills se cargaron

104</h3>104</h3>

105 105 

106Cerca del inicio del stream, el SDK produce un mensaje del sistema con subtipo `init`. Verifique su matriz `skills` para confirmar que sus skills se cargaron antes de que Claude comience a trabajar. La matriz incluye las skills invocables por el usuario que ha definido, junto con [skills incluidas en Claude Code](/docs/es/skills#bundled-skills).106Cerca del inicio del stream, el SDK produce un mensaje del sistema con subtipo `init`. Verifique su matriz `skills` para confirmar que sus skills se cargaron antes de que Claude comience a trabajar. La matriz incluye las skills invocables por el usuario que ha definido con un campo frontmatter `description` o `when_to_use`, junto con [skills incluidas en Claude Code](/docs/es/skills#bundled-skills).

107 107 

108La matriz lista solo skills invocables por el usuario. Una skill con [`user-invocable: false`](/docs/es/skills#control-who-invokes-a-skill) en su frontmatter se carga y permanece disponible para Claude, pero no aparece en la matriz. La matriz refleja lo que la sesión descubrió y lista las mismas skills independientemente de si están en su lista `skills`.108La matriz lista solo skills invocables por el usuario. Una skill con [`user-invocable: false`](/docs/es/skills#control-who-invokes-a-skill) en su frontmatter se carga y permanece disponible para Claude, pero no aparece en la matriz. La matriz lista las mismas skills independientemente de si están en su lista `skills`.

109 109 

110<h3 id="allow-only-specific-skills">110<h3 id="allow-only-specific-skills">

111 Permita solo skills específicas111 Permita solo skills específicas


173Available commands: ["clear", "compact", "context", "usage", "code-review", "verify", "security-check", ...]173Available commands: ["clear", "compact", "context", "usage", "code-review", "verify", "security-check", ...]

174```174```

175 175 

176Sus skills invocables por el usuario aparecen tanto en esta lista como en la matriz `skills` de [Confirme que las skills se cargaron](#confirm-skills-loaded). La lista `slash_commands` añade el resto de los comandos disponibles en su sesión. Una skill con [`user-invocable: false`](/docs/es/skills#control-who-invokes-a-skill) en su frontmatter no aparece en ninguno de los dos. Las sesiones que configuran [servidores MCP](/docs/es/agent-sdk/mcp) también pueden exponer [prompts MCP como comandos](/docs/es/mcp#use-mcp-prompts-as-commands).176Una skill con [`user-invocable: false`](/docs/es/skills#control-who-invokes-a-skill) en su frontmatter no aparece en esta lista ni en la matriz `skills` de [Confirme que las skills se cargaron](#confirm-skills-loaded). Las sesiones que configuran [servidores MCP](/docs/es/agent-sdk/mcp) también pueden exponer [prompts MCP como comandos](/docs/es/mcp#use-mcp-prompts-as-commands).

177 177 

178<h3 id="dispatch-commands-by-name">178<h3 id="dispatch-commands-by-name">

179 Despache comandos por nombre179 Despache comandos por nombre

Details

79 79 

80Cuando los mensajes parciales están habilitados, recibe eventos de transmisión sin procesar de la API de Claude envueltos en un objeto. El tipo tiene nombres diferentes en cada SDK:80Cuando los mensajes parciales están habilitados, recibe eventos de transmisión sin procesar de la API de Claude envueltos en un objeto. El tipo tiene nombres diferentes en cada SDK:

81 81 

82* **Python**: `StreamEvent` (importar desde `claude_agent_sdk.types`)82* **Python**: [`StreamEvent`](/docs/es/agent-sdk/python#streamevent) (importar desde `claude_agent_sdk.types`)

83* **TypeScript**: `SDKPartialAssistantMessage` con `type: 'stream_event'`83* **TypeScript**: [`SDKPartialAssistantMessage`](/docs/es/agent-sdk/typescript#sdkpartialassistantmessage) con `type: 'stream_event'`

84 84 

85Ambos contienen eventos sin procesar de la API de Claude, no texto acumulado. Debe extraer y acumular los deltas de texto usted mismo. Aquí está la estructura de cada tipo:85Ambos contienen eventos sin procesar de la API de Claude, no texto acumulado. Debe extraer y acumular los deltas de texto usted mismo.

86 

87<CodeGroup>

88 ```python Python theme={null}

89 @dataclass

90 class StreamEvent:

91 uuid: str # Unique identifier for this event

92 session_id: str # Session identifier

93 event: dict[str, Any] # The raw Claude API stream event

94 parent_tool_use_id: str | None # Always None

95 ```

96 

97 ```typescript TypeScript theme={null}

98 type SDKPartialAssistantMessage = {

99 type: "stream_event";

100 event: BetaRawMessageStreamEvent; // From Anthropic SDK

101 parent_tool_use_id: string | null;

102 uuid: UUID;

103 session_id: string;

104 ttft_ms?: number; // Time to first token in ms, present only on message_start events

105 user_message_uuid?: string;

106 };

107 ```

108</CodeGroup>

109 86 

110El campo `parent_tool_use_id` siempre es `None` en Python y `null` en TypeScript. Los eventos de transmisión se emiten solo para la sesión principal; los deltas a nivel de token de los subagentes no se reenvían. Para atribuir la salida a un subagente, use mensajes completos, que llevan `parent_tool_use_id`. Consulte [Detectar invocación de subagente](/docs/es/agent-sdk/subagents#detect-subagent-invocation).87El campo `parent_tool_use_id` siempre es `None` en Python y `null` en TypeScript. Los eventos de transmisión se emiten solo para la sesión principal; los deltas a nivel de token de los subagentes no se reenvían. Para atribuir la salida a un subagente, use mensajes completos, que llevan `parent_tool_use_id`. Consulte [Detectar invocación de subagente](/docs/es/agent-sdk/subagents#detect-subagent-invocation).

111 88 

Details

496| `debug` | `boolean` | `false` | Habilite el modo de depuración para el proceso de Claude Code |496| `debug` | `boolean` | `false` | Habilite el modo de depuración para el proceso de Claude Code |

497| `debugFile` | `string` | `undefined` | Escriba registros de depuración en una ruta de archivo específica. Habilita implícitamente el modo de depuración |497| `debugFile` | `string` | `undefined` | Escriba registros de depuración en una ruta de archivo específica. Habilita implícitamente el modo de depuración |

498| `disallowedTools` | `string[]` | `[]` | Herramientas a negar. Un nombre simple como `"Bash"` elimina la herramienta del contexto de Claude. Una regla con alcance como `"Bash(rm *)"` deja la herramienta disponible y niega las llamadas coincidentes en cada modo de permiso, incluyendo `bypassPermissions`, para el comando [tal como está escrito](/docs/es/permissions#bash-rule-limits). Vea [Permissions](/docs/es/agent-sdk/permissions#allow-and-deny-rules) |498| `disallowedTools` | `string[]` | `[]` | Herramientas a negar. Un nombre simple como `"Bash"` elimina la herramienta del contexto de Claude. Una regla con alcance como `"Bash(rm *)"` deja la herramienta disponible y niega las llamadas coincidentes en cada modo de permiso, incluyendo `bypassPermissions`, para el comando [tal como está escrito](/docs/es/permissions#bash-rule-limits). Vea [Permissions](/docs/es/agent-sdk/permissions#allow-and-deny-rules) |

499| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | Predeterminado del modelo | Controla cuánto esfuerzo pone Claude en su respuesta. Funciona con el pensamiento adaptativo para guiar la profundidad del pensamiento. Vea [adjust the effort level](/docs/es/model-config#adjust-effort-level) |499| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | Controla cuánto esfuerzo pone Claude en su respuesta. Funciona con el pensamiento adaptativo para guiar la profundidad del pensamiento. Vea [adjust the effort level](/docs/es/model-config#adjust-effort-level) |

500| `enableFileCheckpointing` | `boolean` | `false` | Habilite el seguimiento de cambios de archivo para rebobinar. Vea [File checkpointing](/docs/es/agent-sdk/file-checkpointing) |500| `enableFileCheckpointing` | `boolean` | `false` | Habilite el seguimiento de cambios de archivo para rebobinar. Vea [File checkpointing](/docs/es/agent-sdk/file-checkpointing) |

501| `env` | `Record<string, string \| undefined>` | `process.env` | Variables de entorno. Cuando se establece, esto reemplaza el entorno del subproceso en lugar de fusionarse con `process.env`, así que pase `{ ...process.env, YOUR_VAR: 'value' }` para mantener variables heredadas como `PATH`. Vea [Handle slow or stalled API responses](#handle-slow-or-stalled-api-responses) para un ejemplo de este patrón, y [Environment variables](/docs/es/env-vars) para variables que la CLI subyacente lee. Establezca `CLAUDE_AGENT_SDK_CLIENT_APP` para identificar su aplicación en el encabezado User-Agent |501| `env` | `Record<string, string \| undefined>` | `process.env` | Variables de entorno. Cuando se establece, esto reemplaza el entorno del subproceso en lugar de fusionarse con `process.env`, así que pase `{ ...process.env, YOUR_VAR: 'value' }` para mantener variables heredadas como `PATH`. Vea [Handle slow or stalled API responses](#handle-slow-or-stalled-api-responses) para un ejemplo de este patrón, y [Environment variables](/docs/es/env-vars) para variables que la CLI subyacente lee. Establezca `CLAUDE_AGENT_SDK_CLIENT_APP` para identificar su aplicación en el encabezado User-Agent |

502| `executable` | `'bun' \| 'deno' \| 'node'` | Detectado automáticamente | Tiempo de ejecución de JavaScript a usar |502| `executable` | `'bun' \| 'deno' \| 'node'` | Detectado automáticamente | Tiempo de ejecución de JavaScript a usar |


5540 `SDKLocalCommandOutputMessage`5540 `SDKLocalCommandOutputMessage`

5541</h3>5541</h3>

5542 5542 

5543Salida de un comando local como `/voice` o `/usage`. Se muestra como texto de estilo asistente en la transcripción.5543Claude Code no emite este tipo de mensaje. Cuando envía un comando como `/context` o `/usage` como un mensaje, su salida llega como un [`SDKAssistantMessage`](#sdkassistantmessage).

5544 5544 

5545```typescript theme={null}5545```typescript theme={null}

5546type SDKLocalCommandOutputMessage = {5546type SDKLocalCommandOutputMessage = {

Details

12 12 

13Para preguntas aclaratorias, Claude genera las preguntas y opciones. Su función es presentarlas a los usuarios y devolver sus selecciones. No puede agregar sus propias preguntas a este flujo; si necesita preguntarle algo a los usuarios usted mismo, hágalo por separado en la lógica de su aplicación.13Para preguntas aclaratorias, Claude genera las preguntas y opciones. Su función es presentarlas a los usuarios y devolver sus selecciones. No puede agregar sus propias preguntas a este flujo; si necesita preguntarle algo a los usuarios usted mismo, hágalo por separado en la lógica de su aplicación.

14 14 

15El callback puede permanecer pendiente indefinidamente. La ejecución permanece pausada hasta que su callback regrese, y el SDK solo cancela la espera cuando la consulta misma se cancela. Si un usuario podría tardar más en responder de lo que su proceso puede razonablemente mantenerse ejecutando, registre un [hook `PreToolUse`](/docs/es/agent-sdk/hooks) que devuelva la [decisión `defer`](/docs/es/hooks#defer-a-tool-call-for-later) en lugar de esperar en el callback, para que el proceso pueda salir y reanudarse más tarde desde la sesión persistida.15El callback puede permanecer pendiente indefinidamente. La ejecución permanece pausada hasta que su callback regrese. Si un usuario podría tardar más en responder de lo que su proceso puede razonablemente mantenerse ejecutando, registre un [hook `PreToolUse`](/docs/es/agent-sdk/hooks) que devuelva la [decisión `defer`](/docs/es/hooks#defer-a-tool-call-for-later) en lugar de esperar en el callback, para que el proceso pueda salir y reanudarse más tarde desde la sesión persistida.

16 16 

17Esta guía le muestra cómo detectar cada tipo de solicitud y responder apropiadamente.17Esta guía le muestra cómo detectar cada tipo de solicitud y responder apropiadamente.

18 18 


204 ```204 ```

205</CodeGroup>205</CodeGroup>

206 206 

207<Note>

208 En Python, `can_use_tool` requiere [modo de transmisión](/docs/es/agent-sdk/streaming-vs-single-mode). Cuando pasa una secuencia de mensajes finita a través de `query(prompt=generator)` o `ClaudeSDKClient.connect(prompt=async_iterable)`, el SDK cierra la secuencia de entrada después del último mensaje, antes de que se pueda invocar la devolución de llamada de permiso, a menos que un hook registrado o un servidor MCP en proceso la mantenga abierta. El ejemplo anterior la mantiene abierta con un hook `PreToolUse` que devuelve `{"continue_": True}`. Conectarse sin un prompt y enviar mensajes a través de `ClaudeSDKClient.query()` mantiene la secuencia abierta por sí sola y no necesita ningún hook.

209</Note>

210 

211Este ejemplo utiliza un flujo s/n donde cualquier entrada que no sea `s` se trata como un rechazo. En la práctica, podría crear una interfaz de usuario más rica que permita a los usuarios modificar la solicitud, proporcionar comentarios o redirigir a Claude completamente. Consulte [Responder a solicitudes de herramientas](#respond-to-tool-requests) para ver todas las formas en que puede responder.207Este ejemplo utiliza un flujo s/n donde cualquier entrada que no sea `s` se trata como un rechazo. En la práctica, podría crear una interfaz de usuario más rica que permita a los usuarios modificar la solicitud, proporcionar comentarios o redirigir a Claude completamente. Consulte [Responder a solicitudes de herramientas](#respond-to-tool-requests) para ver todas las formas en que puede responder.

212 208 

213<h3 id="respond-to-tool-requests">209<h3 id="respond-to-tool-requests">

agent-view.md +2 −2

Details

712 712 

713Claude Code también mantiene un nombre que estableció con [`/rename`](/docs/es/commands) o `Ctrl+R` en ese reinicio, por lo que aún puede ejecutar [`claude --resume <name>`](/docs/es/sessions#name-your-sessions) para llegar a la sesión.713Claude Code también mantiene un nombre que estableció con [`/rename`](/docs/es/commands) o `Ctrl+R` en ese reinicio, por lo que aún puede ejecutar [`claude --resume <name>`](/docs/es/sessions#name-your-sessions) para llegar a la sesión.

714 714 

715Un mensaje que escribió se guarda con [`Ctrl+S`](/docs/es/interactive-mode#general-controls) mientras está adjunto se mantiene con la sesión también. Reabra la sesión después de que su proceso fue detenido o reiniciado, y `Ctrl+S` restaura el texto guardado. El contenido pegado en el guardado no sobrevive al reinicio.

716 

715<h3 id="settings-plugins-and-mcp-servers">717<h3 id="settings-plugins-and-mcp-servers">

716 Configuración, plugins y servidores MCP718 Configuración, plugins y servidores MCP

717</h3>719</h3>


738 740 

739`--settings` acepta una ruta de archivo o una cadena JSON en línea. Una ruta de archivo debe apuntar a un archivo existente; Claude Code sale con un error `Settings file not found` si no lo hace.741`--settings` acepta una ruta de archivo o una cadena JSON en línea. Una ruta de archivo debe apuntar a un archivo existente; Claude Code sale con un error `Settings file not found` si no lo hace.

740 742 

741Un mensaje que escribió se guarda con [`Ctrl+S`](/docs/es/interactive-mode#general-controls) mientras está adjunto se mantiene con la sesión también. Reabra la sesión después de que su proceso fue detenido o reiniciado, y `Ctrl+S` restaura el texto guardado. El contenido pegado en el guardado no sobrevive al reinicio.

742 

743<h2 id="manage-sessions-from-the-shell">743<h2 id="manage-sessions-from-the-shell">

744 Gestionar sesiones desde el shell744 Gestionar sesiones desde el shell

745</h2>745</h2>

Details

239 239 

240A partir de Claude Code v2.1.181, la salida plana de `aws configure export-credentials --format process` también se acepta, con las mismas claves en el nivel superior en lugar de anidadas bajo `Credentials`.240A partir de Claude Code v2.1.181, la salida plana de `aws configure export-credentials --format process` también se acepta, con las mismas claves en el nivel superior en lugar de anidadas bajo `Credentials`.

241 241 

242`Expiration` es opcional. A partir de Claude Code v2.1.176, cuando el comando devuelve un `Expiration` ISO 8601 válido, Claude Code almacena en caché las credenciales hasta cinco minutos antes de esa hora. Sin él, o en versiones anteriores, las credenciales se almacenan en caché durante una hora.242`Expiration` es opcional. Cuando el comando devuelve un `Expiration` ISO 8601 válido, Claude Code almacena en caché las credenciales hasta cinco minutos antes de esa hora. Sin él, las credenciales se almacenan en caché durante una hora.

243 243 

244Cuando configura `awsCredentialExport` sin `awsAuthRefresh`, Claude Code utiliza las credenciales exportadas directamente y no vuelve a resolver la cadena de proveedores de credenciales predeterminada de AWS al inicio. Requiere Claude Code v2.1.206 o posterior.244Cuando configura `awsCredentialExport` sin `awsAuthRefresh`, Claude Code utiliza las credenciales exportadas directamente y no vuelve a resolver la cadena de proveedores de credenciales predeterminada de AWS al inicio. Requiere Claude Code v2.1.206 o posterior.

245 245 

Details

170* **`claude setup-token` e `/install-github-app`**: aplican solo `forceLoginMethod`, por lo que pueden acuñar un token en una organización diferente170* **`claude setup-token` e `/install-github-app`**: aplican solo `forceLoginMethod`, por lo que pueden acuñar un token en una organización diferente

171* **Inicio de sesión de [puerta de enlace](/docs/es/claude-apps-gateway)**: seleccionado por `forceLoginMethod: "gateway"` en lugar de restringido por él, y no se autentica contra una organización de Anthropic, por lo que `forceLoginOrgUUID` no se aplica; use su proveedor de identidad de puerta de enlace para restringir el acceso171* **Inicio de sesión de [puerta de enlace](/docs/es/claude-apps-gateway)**: seleccionado por `forceLoginMethod: "gateway"` en lugar de restringido por él, y no se autentica contra una organización de Anthropic, por lo que `forceLoginOrgUUID` no se aplica; use su proveedor de identidad de puerta de enlace para restringir el acceso

172 172 

173Implemente las claves a través de su herramienta de administración de dispositivos. [La configuración administrada por servidor](/docs/es/server-managed-settings) solo llega a cuentas que ya están autenticadas en su organización, por lo que no pueden redirigir el primer inicio de sesión de un desarrollador. Si su organización también distribuye configuración administrada por servidor, establezca las claves en ambos lugares: las fuentes de [configuración administrada no se fusionan](/docs/es/server-managed-settings#settings-precedence), y la configuración administrada por servidor en caché reemplaza el archivo administrado por dispositivo, aparte de dos tipos de claves que aún se completan desde una fuente perdedora:173Implemente las claves a través de su herramienta de administración de dispositivos. [La configuración administrada por servidor](/docs/es/server-managed-settings) solo llega a cuentas que ya están autenticadas en su organización, por lo que no pueden redirigir el primer inicio de sesión de un desarrollador. Si su organización también distribuye configuración administrada por servidor, establezca las claves en ambos lugares: las fuentes de [configuración administrada no se fusionan](/docs/es/server-managed-settings#settings-precedence), y la configuración administrada por servidor en caché reemplaza el archivo administrado por dispositivo, aparte de algunos [excepciones por clave](/docs/es/server-managed-settings#per-key-exceptions-across-managed-sources). `forceLoginOrgUUID` y los valores `"claudeai"` y `"console"` de `forceLoginMethod` no están entre esas excepciones, así que manténgalos en ambos lugares.

174 

175* **El bloque `env`**: [se fusiona por clave](/docs/es/server-managed-settings#per-key-exceptions-across-managed-sources) en Claude Code v2.1.223 o posterior

176* **Las [claves de bloqueo entre fuentes](/docs/es/server-managed-settings#per-key-exceptions-across-managed-sources)**: honradas desde cualquier fuente de administrador

177 

178`forceLoginMethod` y `forceLoginOrgUUID` no son ninguno de estos, así que manténgalos en ambos lugares.

179 174 

180Las claves también deciden si una sesión que no usa una credencial de inicio de sesión puede iniciarse. Consulte [`forceLoginOrgUUID`](/docs/es/settings-reference#forceloginorguuid) en la referencia de configuración para el comportamiento completo.175Las claves también deciden si una sesión que no usa una credencial de inicio de sesión puede iniciarse. Consulte [`forceLoginOrgUUID`](/docs/es/settings-reference#forceloginorguuid) en la referencia de configuración para el comportamiento completo.

181 176 

best-practices.md +25 −27

Details

476***476***

477 477 

478<h2 id="automate-and-scale">478<h2 id="automate-and-scale">

479 Automatice y escale479 Automatizar y escalar

480</h2>480</h2>

481 481 

482Una vez que sea efectivo con un Claude, multiplique su salida con sesiones paralelas, modo no interactivo y patrones de abanico.482Una vez que sea efectivo con un Claude, multiplique su salida con sesiones paralelas, modo no interactivo y patrones de distribución.

483 483 

484<h3 id="run-non-interactive-mode">484<h3 id="run-non-interactive-mode">

485 Ejecutar modo no interactivo485 Ejecutar modo no interactivo

486</h3>486</h3>

487 487 

488<Tip>488<Tip>

489 Use `claude -p "prompt"` en CI, hooks previos a la confirmación o scripts. Agregue `--output-format stream-json --verbose` para salida JSON de transmisión.489 Use `claude -p "prompt"` en CI, hooks de pre-commit o scripts. Agregue `--output-format stream-json --verbose` para salida JSON en streaming.

490</Tip>490</Tip>

491 491 

492Con `claude -p "your prompt"`, puede ejecutar Claude de forma no interactiva, sin una sesión. [El modo no interactivo](/docs/es/headless) es cómo integra Claude en canalizaciones de CI, hooks previos a la confirmación o cualquier flujo de trabajo automatizado. Los formatos de salida le permiten analizar resultados mediante programación: texto sin formato, JSON o JSON de transmisión.492Con `claude -p "su prompt"`, puede ejecutar Claude de forma no interactiva, sin un prompt interactivo. La ejecución aún crea una sesión reanudable a menos que pase `--no-session-persistence`. [El modo no interactivo](/docs/es/headless) es cómo integra Claude en canalizaciones de CI, hooks de pre-commit o cualquier flujo de trabajo automatizado. Los formatos de salida le permiten analizar resultados mediante programación: texto sin formato, JSON o JSON en streaming.

493 493 

494```bash theme={null}494```bash theme={null}

495# One-off queries495# Consultas puntuales

496claude -p "Explain what this project does"496claude -p "Explain what this project does"

497 497 

498# Structured output for scripts498# Salida estructurada para scripts

499claude -p "List all API endpoints" --output-format json499claude -p "List all API endpoints" --output-format json

500 500 

501# Streaming for real-time processing501# Streaming para procesamiento en tiempo real

502claude -p "Analyze this log file" --output-format stream-json --verbose502claude -p "Analyze this log file" --output-format stream-json --verbose

503```503```

504 504 


514 514 

515Elija el enfoque paralelo que se ajuste a cuánta coordinación desea hacer usted mismo, y agregue mensajería cuando las sesiones necesiten pasar hallazgos entre ellas:515Elija el enfoque paralelo que se ajuste a cuánta coordinación desea hacer usted mismo, y agregue mensajería cuando las sesiones necesiten pasar hallazgos entre ellas:

516 516 

517* [Worktrees](/docs/es/worktrees): ejecute sesiones de CLI separadas en checkouts de git aislados para que las ediciones no choquen517* [Git Worktrees](/docs/es/worktrees): ejecute sesiones de CLI separadas en checkouts de git aislados para que las ediciones no choquen

518* [Mensajería entre sesiones](/docs/es/cross-session-messaging): permita que las sesiones que ejecute usted mismo pasen hallazgos entre ellas518* [Mensajería entre sesiones](/docs/es/cross-session-messaging): permita que las sesiones que ejecuta usted mismo pasen hallazgos entre sí

519* [Aplicación de escritorio](/docs/es/desktop#work-in-parallel-with-sessions): gestione múltiples sesiones locales visualmente, cada una en su propio worktree519* [Aplicación de escritorio](/docs/es/desktop#work-in-parallel-with-sessions): administre múltiples sesiones locales visualmente, opcionalmente cada una en su propio worktree

520* [Claude Code en la web](/docs/es/claude-code-on-the-web): ejecute sesiones en la nube, en infraestructura administrada por Anthropic de forma predeterminada520* [Claude Code en la web](/docs/es/claude-code-on-the-web): ejecute sesiones en la nube, en infraestructura administrada por Anthropic de forma predeterminada

521* [Vista de agente](/docs/es/agent-view): vista previa de investigación. Ejecute `claude agents` para enviar sesiones que sigan ejecutándose en segundo plano y obsérvelas desde una pantalla521* [Vista de agente](/docs/es/agent-view): vista previa de investigación. Ejecute `claude agents` para enviar sesiones que sigan ejecutándose en segundo plano y obsérvelas desde una pantalla

522* [Equipos de agentes](/docs/es/agent-teams): experimental y deshabilitado de forma predeterminada. Coordinación automatizada de múltiples sesiones con tareas compartidas, mensajería y un líder de equipo522* [Equipos de agentes](/docs/es/agent-teams): experimental y deshabilitado de forma predeterminada. Coordinación automatizada de múltiples sesiones con tareas compartidas, mensajería y un líder de equipo

523 523 

524Más allá de paralelizar el trabajo, múltiples sesiones habilitan flujos de trabajo enfocados en la calidad. Un contexto nuevo mejora la revisión de código ya que Claude no estará sesgado hacia el código que acaba de escribir.524Más allá de paralelizar el trabajo, múltiples sesiones permiten flujos de trabajo enfocados en la calidad. Un contexto fresco mejora la revisión de código ya que Claude no estará sesgado hacia el código que acaba de escribir.

525 525 

526Por ejemplo, use un patrón Escritor/Revisor:526Por ejemplo, use un patrón Escritor/Revisor:

527 527 


534Puede hacer algo similar con pruebas: haga que un Claude escriba pruebas, luego otro escriba código para pasarlas.534Puede hacer algo similar con pruebas: haga que un Claude escriba pruebas, luego otro escriba código para pasarlas.

535 535 

536<h3 id="fan-out-across-files">536<h3 id="fan-out-across-files">

537 Abanico a través de archivos537 Distribuir entre archivos

538</h3>538</h3>

539 539 

540<Tip>540<Tip>

541 Recorra tareas llamando a `claude -p` para cada una. Use `--allowedTools` para permisos de alcance para operaciones por lotes.541 Recorra tareas llamando a `claude -p` para cada una. Use `--allowedTools` para limitar permisos para operaciones por lotes.

542</Tip>542</Tip>

543 543 

544Para migraciones o análisis grandes, puede distribuir trabajo entre muchas invocaciones paralelas de Claude. En un repositorio de git, ejecute [`/batch <instruction>`](/docs/es/commands#all-commands) para que Claude divida el cambio entre 5 a 30 subagentes. Cada subagente trabaja en su propio worktree y abre una solicitud de extracción. Para impulsar el abanico desde su propio script en su lugar, recorra `claude -p`:544Para migraciones o análisis grandes, puede distribuir el trabajo entre muchas invocaciones paralelas de Claude. En un repositorio de git, ejecute [`/batch <instruction>`](/docs/es/commands#all-commands) para que Claude divida el cambio entre 5 a 30 subagentes. Cada subagente trabaja en su propio worktree y abre una solicitud de extracción. Para impulsar la distribución desde su propio script en su lugar, recorra `claude -p`:

545 545 

546<Steps>546<Steps>

547 <Step title="Generar una lista de tareas">547 <Step title="Generar una lista de tareas">

548 Haga que Claude escriba la lista de archivos que necesitan migración en un archivo, para que el bucle en el siguiente paso pueda leerla, con un indicador como `list all 2,000 Python files that need migrating and save the list to files.txt`548 Haga que Claude escriba la lista de archivos que necesitan migración en un archivo, para que el bucle en el siguiente paso pueda leerlo, con un prompt como `list all 2,000 Python files that need migrating and save the list to files.txt`

549 </Step>549 </Step>

550 550 

551 <Step title="Escribir un script para recorrer la lista">551 <Step title="Escribir un script para recorrer la lista">


558 </Step>558 </Step>

559 559 

560 <Step title="Probar en algunos archivos, luego ejecutar en todos ellos">560 <Step title="Probar en algunos archivos, luego ejecutar en todos ellos">

561 Refine su indicación basada en lo que sale mal con los primeros 2-3 archivos, luego ejecute en el conjunto completo. La bandera `--allowedTools` restringe lo que Claude puede hacer, lo que importa cuando está ejecutando desatendido.561 Refine su prompt basándose en lo que sale mal con los primeros 2-3 archivos, luego ejecute en el conjunto completo. La bandera `--allowedTools` restringe lo que Claude puede hacer, lo que importa cuando está ejecutando sin supervisión.

562 </Step>562 </Step>

563</Steps>563</Steps>

564 564 


568claude -p "<your prompt>" --output-format json | your_command568claude -p "<your prompt>" --output-format json | your_command

569```569```

570 570 

571Use `--verbose` para depuración durante el desarrollo, y apáguelo en producción.

572 

573<h3 id="run-autonomously-with-auto-mode">571<h3 id="run-autonomously-with-auto-mode">

574 Ejecutar autónomamente con modo automático572 Ejecutar de forma autónoma con modo automático

575</h3>573</h3>

576 574 

577Para ejecución ininterrumpida con verificaciones de seguridad en segundo plano, use [modo automático](/docs/es/permission-modes#eliminate-prompts-with-auto-mode). Un modelo clasificador revisa comandos antes de que se ejecuten, bloqueando escalada de alcance, infraestructura desconocida y acciones impulsadas por contenido hostil mientras permite que el trabajo rutinario continúe sin indicaciones.575Para ejecución ininterrumpida con comprobaciones de seguridad en segundo plano, use [modo automático](/docs/es/permission-modes#eliminate-prompts-with-auto-mode). Un modelo clasificador revisa los comandos antes de que se ejecuten, bloqueando escalada de alcance, infraestructura desconocida y acciones impulsadas por contenido hostil mientras permite que el trabajo rutinario continúe sin prompts.

578 576 

579```bash theme={null}577```bash theme={null}

580claude --permission-mode auto -p "fix all lint errors"578claude --permission-mode auto -p "fix all lint errors"

581```579```

582 580 

583Cuando el clasificador bloquea repetidamente acciones en una ejecución no interactiva con la bandera `-p`, Claude Code no detiene la ejecución. Consulte [cuándo el modo automático se cancela](/docs/es/permission-modes#when-auto-mode-falls-back) para saber qué sucede en su lugar y para los umbrales.581Cuando el clasificador bloquea repetidamente acciones en una ejecución no interactiva con la bandera `-p`, Claude Code no detiene la ejecución. Vea [cuándo el modo automático retrocede](/docs/es/permission-modes#when-auto-mode-falls-back) para saber qué sucede en su lugar y para los umbrales.

584 582 

585<h3 id="add-an-adversarial-review-step">583<h3 id="add-an-adversarial-review-step">

586 Agregue un paso de revisión adversarial584 Agregar un paso de revisión adversarial

587</h3>585</h3>

588 586 

589<Tip>587<Tip>

590 Antes de tratar una tarea como completada, haga que un subaagente revise el diff en un contexto nuevo e informe sobre las brechas.588 Antes de tratar una tarea como completada, haga que un subagente revise el diff en un contexto fresco e informe sobre brechas.

591</Tip>589</Tip>

592 590 

593Cuanto más tiempo trabaje Claude desatendido, más importa una verificación independiente antes de contar el trabajo como completado. Un revisor que se ejecuta en un contexto de [subaagente](/docs/es/sub-agents) nuevo ve solo el diff y los criterios que le proporciona, no el razonamiento que produjo el cambio, por lo que evalúa el resultado en sus propios términos.591Cuanto más tiempo trabaje Claude sin supervisión, más importa una verificación independiente antes de contar el trabajo como completado. Un revisor que se ejecuta en un contexto de [subagente](/docs/es/sub-agents) fresco ve solo el diff y los criterios que le proporciona, no el razonamiento que produjo el cambio, por lo que evalúa el resultado en sus propios términos.

594 592 

595Para una verificación de corrección, ejecute la [skill `/code-review`](/docs/es/commands) incluida, que revisa el diff actual en busca de errores en un subaagente nuevo y devuelve hallazgos a la sesión. Para verificar el diff contra su plan en su lugar, escriba el indicador de revisión usted mismo. Nombre el trabajo a verificar, el plan a verificar y qué cuenta como un hallazgo:593Para una verificación de corrección, ejecute la [skill `/code-review`](/docs/es/commands) incluida, que revisa el diff actual en busca de errores en un subagente fresco y devuelve hallazgos a la sesión. Para verificar el diff contra su plan en su lugar, escriba el prompt de revisión usted mismo. Nombre el trabajo a verificar, el plan a verificar contra él y qué cuenta como un hallazgo:

596 594 

597```text wrap theme={null}595```text wrap theme={null}

598Use a subagent to review the rate limiter diff against PLAN.md. Check that596Use a subagent to review the rate limiter diff against PLAN.md. Check that


600nothing outside the task's scope changed. Report gaps, not style preferences.598nothing outside the task's scope changed. Report gaps, not style preferences.

601```599```

602 600 

603Debido a que el revisor se ejecuta como un subagente, la sesión implementadora recibe las brechas directamente y puede corregirlas y revisar nuevamente sin que usted copie hallazgos entre ventanas.601Debido a que el revisor se ejecuta como un subagente, la sesión de implementación recibe las brechas directamente y puede corregirlas y revisar nuevamente sin que usted copie hallazgos entre ventanas.

604 602 

605<Callout>603<Callout>

606 Un revisor indicado para encontrar brechas generalmente reportará algunas, incluso cuando el trabajo es sólido, porque eso es lo que se le pidió que hiciera. Perseguir cada hallazgo conduce a sobre-ingeniería: capas de abstracción adicionales, código defensivo y pruebas para casos que no pueden suceder. Dígale al revisor que marque solo las brechas que afecten la corrección o los requisitos establecidos, y trate el resto como opcional.604 Un revisor indicado para encontrar brechas generalmente reportará algunas, incluso cuando el trabajo es sólido, porque eso es lo que se le pidió que hiciera. Perseguir cada hallazgo conduce a sobre-ingeniería: capas de abstracción adicionales, código defensivo y pruebas para casos que no pueden suceder. Dígale al revisor que marque solo brechas que afecten la corrección o los requisitos establecidos, y trate el resto como opcional.

607</Callout>605</Callout>

608 606 

609***607***

chrome.md +2 −5

Details

124 Herramientas del navegador en plan mode124 Herramientas del navegador en plan mode

125</h3>125</h3>

126 126 

127En [plan mode](/docs/es/permission-modes#analyze-before-you-edit-with-plan-mode), las llamadas de herramientas del navegador que solo leen la página o el estado del navegador se ejecutan sin un aviso de permiso, y las llamadas que cambian el estado solicitan aprobación.127En [plan mode](/docs/es/permission-modes#analyze-before-you-edit-with-plan-mode), aparece un aviso de permiso antes de que Claude grabe un GIF, abra una nueva pestaña o ejecute un atajo. Si [el modo bypass permissions está disponible](/docs/es/permission-modes#skip-all-checks-with-bypasspermissions-mode) en su sesión y [la obtención de banderas de características](/docs/es/env-vars#features-that-need-feature-flag-fetching) está desactivada, estas llamadas se ejecutan sin un aviso.

128 128 

129* **Llamadas de solo lectura**: `read_page`, `get_page_text`, `find`, lectura de mensajes de consola o solicitudes de red, y captura de pantalla129Una llamada `tabs_context_mcp` también solicita aprobación cuando establece `createIfEmpty`, y lo mismo ocurre con una llamada `browser_batch` que incluya cualquiera de estas acciones.

130* **Llamadas que cambian el estado**: clics, escritura, navegación, gestión de pestañas y ventanas, y grabación de un GIF

131 

132Una llamada que de otro modo sería de solo lectura también solicita aprobación cuando establece una bandera de entrada que cambia el estado, como `createIfEmpty` en `tabs_context_mcp`, `clear` en los lectores de consola y red, o `save_to_disk` en una captura de pantalla. Una llamada `browser_batch` se ejecuta sin un aviso solo cuando cada acción dentro de ella es de solo lectura.

133 130 

134<h2 id="example-workflows">131<h2 id="example-workflows">

135 Flujos de trabajo de ejemplo132 Flujos de trabajo de ejemplo

Details

87 `--cloud` crea sesiones en la nube. `--remote-control` no está relacionado: expone una sesión de CLI local para monitoreo desde la web. Consulte [Control Remoto](/docs/es/remote-control).87 `--cloud` crea sesiones en la nube. `--remote-control` no está relacionado: expone una sesión de CLI local para monitoreo desde la web. Consulte [Control Remoto](/docs/es/remote-control).

88</Note>88</Note>

89 89 

90Use `/tasks` en la CLI de Claude Code para verificar el progreso, o abra la sesión en claude.ai o la aplicación móvil Claude para interactuar directamente. Desde allí puede dirigir Claude, proporcionar retroalimentación o responder preguntas como en cualquier otra conversación.90Abra la sesión en claude.ai o la aplicación móvil Claude para verificar el progreso o interactuar directamente. Desde allí puede dirigir Claude, proporcionar retroalimentación o responder preguntas como en cualquier otra conversación.

91 91 

92Si Claude hace una pregunta y la sesión permanece inactiva, aún puede responder cuando regrese, hasta [vencimiento del entorno](#environment-expired), y la sesión continúa desde su respuesta.92Si Claude hace una pregunta y la sesión permanece inactiva, aún puede responder cuando regrese, hasta [vencimiento del entorno](#environment-expired), y la sesión continúa desde su respuesta.

93 93 


115claude --cloud "Refactor the logger to use structured output"115claude --cloud "Refactor the logger to use structured output"

116```116```

117 117 

118Monitoree todas las sesiones con `/tasks` en la CLI de Claude Code. Cuando una sesión se completa, puede crear una PR desde la interfaz web o [teleportar](#from-web-to-terminal) la sesión a su terminal para continuar trabajando.118Cuando una sesión se completa, puede crear una PR desde la interfaz web o [teleportar](#from-web-to-terminal) la sesión a su terminal para continuar trabajando.

119 119 

120<h4 id="send-local-repositories-without-github">120<h4 id="send-local-repositories-without-github">

121 Envíe repositorios locales sin GitHub121 Envíe repositorios locales sin GitHub

Details

1451El explorador cubre archivos que usted crea y edita. Algunos archivos relacionados viven en otros lugares:1451El explorador cubre archivos que usted crea y edita. Algunos archivos relacionados viven en otros lugares:

1452 1452 

1453| Archivo | Ubicación | Propósito |1453| Archivo | Ubicación | Propósito |

1454| ----------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1454| ----------------------- | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1455| `managed-settings.json` | Nivel del sistema, varía según el SO | Configuración impuesta por la empresa que no puede anular, aparte de [excepciones limitadas](/docs/es/settings#security-keys-where-the-stricter-value-applies). Consulte [dónde guardar el archivo](/docs/es/managed-settings#deploy-a-managed-settings-file) y [qué fuente administrada utiliza Claude Code](/docs/es/managed-settings#precedence-within-the-managed-tier). |1455| `managed-settings.json` | Nivel del sistema, varía según el SO | Configuración impuesta por la empresa que no puede anular, aparte de [excepciones limitadas](/docs/es/settings#security-keys-where-the-stricter-value-applies). Consulte [dónde guardar el archivo](/docs/es/managed-settings#deploy-a-managed-settings-file) y [qué fuente administrada utiliza Claude Code](/docs/es/managed-settings#precedence-within-the-managed-tier). |

1456| `CLAUDE.local.md` | Raíz del proyecto | Sus preferencias privadas para este proyecto, cargadas junto con CLAUDE.md. Créelo manualmente y agréguelo a `.gitignore`. |1456| `CLAUDE.local.md` | Raíz del proyecto | Sus preferencias privadas para este proyecto, cargadas junto con CLAUDE.md. Créelo manualmente y agréguelo a `.gitignore`. |

1457| Plugins instalados | `~/.claude/plugins` | Mercados clonados, versiones de plugins instaladas y datos por plugin, administrados por comandos `claude plugin`. Para un plugin instalado desde un marketplace con [fuente `command`](/docs/es/plugin-marketplaces#command-sources) en modo de enlace, Claude Code almacena enlaces aquí en lugar de una copia, y los archivos del plugin permanecen en el directorio que imprime el comando. Consulte [almacenamiento en caché de plugins](/docs/es/plugins-reference#plugin-caching-and-file-resolution) para saber cómo se limpian las versiones huérfanas. |1457| Plugins instalados | `~/.claude/plugins` | Mercados clonados, versiones de plugins instaladas y datos por plugin, administrados por comandos `claude plugin`. Para un plugin instalado desde un marketplace con [fuente `command`](/docs/es/plugin-marketplaces#command-sources) en modo de enlace, Claude Code almacena enlaces aquí en lugar de una copia, y los archivos del plugin permanecen en el directorio que imprime el comando. Una fuente `command` requiere Claude Code v2.1.229 o posterior. Consulte [almacenamiento en caché de plugins](/docs/es/plugins-reference#plugin-caching-and-file-resolution) para saber cómo se limpian las versiones huérfanas. |

1458 1458 

1459`~/.claude` también contiene datos que Claude Code escribe mientras trabaja: transcripciones, historial de prompts, instantáneas de archivos, cachés y registros. Consulte [datos de aplicación](#application-data) a continuación.1459`~/.claude` también contiene datos que Claude Code escribe mientras trabaja: transcripciones, historial de prompts, instantáneas de archivos, cachés y registros. Consulte [datos de aplicación](#application-data) a continuación.

1460 1460 


1559* **Memoria automática**: el barrido no elimina los archivos de memoria en el directorio de [memoria automática](/docs/es/memory#auto-memory) de un proyecto, `projects/<project>/memory/`. Claude Code elimina ese directorio solo si ha estado vacío durante todo el período de retención. Antes de v2.1.228, el barrido trataba las carpetas dentro del directorio de memoria como datos de sesión y podía eliminar archivos antiguos debajo de él.1559* **Memoria automática**: el barrido no elimina los archivos de memoria en el directorio de [memoria automática](/docs/es/memory#auto-memory) de un proyecto, `projects/<project>/memory/`. Claude Code elimina ese directorio solo si ha estado vacío durante todo el período de retención. Antes de v2.1.228, el barrido trataba las carpetas dentro del directorio de memoria como datos de sesión y podía eliminar archivos antiguos debajo de él.

1560* **Transcripciones de Claude Desktop y Cowork**: Claude Code mantiene la transcripción de una sesión que inició o continuó más recientemente en Claude Desktop o Cowork a cualquier edad. Para dar a estas transcripciones un límite de edad, establezca [`desktopSessionCleanupPeriodDays`](/docs/es/settings-reference#desktopsessioncleanupperioddays). Cuando [configuración administrada](/docs/es/managed-settings) establece `cleanupPeriodDays`, Claude Code elimina estas transcripciones después de ese período en su lugar. Requiere Claude Code v2.1.248 o posterior; las versiones anteriores las eliminan después de `cleanupPeriodDays`.1560* **Transcripciones de Claude Desktop y Cowork**: Claude Code mantiene la transcripción de una sesión que inició o continuó más recientemente en Claude Desktop o Cowork a cualquier edad. Para dar a estas transcripciones un límite de edad, establezca [`desktopSessionCleanupPeriodDays`](/docs/es/settings-reference#desktopsessioncleanupperioddays). Cuando [configuración administrada](/docs/es/managed-settings) establece `cleanupPeriodDays`, Claude Code elimina estas transcripciones después de ese período en su lugar. Requiere Claude Code v2.1.248 o posterior; las versiones anteriores las eliminan después de `cleanupPeriodDays`.

1561 1561 

1562Claude Code omite el barrido completamente en estos casos:1562Claude Code omite el barrido basado en edad en estos casos:

1563 1563 

1564* **Bare mode**: cuando ejecuta `claude -p` con [`--bare`](/docs/es/headless#start-faster-with-bare-mode), Claude Code no ejecuta el barrido en esa sesión.1564* **Bare mode**: cuando ejecuta `claude -p` con [`--bare`](/docs/es/headless#start-faster-with-bare-mode), Claude Code no ejecuta el barrido en esa sesión.

1565* **Barrido pausado**: si Claude Code no puede determinar de forma segura el período de retención, pausa el barrido de limpieza de retención; el [evento `retention_sweep`](/docs/es/monitoring-usage#retention-sweep-event) enumera cada configuración que lo pausa. Cuando la causa es un archivo de configuración que no se puede leer o analizar, o errores de configuración con `cleanupPeriodDays` o `desktopSessionCleanupPeriodDays` explícitamente establecidos, Claude Code también muestra una advertencia en `/status` hasta que corrija los errores de configuración. Cuando [configuración administrada por servidor](/docs/es/server-managed-settings) proporciona `cleanupPeriodDays`, Claude Code ejecuta el barrido en el valor administrado en cualquier caso.1565* **Barrido pausado**: si Claude Code no puede determinar de forma segura el período de retención, pausa el barrido de limpieza de retención; el [evento `retention_sweep`](/docs/es/monitoring-usage#retention-sweep-event) enumera cada configuración que lo pausa. Cuando la causa es un archivo de configuración que no se puede leer o analizar, o errores de configuración con `cleanupPeriodDays` o `desktopSessionCleanupPeriodDays` explícitamente establecidos, Claude Code también muestra una advertencia en `/status` hasta que corrija los errores de configuración. Cuando [configuración administrada por servidor](/docs/es/server-managed-settings) proporciona `cleanupPeriodDays`, Claude Code ejecuta el barrido en el valor administrado en cualquier caso.

Details

539<AccordionGroup>539<AccordionGroup>

540 <Accordion title="Servicios de Anthropic">540 <Accordion title="Servicios de Anthropic">

541 * api.anthropic.com541 * api.anthropic.com

542 * statsig.anthropic.com

543 * docs.claude.com542 * docs.claude.com

544 * platform.claude.com543 * platform.claude.com

545 * code.claude.com544 * code.claude.com


611 * [www.java.net](http://www.java.net)610 * [www.java.net](http://www.java.net)

612 * download.oracle.com611 * download.oracle.com

613 * yum.oracle.com612 * yum.oracle.com

613 * \*.r2.cloudflarestorage.com

614 </Accordion>614 </Accordion>

615 615 

616 <Accordion title="Administradores de paquetes JavaScript y Node">616 <Accordion title="Administradores de paquetes JavaScript y Node">


621 * npmjs.org621 * npmjs.org

622 * yarnpkg.com622 * yarnpkg.com

623 * registry.yarnpkg.com623 * registry.yarnpkg.com

624 * jsr.io

625 * npm.jsr.io

624 </Accordion>626 </Accordion>

625 627 

626 <Accordion title="Administradores de paquetes Python">628 <Accordion title="Administradores de paquetes Python">


675 * central.maven.org677 * central.maven.org

676 * repo1.maven.org678 * repo1.maven.org

677 * repo.maven.apache.org679 * repo.maven.apache.org

680 * maven.google.com

678 * jcenter.bintray.com681 * jcenter.bintray.com

679 * gradle.org682 * gradle.org

680 * [www.gradle.org](http://www.gradle.org)683 * [www.gradle.org](http://www.gradle.org)

681 * services.gradle.org684 * services.gradle.org

682 * plugins.gradle.org685 * plugins.gradle.org

686 * plugins-artifacts.gradle.org

683 * kotlinlang.org687 * kotlinlang.org

684 * [www.kotlinlang.org](http://www.kotlinlang.org)688 * [www.kotlinlang.org](http://www.kotlinlang.org)

685 * spring.io689 * spring.io


757 </Accordion>761 </Accordion>

758 762 

759 <Accordion title="Servicios en la nube y monitoreo">763 <Accordion title="Servicios en la nube y monitoreo">

760 * statsig.com

761 * [www.statsig.com](http://www.statsig.com)

762 * api.statsig.com

763 * sentry.io

764 * \*.sentry.io

765 * downloads.sentry-cdn.com

766 * http-intake.logs.datadoghq.com764 * http-intake.logs.datadoghq.com

767 * browser-intake-us5-datadoghq.com

768 * \*.datadoghq.com765 * \*.datadoghq.com

769 * \*.datadoghq.eu766 * \*.datadoghq.eu

770 * api.honeycomb.io767 * api.honeycomb.io

Details

434| [Routines](/docs/es/routines) | Nube, administrada por Anthropic de forma predeterminada | Tareas que deben ejecutarse incluso cuando su computadora está apagada. También puede activarse en llamadas API o eventos de GitHub además de un horario. Configure en [claude.ai/code/routines](https://claude.ai/code/routines). |434| [Routines](/docs/es/routines) | Nube, administrada por Anthropic de forma predeterminada | Tareas que deben ejecutarse incluso cuando su computadora está apagada. También puede activarse en llamadas API o eventos de GitHub además de un horario. Configure en [claude.ai/code/routines](https://claude.ai/code/routines). |

435| [Tareas programadas de escritorio](/docs/es/desktop-scheduled-tasks) | Su máquina, a través de la aplicación de escritorio | Tareas que necesitan acceso directo a archivos locales, herramientas o cambios sin confirmar. |435| [Tareas programadas de escritorio](/docs/es/desktop-scheduled-tasks) | Su máquina, a través de la aplicación de escritorio | Tareas que necesitan acceso directo a archivos locales, herramientas o cambios sin confirmar. |

436| [GitHub Actions](/docs/es/github-actions) | Su canalización de CI | Tareas vinculadas a eventos de repositorio como PRs abiertos, o horarios cron que deben vivir junto con su configuración de flujo de trabajo. |436| [GitHub Actions](/docs/es/github-actions) | Su canalización de CI | Tareas vinculadas a eventos de repositorio como PRs abiertos, o horarios cron que deben vivir junto con su configuración de flujo de trabajo. |

437| [`/loop`](/docs/es/scheduled-tasks) | La sesión CLI actual | Sondeo rápido mientras una sesión está abierta. Las tareas se cancelan cuando comienza una nueva conversación; `--resume` y `--continue` restauran las no expiradas. |437| [`/loop`](/docs/es/scheduled-tasks) | La sesión CLI actual | Sondeo rápido mientras una sesión está abierta. `--resume` y `--continue` restauran las no expiradas. |

438 438 

439<Tip>439<Tip>

440 Al escribir indicaciones para tareas programadas, sea explícito sobre qué se ve como éxito y qué hacer con los resultados. La tarea se ejecuta de forma autónoma, por lo que no puede hacer preguntas aclaratorias. Por ejemplo: "Revise PRs abiertas etiquetadas con `needs-review`, deje comentarios en línea sobre cualquier problema y publique un resumen en el canal `#eng-reviews` de Slack."440 Al escribir indicaciones para tareas programadas, sea explícito sobre qué se ve como éxito y qué hacer con los resultados. La tarea se ejecuta de forma autónoma, por lo que no puede hacer preguntas aclaratorias. Por ejemplo: "Revise PRs abiertas etiquetadas con `needs-review`, deje comentarios en línea sobre cualquier problema y publique un resumen en el canal `#eng-reviews` de Slack."

computer-use.md +2 −2

Details

112 Una sesión a la vez112 Una sesión a la vez

113</h3>113</h3>

114 114 

115Solo una sesión a la vez puede usar su computadora. Una sesión adquiere un bloqueo en toda la máquina en su primera acción de computer use y lo libera cuando la sesión sale, no cuando la tarea finaliza. El computer use de una segunda sesión falla con un error que nombra la sesión que mantiene el bloqueo. Salga de esa sesión primero.115Solo una sesión a la vez puede usar su computadora. Una sesión adquiere un bloqueo en su primera acción de computer use y lo libera cuando la sesión sale, no cuando la tarea finaliza. El computer use de una segunda sesión falla con un error que nombra la sesión que mantiene el bloqueo. Salga de esa sesión primero.

116 116 

117<h3 id="apps-are-hidden-while-claude-works">117<h3 id="apps-are-hidden-while-claude-works">

118 Las aplicaciones se ocultan mientras Claude trabaja118 Las aplicaciones se ocultan mientras Claude trabaja


134 Detener en cualquier momento134 Detener en cualquier momento

135</h3>135</h3>

136 136 

137Cuando Claude adquiere el bloqueo, aparece una notificación de macOS: "Claude is using your computer · press Esc to stop". Presione `Esc` en cualquier lugar para abortar la acción actual inmediatamente, o presione `Ctrl+C` en la terminal. De cualquier manera, Claude se detiene, muestra sus aplicaciones y le devuelve el control. La sesión mantiene el [bloqueo de computer use](#one-session-at-a-time) hasta que sale.137La primera vez que Claude usa su computadora en cada turno, aparece una notificación de macOS: "Claude is using your computer · press Esc to stop". Presione `Esc` en cualquier lugar para abortar la acción actual inmediatamente, o presione `Ctrl+C` en la terminal. De cualquier manera, Claude se detiene, muestra sus aplicaciones y le devuelve el control. La sesión mantiene el [bloqueo de computer use](#one-session-at-a-time) hasta que sale.

138 138 

139Una segunda notificación aparece cuando Claude termina.139Una segunda notificación aparece cuando Claude termina.

140 140 

costs.md +3 −2

Details

71 71 

72Presione `d` o `w` para cambiar entre las últimas 24 horas y los últimos 7 días. Las cifras son aproximadas y se calculan a partir del historial de sesión local en esta máquina, por lo que el uso de otros dispositivos o claude.ai no se incluye.72Presione `d` o `w` para cambiar entre las últimas 24 horas y los últimos 7 días. Las cifras son aproximadas y se calculan a partir del historial de sesión local en esta máquina, por lo que el uso de otros dispositivos o claude.ai no se incluye.

73 73 

74En la [extensión de VS Code](/docs/es/vs-code#check-account-and-usage), las participaciones de atribución y los indicadores de comportamiento aparecen en el diálogo Cuenta y uso con un botón de alternancia Día y Semana, sin las filas de Loops. Requiere Claude Code v2.1.174 o posterior.74En la [extensión de VS Code](/docs/es/vs-code#check-account-and-usage), las participaciones de atribución y los indicadores de comportamiento aparecen en el diálogo Cuenta y uso con un botón de alternancia Día y Semana, sin las filas de Loops.

75 75 

76<h4 id="check-your-usage-credits-spend">76<h4 id="check-your-usage-credits-spend">

77 Verifique su gasto en créditos de uso77 Verifique su gasto en créditos de uso


222 Cuando un desarrollador pregunta sobre un límite222 Cuando un desarrollador pregunta sobre un límite

223</h3>223</h3>

224 224 

225Los desarrolladores generalmente llevan preguntas sobre límites a su administrador, por lo que es útil saber qué techo alcanzaron. Las cuatro situaciones significan cosas diferentes:225Los desarrolladores generalmente llevan preguntas sobre límites a su administrador, por lo que es útil saber qué techo alcanzaron. Estas situaciones significan cosas diferentes:

226 226 

227* **"Ha alcanzado su límite de sesión" o "Ha alcanzado su límite semanal"**: una ventana de uso basada en puesto en un plan de suscripción, compartida en todos los modelos, por lo que el desarrollador no puede restaurar el acceso cambiando modelos con `/model`. El mensaje muestra cuándo se reinicia la ventana. Después del mensaje específico del modelo "Ha alcanzado su límite de Opus" o "Ha alcanzado su límite de Sonnet", cambiar a un modelo fuera de esa familia con `/model` sí mantiene al desarrollador trabajando. Consulte [errores de límite de uso](/docs/es/errors#youve-hit-your-session-limit). Lo que el desarrollador puede hacer mientras tanto:227* **"Ha alcanzado su límite de sesión" o "Ha alcanzado su límite semanal"**: una ventana de uso basada en puesto en un plan de suscripción, compartida en todos los modelos, por lo que el desarrollador no puede restaurar el acceso cambiando modelos con `/model`. El mensaje muestra cuándo se reinicia la ventana. Después del mensaje específico del modelo "Ha alcanzado su límite de Opus" o "Ha alcanzado su límite de Sonnet", cambiar a un modelo fuera de esa familia con `/model` sí mantiene al desarrollador trabajando. Consulte [errores de límite de uso](/docs/es/errors#youve-hit-your-session-limit). Lo que el desarrollador puede hacer mientras tanto:

228 * Ejecute `/usage-credits` para solicitar uso más allá de la asignación, si tiene [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) activados.228 * Ejecute `/usage-credits` para solicitar uso más allá de la asignación, si tiene [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) activados.

229 * En Claude Code v2.1.234 o posterior, [espere y continúe la tarea interrumpida automáticamente después del reinicio](/docs/es/interactive-mode#wait-for-a-usage-limit-to-reset); esa sección enumera cuándo Claude Code inicia la espera por su cuenta y cuándo el desarrollador la elige de `/rate-limit-options`. Para controlar en su flota si Claude Code inicia esa espera por su cuenta, establezca [`autoContinueAtUsageLimit`](/docs/es/settings-reference#autocontinueatusagelimit) en [configuración administrada](/docs/es/settings#settings-precedence).229 * En Claude Code v2.1.234 o posterior, [espere y continúe la tarea interrumpida automáticamente después del reinicio](/docs/es/interactive-mode#wait-for-a-usage-limit-to-reset); esa sección enumera cuándo Claude Code inicia la espera por su cuenta y cuándo el desarrollador la elige de `/rate-limit-options`. Para controlar en su flota si Claude Code inicia esa espera por su cuenta, establezca [`autoContinueAtUsageLimit`](/docs/es/settings-reference#autocontinueatusagelimit) en [configuración administrada](/docs/es/settings#settings-precedence).

230* **"Ha alcanzado su límite de gasto individual", "límite de gasto mensual de la org", o "presupuesto compartido del equipo"**: la solicitud del desarrollador se facturaría a créditos de uso, y esos créditos han alcanzado un límite de gasto que estableció. Para permitir que el desarrollador continúe, vaya a [**Configuración de administrador > Uso**](https://claude.ai/admin-settings/usage) y aumente el límite que menciona el mensaje. Cuando el mensaje también menciona un tiempo de reinicio del plan, el desarrollador puede esperar hasta entonces. Consulte [la referencia de errores](/docs/es/errors#youve-hit-your-monthly-spend-limit) para cada variante.

230* **Un mensaje de límite de gasto de una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway)**: el desarrollador pasó un límite de gasto que estableció en su puerta de enlace autohospedada, y la puerta de enlace bloquea sus solicitudes hasta que el período se reinicia o usted aumenta el límite. Consulte [límites de gasto de puerta de enlace](/docs/es/claude-apps-gateway-spend-limits) para límites, cronogramas de reinicio y el mensaje que ve el desarrollador.231* **Un mensaje de límite de gasto de una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway)**: el desarrollador pasó un límite de gasto que estableció en su puerta de enlace autohospedada, y la puerta de enlace bloquea sus solicitudes hasta que el período se reinicia o usted aumenta el límite. Consulte [límites de gasto de puerta de enlace](/docs/es/claude-apps-gateway-spend-limits) para límites, cronogramas de reinicio y el mensaje que ve el desarrollador.

231* **Una advertencia de contexto o auto-compact**: no es un límite de uso. La conversación ha crecido cerca de la [ventana de auto-compact](/docs/es/model-config#set-the-auto-compact-window) de la sesión, el umbral donde Claude Code resume el historial anterior para liberar espacio. Dirija al desarrollador a [reducir el uso de tokens](#reduce-token-usage).232* **Una advertencia de contexto o auto-compact**: no es un límite de uso. La conversación ha crecido cerca de la [ventana de auto-compact](/docs/es/model-config#set-the-auto-compact-window) de la sesión, el umbral donde Claude Code resume el historial anterior para liberar espacio. Dirija al desarrollador a [reducir el uso de tokens](#reduce-token-usage).

232* **Gasto inesperadamente alto en un plan de API o proveedor de nube**: generalmente se remonta a sesiones largas que nunca se borraron o a Opus dejado como modelo predeterminado. Los hábitos de mayor impacto para compartir son borrar entre tareas no relacionadas y hacer coincidir el modelo con el trabajo, ambos cubiertos en [reducir el uso de tokens](#reduce-token-usage).233* **Gasto inesperadamente alto en un plan de API o proveedor de nube**: generalmente se remonta a sesiones largas que nunca se borraron o a Opus dejado como modelo predeterminado. Los hábitos de mayor impacto para compartir son borrar entre tareas no relacionadas y hacer coincidir el modelo con el trabajo, ambos cubiertos en [reducir el uso de tokens](#reduce-token-usage).

desktop.md +7 −7

Details

24 24 

25Para Windows ARM64, descargue el [instalador ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). En Linux, instale con apt; consulte [Claude Desktop en Linux](/docs/es/desktop-linux).25Para Windows ARM64, descargue el [instalador ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). En Linux, instale con apt; consulte [Claude Desktop en Linux](/docs/es/desktop-linux).

26 26 

27Después de instalar, inicie Claude, inicie sesión y haga clic en la pestaña **Code**. La primera vez que la abra en Windows, necesita tener [Git for Windows](https://git-scm.com/downloads/win) instalado; reinicie la aplicación después de instalarlo. Para un recorrido de su primera sesión, consulte la [guía de introducción](/docs/es/desktop-quickstart).27Después de instalar, inicie Claude, inicie sesión y haga clic en la pestaña **Code**. Para un recorrido de su primera sesión, consulte la [guía de introducción](/docs/es/desktop-quickstart).

28 28 

29En la pestaña Code, cada conversación es una **sesión**: tiene su propio historial de chat, carpeta de proyecto y cambios de código, independiente de cualquier otra sesión. La barra lateral enumera sus sesiones y le permite ejecutar varias en paralelo. Dentro de una sesión puede:29En la pestaña Code, cada conversación es una **sesión**: tiene su propio historial de chat y carpeta de proyecto, independiente de cualquier otra sesión. La barra lateral enumera sus sesiones y le permite ejecutar varias en paralelo. Dentro de una sesión puede:

30 30 

31* [Revisar y comentar en diffs](#review-changes-with-diff-view), luego [monitorear el PR resultante a través de CI](#monitor-pull-request-status)31* [Revisar y comentar en diffs](#review-changes-with-diff-view), luego [monitorear el PR resultante a través de CI](#monitor-pull-request-status)

32* [Obtener una vista previa de su aplicación en ejecución](#preview-your-app) en el panel Navegador mientras Claude verifica sus propios cambios, y [abrir sitios externos](#browse-external-sites) junto a él32* [Obtener una vista previa de su aplicación en ejecución](#preview-your-app) en el panel Navegador mientras Claude verifica sus propios cambios, y [abrir sitios externos](#browse-external-sites) junto a él


372 Trabajar en paralelo con sesiones372 Trabajar en paralelo con sesiones

373</h3>373</h3>

374 374 

375Haga clic en **+ New session** en la barra lateral, o presione **Cmd+N** en macOS o **Ctrl+N** en Windows, para trabajar en múltiples tareas en paralelo. Presione **Ctrl+Tab** y **Ctrl+Shift+Tab** para ciclar a través de sesiones en la barra lateral. Para repositorios de Git, cada sesión obtiene su propia copia aislada de su proyecto usando [Git worktrees](/docs/es/worktrees), por lo que los cambios en una sesión no afectan otras sesiones hasta que los confirme.375Haga clic en **+ New session** en la barra lateral, o presione **Cmd+N** en macOS o **Ctrl+N** en Windows, para trabajar en múltiples tareas en paralelo. Presione **Ctrl+Tab** y **Ctrl+Shift+Tab** para ciclar a través de sesiones en la barra lateral. Para repositorios de Git, seleccione la opción **worktree** junto al nombre de la rama para dar a la sesión su propia copia aislada de su proyecto usando [Git worktrees](/docs/es/worktrees), por lo que los cambios en una sesión no afectan otras sesiones hasta que los confirme.

376 376 

377Para ver dos sesiones a la vez, mantenga presionado **Cmd** en macOS o **Ctrl** en Windows y haga clic en una sesión en la barra lateral. La sesión se abre en un segundo panel junto al que ya tiene abierto. Mientras la división está activa, hacer clic en otra sesión de la barra lateral reemplaza el panel que tenga el foco. Presione **Cmd+\\** en macOS o **Ctrl+\\** en Windows para cerrar el panel enfocado y volver a una única sesión.377Para ver dos sesiones a la vez, mantenga presionado **Cmd** en macOS o **Ctrl** en Windows y haga clic en una sesión en la barra lateral. La sesión se abre en un segundo panel junto al que ya tiene abierto. Mientras la división está activa, hacer clic en otra sesión de la barra lateral reemplaza el panel que tenga el foco. Presione **Cmd+\\** en macOS o **Ctrl+\\** en Windows para cerrar el panel enfocado y volver a una única sesión.

378 378 


381Para incluir archivos ignorados por git como `.env` en nuevos worktrees, cree un [archivo `.worktreeinclude`](/docs/es/worktrees#copy-gitignored-files-into-worktrees) en la raíz de su proyecto.381Para incluir archivos ignorados por git como `.env` en nuevos worktrees, cree un [archivo `.worktreeinclude`](/docs/es/worktrees#copy-gitignored-files-into-worktrees) en la raíz de su proyecto.

382 382 

383<Note>383<Note>

384 El aislamiento de sesión requiere [Git](https://git-scm.com/downloads). La mayoría de las Macs incluyen Git de forma predeterminada. Ejecute `git --version` en Terminal para verificar; si imprime un número de versión, Git está instalado. En Windows, Git es necesario para que la pestaña Code funcione: [descargue Git para Windows](https://git-scm.com/downloads/win), instálelo y reinicie la aplicación. Si encuentra errores de Git, pida ayuda a Claude en la [pestaña Cowork](https://claude.com/product/cowork) para solucionar problemas de su configuración.384 El aislamiento de sesión requiere [Git](https://git-scm.com/downloads). La mayoría de las Macs incluyen Git de forma predeterminada. Ejecute `git --version` en Terminal para verificar; si imprime un número de versión, Git está instalado. Si encuentra errores de Git, pida ayuda a Claude en la [pestaña Cowork](https://claude.com/product/cowork) para solucionar problemas de su configuración.

385</Note>385</Note>

386 386 

387Use los controles en la parte superior de la barra lateral para filtrar sesiones por estado, proyecto o entorno, y para agrupar sesiones por proyecto. Para renombrar una sesión, haga clic en el título de la sesión en la barra de herramientas en la parte superior de la sesión activa.387Use los controles en la parte superior de la barra lateral para filtrar sesiones por estado, proyecto o entorno, y para agrupar sesiones por proyecto. Para renombrar una sesión, haga clic en el título de la sesión en la barra de herramientas en la parte superior de la sesión activa.


838| `disableAutoMode` | establezca en `"disable"` para eliminar el modo [Auto](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) del selector de modo. También aceptado bajo `permissions`. |838| `disableAutoMode` | establezca en `"disable"` para eliminar el modo [Auto](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) del selector de modo. También aceptado bajo `permissions`. |

839| `autoMode` | personalice lo que el clasificador de modo auto confía y bloquea en toda su organización. Consulte [Configurar el modo auto](/docs/es/auto-mode-config). |839| `autoMode` | personalice lo que el clasificador de modo auto confía y bloquea en toda su organización. Consulte [Configurar el modo auto](/docs/es/auto-mode-config). |

840| `browserExternalPageTools` | establezca en `"disabled"` para evitar que Claude use herramientas para leer o actuar en páginas externas en el [panel del navegador](#browse-external-sites). Los usuarios aún pueden navegar a sitios externos por sí mismos, y las vistas previas del servidor de desarrollo local no se ven afectadas. |840| `browserExternalPageTools` | establezca en `"disabled"` para evitar que Claude use herramientas para leer o actuar en páginas externas en el [panel del navegador](#browse-external-sites). Los usuarios aún pueden navegar a sitios externos por sí mismos, y las vistas previas del servidor de desarrollo local no se ven afectadas. |

841| `disableMobileSimulatorTools` | establezca en `true` para bloquear las herramientas de Claude para controlar y capturar dispositivos en el [panel del simulador de iOS](/docs/es/desktop-ios-simulator#turn-off-simulator-access). El panel permanece utilizable para los toques del usuario; solo se elimina el acceso de Claude. |841| `disableMobileSimulatorTools` | establezca en `true` para bloquear las herramientas de Claude para controlar y capturar dispositivos en el [panel del simulador de iOS](/docs/es/desktop-ios-simulator#turn-off-simulator-access). El panel permanece utilizable para los toques del usuario; solo se elimina el acceso de Claude. El valor debe ser el booleano JSON `true`; la cadena `"true"` se ignora. |

842| `disableBrowserExternalNavigation` | establezca en `true` para desactivar completamente la navegación externa en el [panel del navegador](#browse-external-sites). Ni los usuarios ni Claude pueden navegar a sitios externos, y las vistas previas del servidor de desarrollo localhost no se ven afectadas. El valor debe ser el booleano JSON `true`; la cadena `"true"` se ignora. |842| `disableBrowserExternalNavigation` | establezca en `true` para desactivar completamente la navegación externa en el [panel del navegador](#browse-external-sites). Ni los usuarios ni Claude pueden navegar a sitios externos, y las vistas previas del servidor de desarrollo localhost no se ven afectadas. El valor debe ser el booleano JSON `true`; la cadena `"true"` se ignora. |

843| `sshConfigs` | pre-configure [conexiones SSH](#pre-configure-ssh-connections-for-your-team) que aparecen en el menú desplegable de entorno. Los usuarios no pueden editar ni eliminar conexiones administradas. |843| `sshConfigs` | pre-configure [conexiones SSH](#pre-configure-ssh-connections-for-your-team) que aparecen en el menú desplegable de entorno. Los usuarios no pueden editar ni eliminar conexiones administradas. |

844| `sshHostAllowlist` | restrinja [sesiones SSH](#restrict-which-ssh-hosts-users-can-connect-to) a hosts cuyo nombre de host resuelto coincida con uno de estos patrones. Una matriz vacía deshabilita las sesiones SSH. Se lee solo desde configuración administrada. |844| `sshHostAllowlist` | restrinja [sesiones SSH](#restrict-which-ssh-hosts-users-can-connect-to) a hosts cuyo nombre de host resuelto coincida con uno de estos patrones. Una matriz vacía deshabilita las sesiones SSH. Se lee solo desde configuración administrada. |


1016| [Plugins](/docs/es/plugins) | Comando `/plugin` | UI del administrador de plugins |1016| [Plugins](/docs/es/plugins) | Comando `/plugin` | UI del administrador de plugins |

1017| Archivos @mention | Basado en texto | Con autocompletado; sesiones locales y SSH solamente |1017| Archivos @mention | Basado en texto | Con autocompletado; sesiones locales y SSH solamente |

1018| Archivos adjuntos | No disponible | Imágenes, PDF |1018| Archivos adjuntos | No disponible | Imágenes, PDF |

1019| Aislamiento de sesión | Bandera [`--worktree`](/docs/es/cli-reference) | Worktrees automáticos |1019| Aislamiento de sesión | Bandera [`--worktree`](/docs/es/cli-reference) | Opción **worktree** al iniciar una sesión |

1020| Múltiples sesiones | Terminales separadas | Pestañas de barra lateral |1020| Múltiples sesiones | Terminales separadas | Pestañas de barra lateral |

1021| Tareas recurrentes | Trabajos cron, tuberías de CI | [Tareas programadas](/docs/es/desktop-scheduled-tasks) |1021| Tareas recurrentes | Trabajos cron, tuberías de CI | [Tareas programadas](/docs/es/desktop-scheduled-tasks) |

1022| Uso de computadora | [Habilitar a través de `/mcp`](/docs/es/computer-use) en macOS | [Control de aplicaciones y pantalla](#let-claude-use-your-computer) en macOS y Windows |1022| Uso de computadora | [Habilitar a través de `/mcp`](/docs/es/computer-use) en macOS | [Control de aplicaciones y pantalla](#let-claude-use-your-computer) en macOS y Windows |


1093 Errores de Git y Git LFS1093 Errores de Git y Git LFS

1094</h3>1094</h3>

1095 1095 

1096En Windows, Git es necesario para que la pestaña Code inicie sesiones locales. Si ve "Git is required," instale [Git para Windows](https://git-scm.com/downloads/win) y reinicie la aplicación.1096Las sesiones que se ejecutan en su propio worktree necesitan Git. Si ve "Git is required," instale [Git](https://git-scm.com/downloads), o [Git para Windows](https://git-scm.com/downloads/win) en Windows, e intente nuevamente. En Windows, las versiones de Claude Desktop anteriores a 1.49585.0 solicitaban Git antes de iniciar cualquier sesión local; si ve ese mensaje y no está usando worktrees, actualice la aplicación.

1097 1097 

1098Si ve "Git LFS is required by this repository but is not installed," instale Git LFS desde [git-lfs.com](https://git-lfs.com/), ejecute `git lfs install` y reinicie la aplicación.1098Si ve "Git LFS is required by this repository but is not installed," instale Git LFS desde [git-lfs.com](https://git-lfs.com/), ejecute `git lfs install` y reinicie la aplicación.

1099 1099 

Details

65 Seleccione **Local** para ejecutar Claude en su máquina utilizando sus archivos directamente. Haga clic en **Select folder** y elija su directorio de proyecto.65 Seleccione **Local** para ejecutar Claude en su máquina utilizando sus archivos directamente. Haga clic en **Select folder** y elija su directorio de proyecto.

66 66 

67 <Tip>67 <Tip>

68 Comience con un proyecto pequeño que conozca bien. Es la forma más rápida de ver qué puede hacer Claude Code. En Windows, [Git](https://git-scm.com/downloads/win) debe estar instalado para que las sesiones locales funcionen. La mayoría de los Macs incluyen Git de forma predeterminada.68 Comience con un proyecto pequeño que conozca bien. Es la forma más rápida de ver qué puede hacer Claude Code.

69 </Tip>69 </Tip>

70 70 

71 También puede seleccionar:71 También puede seleccionar:


86 * `Add tests for the main function`86 * `Add tests for the main function`

87 * `Create a CLAUDE.md with instructions for this codebase`87 * `Create a CLAUDE.md with instructions for this codebase`

88 88 

89 Una [session](/docs/es/desktop#work-in-parallel-with-sessions) es una conversación con Claude sobre su código. Cada sesión realiza un seguimiento de su propio contexto y cambios, por lo que puede trabajar en múltiples tareas sin que se interfieran entre sí.89 Una [session](/docs/es/desktop#work-in-parallel-with-sessions) es una conversación con Claude sobre su código. Cada sesión realiza un seguimiento de su propio contexto y cambios.

90 </Step>90 </Step>

91 91 

92 <Step title="Revise y acepte los cambios">92 <Step title="Revise y acepte los cambios">

errors.md +39 −9

Details

21Haga coincidir el mensaje que ve con una sección a continuación.21Haga coincidir el mensaje que ve con una sección a continuación.

22 22 

23| Mensaje | Sección |23| Mensaje | Sección |

24| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |24| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |

25| `API Error: 500 Internal server error` | [Errores del servidor](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [Errores del servidor](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [Errores del servidor](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [Errores del servidor](#api-error-repeated-529-overloaded-errors) |

27| `Request timed out` | [Errores del servidor](#request-timed-out), o [Red](#unable-to-connect-to-api) si el mensaje menciona su conexión a internet |27| `Request timed out` | [Errores del servidor](#request-timed-out), o [Red](#unable-to-connect-to-api) si el mensaje menciona su conexión a internet |


43| `Server is temporarily limiting requests` | [Límites de uso](#server-is-temporarily-limiting-requests) |43| `Server is temporarily limiting requests` | [Límites de uso](#server-is-temporarily-limiting-requests) |

44| `Request rejected (429)` | [Límites de uso](#request-rejected-429) |44| `Request rejected (429)` | [Límites de uso](#request-rejected-429) |

45| `Credit balance is too low` | [Límites de uso](#credit-balance-is-too-low) |45| `Credit balance is too low` | [Límites de uso](#credit-balance-is-too-low) |

46| `You've hit your monthly spend limit` / `You've hit your individual spend limit` / `You've hit your org's monthly spend limit` / `You've hit your channel's monthly spend limit` / `You've hit your team's shared budget` / `You've hit your individual usage limit` | [Límites de uso](#youve-hit-your-monthly-spend-limit) |

46| `Could not update your spend limit` | [Límites de uso](#could-not-update-your-spend-limit) |47| `Could not update your spend limit` | [Límites de uso](#could-not-update-your-spend-limit) |

47| `spend limit reached` / `spend limit unavailable` | [Límites de uso](#spend-limit-reached) |48| `spend limit reached` / `spend limit unavailable` | [Límites de uso](#spend-limit-reached) |

48| `Not logged in · Please run /login` | [Autenticación](#not-logged-in) |49| `Not logged in · Please run /login` | [Autenticación](#not-logged-in) |


581* Ejecute `/usage-credits` para comprar uso adicional en Pro y Max, o para solicitarlo a su administrador en Team y Enterprise. Consulte [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) para ver cómo se factura esto.582* Ejecute `/usage-credits` para comprar uso adicional en Pro y Max, o para solicitarlo a su administrador en Team y Enterprise. Consulte [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) para ver cómo se factura esto.

582* Para actualizar su plan para obtener límites base más altos, consulte [claude.com/pricing](https://claude.com/pricing)583* Para actualizar su plan para obtener límites base más altos, consulte [claude.com/pricing](https://claude.com/pricing)

583 584 

584Para ver su asignación restante antes de alcanzar el límite, agregue los campos `rate_limits` a una [línea de estado personalizada](/docs/es/statusline#rate-limit-usage), o en la aplicación de escritorio haga clic en el [anillo de uso](/docs/es/desktop#check-usage) junto al selector de modelo.585Antes de que se agote una ventana, Claude Code puede advertirle que ha utilizado la mayor parte de ella, con un mensaje como `You've used 85% of your session limit · resets 3:45pm`. Para ver su asignación restante continuamente, agregue los campos `rate_limits` a una [línea de estado personalizada](/docs/es/statusline#rate-limit-usage), o en la aplicación de escritorio haga clic en el [anillo de uso](/docs/es/desktop#check-usage) junto al selector de modelo.

585 586 

586<h3 id="usage-credits-required-for-1m-context">587<h3 id="usage-credits-required-for-1m-context">

587 Usage credits required for 1M context588 Usage credits required for 1M context


663* Para claves API de Anthropic, consulte la [referencia de límites de velocidad](https://platform.claude.com/docs/en/api/rate-limits) para ver cómo funcionan los niveles y cómo establecer límites por espacio de trabajo664* Para claves API de Anthropic, consulte la [referencia de límites de velocidad](https://platform.claude.com/docs/en/api/rate-limits) para ver cómo funcionan los niveles y cómo establecer límites por espacio de trabajo

664* Reduzca la concurrencia: baje [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/es/env-vars), evite ejecutar muchos subagentes paralelos, o cambie a un modelo más pequeño con `/model` para ejecuciones de alto volumen con scripts665* Reduzca la concurrencia: baje [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/es/env-vars), evite ejecutar muchos subagentes paralelos, o cambie a un modelo más pequeño con `/model` para ejecuciones de alto volumen con scripts

665 666 

667<h3 id="youve-hit-your-monthly-spend-limit">

668 You've hit your monthly spend limit

669</h3>

670 

671El uso incluido en su plan no puede cubrir esta solicitud, y los [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) que de otro modo pagarían por ella han alcanzado un límite de gasto. Eso sucede cuando una de las ventanas de uso de su plan se ha agotado, o cuando la solicitud es una que solo los créditos de uso pagan, como una solicitud a un modelo que [factura a créditos de uso](/docs/es/model-config#fable-and-usage-credits). El mensaje nombra cuyo límite lo bloqueó. El texto después del `·` dice cómo aumentar ese límite, y varía con su plan y si usted gestiona la facturación:

672 

673```text theme={null}

674You've hit your monthly spend limit · raise it at claude.ai/settings/usage

675You've hit your individual spend limit · ask your admin for a higher limit

676You've hit your org's monthly spend limit · visit claude.ai/admin-settings/usage to raise it

677You've hit your team's shared budget · ask your admin to raise it at claude.ai/admin-settings/usage

678You've hit your channel's monthly spend limit · an org owner or channel manager can raise it in the channel's Claude settings

679```

680 

681`team's shared budget` es un presupuesto agrupado que un administrador asignó a un grupo al que pertenece; el mensaje no nombra el grupo. `channel's monthly spend limit` es el presupuesto del único canal de Slack en el que se ejecuta la sesión, por lo que su organización aún puede tener presupuesto fuera de él.

682 

683Cuando una de las ventanas de su plan es lo que se agotó, el mensaje también dice cuándo se reinicia esa ventana, por ejemplo `· your session limit resets 3:45pm`, y el acceso regresa entonces sin que nadie aumente el límite. En organizaciones con facturación basada en el uso, el mensaje dice `usage limit` en lugar de `spend limit`, como en `You've hit your individual usage limit`.

684 

685Antes de v2.1.239, el mensaje no nombraba la hora de reinicio de la ventana del plan. Antes de v2.1.268, el presupuesto agrupado de un grupo producía el mensaje `individual spend limit` en lugar de `team's shared budget`.

686 

687Si se conecta a través de una puerta de enlace de aplicaciones Claude y ve `spend limit reached` en minúsculas, ese es el límite de su operador de puerta de enlace en su lugar; consulte [Spend limit reached](#spend-limit-reached).

688 

689**Qué hacer:**

690 

691* En Pro y Max, aumente su límite de gasto mensual en [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai, o ejecute `/usage-credits`

692* En Team y Enterprise, aumente el límite en [**Admin settings > Usage**](https://claude.ai/admin-settings/usage) si gestiona la facturación, o pida a un administrador que lo haga. `/usage-credits` envía esa solicitud a su administrador por usted

693* Para el límite de un canal, pida a un propietario de la organización o al gerente del canal que lo aumente en claude.ai. Consulte [Per-channel limits](https://claude.com/docs/claude-tag/admins/set-spend-limit#per-channel-limits) en la documentación de Claude Tag

694* Si el mensaje nombra una hora de reinicio para la ventana de su plan, puede esperar en su lugar

695* Ejecute `/usage` para ver las ventanas de su plan y cuándo se reinicia cada una

696 

666<h3 id="spend-limit-reached">697<h3 id="spend-limit-reached">

667 Spend limit reached698 Spend limit reached

668</h3>699</h3>


913 Las rutinas están deshabilitadas por la política de su organización944 Las rutinas están deshabilitadas por la política de su organización

914</h3>945</h3>

915 946 

916Un Propietario en su organización de Equipo o Empresa ha desactivado las rutinas a nivel de organización. El error aparece cuando intenta crear o ejecutar una rutina, por ejemplo desde la interfaz de usuario de [Rutinas](/docs/es/routines) en claude.ai/code. En Claude Code v2.1.227 o posterior, la misma configuración también [oculta `/schedule`](/docs/es/routines#troubleshooting) en la CLI.947Un Propietario en su organización de Equipo o Empresa ha desactivado las rutinas a nivel de organización. El error aparece cuando intenta crear o ejecutar una rutina, por ejemplo desde la interfaz de usuario de [Routines](/docs/es/routines) en claude.ai/code. En Claude Code v2.1.227 o posterior, la misma configuración también [oculta `/schedule`](/docs/es/routines#troubleshooting) en la CLI.

917 948 

918```text theme={null}949```text theme={null}

919Routines are disabled by your organization's policy.950Routines are disabled by your organization's policy.


1036 1067 

1037```text theme={null}1068```text theme={null}

1038OAuth token revoked · Please run /login1069OAuth token revoked · Please run /login

1039OAuth token has expired · Please run /login1070Please run /login · API Error: 401 OAuth token has expired ...

1040API Error: 401 ... authentication_error

1041```1071```

1042 1072 

1043**Qué hacer:**1073**Qué hacer:**


1083Failed to authenticate: OAuth session expired and could not be refreshed1113Failed to authenticate: OAuth session expired and could not be refreshed

1084```1114```

1085 1115 

1086Este no es el mismo estado que [Token OAuth revocado o expirado](#oauth-token-revoked-or-expired). Esos mensajes informan un 401 que la API devolvió. Claude Code mismo produce `Login expired` para un inicio de sesión que ya falló al renovar, por lo que no envía ninguna solicitud. Cuando la renovación falla porque la cuenta misma está suspendida en lugar de que el inicio de sesión sea obsoleto, Claude Code muestra [Su cuenta está en espera](#your-account-is-on-hold) en su lugar.1116Este no es el mismo estado que [Token OAuth revocado o expirado](#oauth-token-revoked-or-expired). Esos mensajes informan un rechazo que la API devolvió. Claude Code mismo produce `Login expired` para un inicio de sesión que ya falló al renovar, por lo que no envía ninguna solicitud. Cuando la renovación falla porque la cuenta misma está suspendida en lugar de que el inicio de sesión sea obsoleto, Claude Code muestra [Su cuenta está en espera](#your-account-is-on-hold) en su lugar.

1087 1117 

1088Las sesiones autenticadas con una clave API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars), o un proveedor de terceros no usan el inicio de sesión guardado y nunca ven este mensaje.1118Las sesiones autenticadas con una clave API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars), o un proveedor de terceros no usan el inicio de sesión guardado y nunca ven este mensaje.

1089 1119 


1725Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.1755Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.

1726```1756```

1727 1757 

1728Cuando el límite que excedió es una ventana de compactación más pequeña que la ventana de contexto del modelo, como el límite de 200K en modelos de contexto de 1M, la advertencia dice algo diferente. Las solicitudes aún tienen éxito más allá de una ventana de compactación; ejecute el comando nombrado para traer el uso de vuelta por debajo de ella.1758Cuando el límite que excedió es una ventana de compactación, como el límite de 200K en modelos de contexto de 1M, la advertencia dice algo diferente. Una ventana de compactación puede estar por debajo de la ventana de contexto del modelo, por lo que las solicitudes más allá de ella aún pueden tener éxito.

1729 1759 

1730```text theme={null}1760```text theme={null}

1731Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.1761Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.


2229 Errores de línea de comandos2259 Errores de línea de comandos

2230</h2>2260</h2>

2231 2261 

2232Estos errores provienen del comando `claude` de línea de comandos y sus subcomandos, de un nombre de comando que envía en el símbolo del sistema, y de comandos como `/security-review` que recopilan contexto ejecutando comandos de shell antes de que se ejecute su símbolo del sistema. También provienen errores de `/tui`, que relanza la CLI.2262Estos errores provienen del comando `claude` de línea de comandos y sus subcomandos, de un nombre de comando que envía en el símbolo del sistema, y de comandos como `/security-review` que recopilan contexto ejecutando comandos de shell antes de que se ejecute su símbolo del sistema. También provienen de `/tui`, que relanza la CLI.

2233 2263 

2234<h3 id="conflict-between-bg-and-print">2264<h3 id="conflict-between-bg-and-print">

2235 Conflicto entre --bg y --print2265 Conflicto entre --bg y --print


3054`claude plugin install` informa la negativa así:3084`claude plugin install` informa la negativa así:

3055 3085 

3056```text theme={null}3086```text theme={null}

3057Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped or link-traversing entry, an entry of a fetched marketplace that resolves outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)3087Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped, backslash-containing or link-traversing entry, an entry of a fetched marketplace that resolves or opens outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)

3058```3088```

3059 3089 

3060Cuando la entrada de un plugin ya instalado falla la misma verificación, `claude plugin list` muestra el plugin como `failed to load` con:3090Cuando la entrada de un plugin ya instalado falla la misma verificación, `claude plugin list` muestra el plugin como `failed to load` con:

fast-mode.md +1 −1

Details

123El modo rápido requiere todos los siguientes:123El modo rápido requiere todos los siguientes:

124 124 

125* **Solo API de Anthropic o suscripción**: el modo rápido está disponible a través de la API de Anthropic Console y para planes de suscripción de Claude usando créditos de uso. No está disponible en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform en AWS. Las organizaciones de Console también deben tener [acceso al modo rápido aprovisionado](#enable-fast-mode-for-your-organization).125* **Solo API de Anthropic o suscripción**: el modo rápido está disponible a través de la API de Anthropic Console y para planes de suscripción de Claude usando créditos de uso. No está disponible en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform en AWS. Las organizaciones de Console también deben tener [acceso al modo rápido aprovisionado](#enable-fast-mode-for-your-organization).

126* **Créditos de uso activados para planes de suscripción**: en un plan Pro, Max, Team o Enterprise, su cuenta debe tener [créditos de uso](/docs/es/costs#add-usage-credits-to-your-subscription) activados, lo que permite facturación más allá del uso incluido en su plan. Hasta que estén activados, `/fast` muestra "Fast mode requires usage credits · /usage-credits to turn them on". Cómo los activa depende de su plan:126* **Créditos de uso activados para planes de suscripción**: en un plan Pro, Max, Team o Enterprise, su cuenta debe tener [créditos de uso](/docs/es/costs#add-usage-credits-to-your-subscription) activados, lo que permite facturación más allá del uso incluido en su plan. Hasta que estén activados, `/fast` muestra "Fast mode requires usage credits". Cómo los activa depende de su plan:

127 * En Pro y Max, actívelos en la sección **Usage credits** de [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai, o ejecute `/usage-credits` para abrir esa página.127 * En Pro y Max, actívelos en la sección **Usage credits** de [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai, o ejecute `/usage-credits` para abrir esa página.

128 * En Team y Enterprise, un miembro con acceso de facturación los activa para la organización en [**Admin settings > Usage**](https://claude.ai/admin-settings/usage), y un miembro sin acceso ejecuta `/usage-credits` para enviar una solicitud a los administradores de la organización.128 * En Team y Enterprise, un miembro con acceso de facturación los activa para la organización en [**Admin settings > Usage**](https://claude.ai/admin-settings/usage), y un miembro sin acceso ejecuta `/usage-credits` para enviar una solicitud a los administradores de la organización.

129 129 

Details

116claude --cloud "Add retry logic to the payment webhook handler"116claude --cloud "Add retry logic to the payment webhook handler"

117```117```

118 118 

119La sesión clona su repositorio desde GHES e inserta cambios en una rama. Monitoree el progreso con `/tasks` o en [claude.ai/code](https://claude.ai/code). Consulte [Claude Code en la web](/docs/es/claude-code-on-the-web) para el flujo de trabajo completo de sesión en la nube, incluida revisión de diferencias, corrección automática y rutinas.119La sesión clona su repositorio desde GHES e inserta cambios en una rama. Monitoree el progreso en [claude.ai/code](https://claude.ai/code). Consulte [Claude Code en la web](/docs/es/claude-code-on-the-web) para el flujo de trabajo completo de sesión en la nube, incluida revisión de diferencias, corrección automática y rutinas.

120 120 

121<h3 id="teleport-sessions-to-your-terminal">121<h3 id="teleport-sessions-to-your-terminal">

122 Sesiones de Teleport a su terminal122 Sesiones de Teleport a su terminal

goal.md +23 −6

Details

22Tres enfoques mantienen la sesión actual en ejecución entre solicitudes. Elija según lo que deba iniciar el siguiente turno:22Tres enfoques mantienen la sesión actual en ejecución entre solicitudes. Elija según lo que deba iniciar el siguiente turno:

23 23 

24| Enfoque | El siguiente turno comienza cuando | Se detiene cuando |24| Enfoque | El siguiente turno comienza cuando | Se detiene cuando |

25| :------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |25| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

26| `/goal` | El turno anterior finaliza, o una [verificación de inactividad](#background-work-defers-evaluation) vence mientras el trabajo en segundo plano mantiene el objetivo esperando, hasta tres veces por objetivo entre sus solicitudes | Un modelo confirma que se cumple la condición o la juzga imposible, o un turno falla en [un error que debe corregir](#errors-you-have-to-fix-clear-the-goal), o ejecuta [`/goal clear`](#clear-a-goal) |26| `/goal` | El turno anterior finaliza, o, en una sesión interactiva, una [verificación de inactividad](#background-work-defers-evaluation) o un [reintento automático](#other-errors-retry-or-pause-the-goal) vence | Un modelo confirma que se cumple la condición o la juzga imposible, o un turno falla en [un error que debe corregir](#errors-you-have-to-fix-clear-the-goal), o ejecuta [`/goal clear`](#clear-a-goal) |

27| [`/loop`](/docs/es/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | Transcurre un intervalo de tiempo | Usted lo detiene, o Claude decide que el trabajo está hecho |27| [`/loop`](/docs/es/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | Transcurre un intervalo de tiempo | Usted lo detiene, o Claude decide que el trabajo está hecho |

28| [Stop hook](/docs/es/hooks-guide#prompt-based-hooks) | El turno anterior finaliza | Su propio script o solicitud decide |28| [Stop hook](/docs/es/hooks-guide#prompt-based-hooks) | El turno anterior finaliza | Su propio script o solicitud decide |

29 29 


143 143 

144Si Claude sigue respondiendo al evaluador sin hacer progreso (sin uso de herramientas durante varios turnos seguidos), Claude Code detiene el bucle, imprime una advertencia y devuelve el control a usted con el objetivo aún establecido. La evaluación se reanuda después de su siguiente solicitud. La [guía de hooks](/docs/es/hooks-guide#stop-hook-hits-the-block-cap) explica el mecanismo subyacente.144Si Claude sigue respondiendo al evaluador sin hacer progreso (sin uso de herramientas durante varios turnos seguidos), Claude Code detiene el bucle, imprime una advertencia y devuelve el control a usted con el objetivo aún establecido. La evaluación se reanuda después de su siguiente solicitud. La [guía de hooks](/docs/es/hooks-guide#stop-hook-hits-the-block-cap) explica el mecanismo subyacente.

145 145 

146<h3 id="errors-you-have-to-fix-clear-the-goal">146<h3 id="when-a-turn-fails">

147 Los errores que debe corregir borran el objetivo147 Cuando un turno falla

148</h3>148</h3>

149 149 

150Cuando un turno falla, Claude Code borra el objetivo si el error es uno que usted tiene que corregir. Después de cualquier otro error, el objetivo permanece establecido.

151 

152<h4 id="errors-you-have-to-fix-clear-the-goal">

153 Los errores que debe corregir borran el objetivo

154</h4>

155 

150Si un turno falla en un error que no se borrará hasta que lo corrija, Claude Code borra el objetivo e imprime una advertencia nombrando la causa. La advertencia comienza con `Goal cleared after an unrecoverable error` y termina con `Run /goal again to continue`. Corrija la causa, luego [establezca el objetivo nuevamente](#set-a-goal) con `/goal <condition>`. Cuatro tipos de fallo borran el objetivo:156Si un turno falla en un error que no se borrará hasta que lo corrija, Claude Code borra el objetivo e imprime una advertencia nombrando la causa. La advertencia comienza con `Goal cleared after an unrecoverable error` y termina con `Run /goal again to continue`. Corrija la causa, luego [establezca el objetivo nuevamente](#set-a-goal) con `/goal <condition>`. Cuatro tipos de fallo borran el objetivo:

151 157 

152* Un fallo de autenticación, cuando Claude Code gestiona sus propias credenciales. Cuando un host las gestiona por usted, como la aplicación de escritorio, la extensión de VS Code o una [sesión en la nube](/docs/es/claude-code-on-the-web), Claude Code deja el objetivo activo porque el host restaura el acceso por su cuenta.158* Un fallo de autenticación, cuando Claude Code gestiona sus propias credenciales. Cuando un host las gestiona por usted, como la aplicación de escritorio, la extensión de VS Code o una [sesión en la nube](/docs/es/claude-code-on-the-web), Claude Code deja el objetivo activo porque el host restaura el acceso por su cuenta.


154* Un desbordamiento de contexto que [auto-compact](/docs/es/model-config#set-the-auto-compact-window) no pudo borrar160* Un desbordamiento de contexto que [auto-compact](/docs/es/model-config#set-the-auto-compact-window) no pudo borrar

155* Un modelo que no está disponible161* Un modelo que no está disponible

156 162 

157Después de cualquier otro fallo, incluidos errores transitorios como límites de velocidad y servidores sobrecargados, Claude Code deja el objetivo activo.163<h4 id="other-errors-retry-or-pause-the-goal">

164 Otros errores reintentan o pausan el objetivo

165</h4>

166 

167Después de cualquier otro fallo, el objetivo permanece establecido. En una sesión interactiva en Claude Code v2.1.269 o posterior, Claude Code también imprime una línea nombrando la causa e intenta de nuevo por su cuenta o espera a usted:

168 

169* **Reintentar**: después de un fallo que tiende a resolverse por sí solo, como un servidor sobrecargado o una conexión perdida, un aviso que comienza con `Goal still active` muestra la espera antes del siguiente intento. Después de tres reintentos automáticos, el objetivo se pausa en su lugar.

170* **Pausar**: después de un fallo que un reintento solo repetiría, como un límite de velocidad de API, un [límite de uso](/docs/es/errors#youve-hit-your-session-limit) de claude.ai, o un hook que terminó el turno, un aviso que comienza con `Goal paused` nombra la causa. Si la sesión está [esperando continuar automáticamente cuando se restablece un límite de uso](/docs/es/interactive-mode#wait-for-a-usage-limit-to-reset), Claude reanuda el trabajo hacia el objetivo entonces.

171 

172Envíe un mensaje en cualquier momento para iniciar el siguiente turno inmediatamente. Para desactivar los reintentos automáticos, establezca [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/es/env-vars) en `0`, lo que también desactiva las [verificaciones](#background-work-defers-evaluation).

158 173 

159<h3 id="background-work-defers-evaluation">174<h3 id="background-work-defers-evaluation">

160 El trabajo en segundo plano difiere la evaluación175 El trabajo en segundo plano difiere la evaluación


169 184 

170Antes de v2.1.239, solo las verificaciones inactivas se retrasaban de esta manera; una verificación entregada al final de un turno se repetía en el primer intervalo.185Antes de v2.1.239, solo las verificaciones inactivas se retrasaban de esta manera; una verificación entregada al final de un turno se repetía en el primer intervalo.

171 186 

172Para cambiar el primer intervalo, establezca [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/es/env-vars). Claude Code usa su valor en lugar del intervalo de 30 minutos y escala los intervalos posteriores con él. Establézcalo en `0` para desactivar las verificaciones. Las verificaciones requieren Claude Code v2.1.234 o posterior.187Para cambiar el primer intervalo, establezca [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/es/env-vars). Claude Code usa su valor en lugar del intervalo de 30 minutos y escala los intervalos posteriores con él. Establézcalo en `0` para desactivar las verificaciones y los [reintentos automáticos](#other-errors-retry-or-pause-the-goal).

188 

189Las verificaciones requieren Claude Code v2.1.234 o posterior.

173 190 

174<h3 id="evaluation-model-and-cost">191<h3 id="evaluation-model-and-cost">

175 Modelo de evaluación y costo192 Modelo de evaluación y costo

Details

211 211 

212Los comandos integrados también lo guían a través de la configuración:212Los comandos integrados también lo guían a través de la configuración:

213 213 

214* `/init` lo guía a través de la creación de un CLAUDE.md para su proyecto214* `/init` genera un CLAUDE.md inicial para su proyecto

215* `/doctor` ejecuta una verificación de configuración que diagnostica problemas de instalación y configuración y puede solucionarlos215* `/doctor` ejecuta una verificación de configuración que diagnostica problemas de instalación y configuración y puede solucionarlos

216 216 

217<h3 id="it’s-a-conversation">217<h3 id="it’s-a-conversation">

jetbrains.md +2 −2

Details

256**Herramientas expuestas al modelo.** El servidor aloja varias herramientas, pero solo una es visible para el modelo. El resto son RPC internas que la CLI utiliza para su propia interfaz de usuario, como abrir diffs y leer selecciones, y se filtran antes de que la lista de herramientas llegue a Claude.256**Herramientas expuestas al modelo.** El servidor aloja varias herramientas, pero solo una es visible para el modelo. El resto son RPC internas que la CLI utiliza para su propia interfaz de usuario, como abrir diffs y leer selecciones, y se filtran antes de que la lista de herramientas llegue a Claude.

257 257 

258| Nombre de herramienta (como se ve en hooks) | Qué hace | Solo lectura |258| Nombre de herramienta (como se ve en hooks) | Qué hace | Solo lectura |

259| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------ |259| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |

260| `mcp__ide__getDiagnostics` | Devuelve los diagnósticos de inspección del IDE, los errores y advertencias mostrados en el editor. Opcionalmente limitado a un archivo. | Sí |260| `mcp__ide__getDiagnostics` | Devuelve los diagnósticos de inspección del IDE, los errores y advertencias mostrados en el editor. Cada llamada cubre un archivo: el archivo que Claude especifica, o el archivo en su editor activo si Claude no especifica uno. | Sí |

261 261 

262El plugin de JetBrains no expone una herramienta de ejecución de código al modelo.262El plugin de JetBrains no expone una herramienta de ejecución de código al modelo.

263 263 

Details

385 Mantener skills descubribles385 Mantener skills descubribles

386</h3>386</h3>

387 387 

388Con skills dispersos en muchos directorios, la lista de la que Claude elige puede crecer mucho. Claude elige un skill leyendo el nombre y descripción de cada skill descubierto, y solo el contenido completo del skill elegido se carga en el contexto. Esta sección cubre cómo mantener esa lista pequeña y escribir descripciones que sobrevivan al acortamiento.388Con skills dispersos en muchos directorios, la lista de la que Claude elige puede crecer mucho. Claude elige un skill leyendo el nombre y descripción de cada skill descubierto, y solo el contenido completo del skill elegido se carga en el contexto. Esta sección cubre cómo mantener esa lista pequeña.

389 389 

390Qué skills están en alcance depende de dónde inicie Claude:390Qué skills están en alcance depende de dónde inicie Claude:

391 391 


393* **Desde la raíz del repositorio**: skills de raíz, más skills de cada subdirectorio que Claude toca durante la sesión, que pueden acumularse en los cientos393* **Desde la raíz del repositorio**: skills de raíz, más skills de cada subdirectorio que Claude toca durante la sesión, que pueden acumularse en los cientos

394* **Después de agregar un hermano con [`--add-dir`](#grant-access-across-packages-or-repositories)**: los skills de ese hermano también se cargan. La configuración `additionalDirectories` otorga solo acceso a archivos y no carga skills394* **Después de agregar un hermano con [`--add-dir`](#grant-access-across-packages-or-repositories)**: los skills de ese hermano también se cargan. La configuración `additionalDirectories` otorga solo acceso a archivos y no carga skills

395 395 

396Los nombres siempre se cargan, pero [las descripciones se acortan cuando hay muchas](/docs/es/skills#skill-descriptions-are-cut-short), lo que puede eliminar las palabras clave que Claude usa para decidir si un skill se aplica. Mantenga las descripciones cortas y comience con palabras que una solicitud contendría, como "escribir o modificar pruebas en `packages/api/`".396Los nombres siempre se cargan, pero [cuando hay muchos, algunas descripciones de skills se acortan completamente](/docs/es/skills#skill-descriptions-are-cut-short), lo que puede eliminar las palabras clave que Claude usa para decidir si un skill se aplica. Mantenga las descripciones cortas y comience con palabras que una solicitud contendría, como "escribir o modificar pruebas en `packages/api/`".

397 397 

398Para skills que muchos directorios comparten, como convenciones de PR o una lista de verificación de implementación, colóquelos en el `.claude/skills/` de la raíz del repositorio para que se carguen desde cualquier directorio de inicio. Cuando los skills compartidos necesitan su propio historial de versiones o deben funcionar entre repositorios, empaquételos como un [plugin](/docs/es/plugins) en su lugar. Los skills de plugin usan un espacio de nombres `plugin-name:skill-name`, por lo que nunca chocan con skills por directorio. Un equipo de plataforma puede versionarlos y actualizarlos en un lugar.398Para skills que muchos directorios comparten, como convenciones de PR o una lista de verificación de implementación, colóquelos en el `.claude/skills/` de la raíz del repositorio para que se carguen desde cualquier directorio de inicio. Cuando los skills compartidos necesitan su propio historial de versiones o deben funcionar entre repositorios, empaquételos como un [plugin](/docs/es/plugins) en su lugar. Los skills de plugin usan un espacio de nombres `plugin-name:skill-name`, por lo que nunca chocan con skills por directorio. Un equipo de plataforma puede versionarlos y actualizarlos en un lugar.

399 399 

Details

186* [`forceRemoteSettingsRefresh`](/docs/es/server-managed-settings)186* [`forceRemoteSettingsRefresh`](/docs/es/server-managed-settings)

187* `env`, fusionado por variable en las fuentes de administrador: cada variable viene de la fuente de mayor prioridad que la define, por lo que las fuentes inferiores llenan variables que las superiores dejan sin establecer. Algunas variables siguen sus propias reglas; [Excepciones por clave en fuentes administradas](/docs/es/server-managed-settings#per-key-exceptions-across-managed-sources) nombra cada una. Requiere Claude Code v2.1.223 o posterior. Antes de v2.1.223, Claude Code aplicaba solo el bloque `env` completo de la fuente seleccionada187* `env`, fusionado por variable en las fuentes de administrador: cada variable viene de la fuente de mayor prioridad que la define, por lo que las fuentes inferiores llenan variables que las superiores dejan sin establecer. Algunas variables siguen sus propias reglas; [Excepciones por clave en fuentes administradas](/docs/es/server-managed-settings#per-key-exceptions-across-managed-sources) nombra cada una. Requiere Claude Code v2.1.223 o posterior. Antes de v2.1.223, Claude Code aplicaba solo el bloque `env` completo de la fuente seleccionada

188 188 

189Las [claves de inicio de sesión de puerta de enlace](#choose-a-delivery-mechanism), [`forceLoginGatewayUrl`](/docs/es/settings-reference#forcelogingatewayurl) y el valor `"gateway"` de [`forceLoginMethod`](/docs/es/settings-reference#forceloginmethod), siguen una regla separada. Claude Code nunca las lee de la configuración administrada por servidor, por lo que mientras la configuración administrada por servidor es la fuente seleccionada, la fuente de administrador de mayor rango en la máquina que lleva una clave de política aún las proporciona. Un valor en una fuente de administrador clasificada por debajo de esa, o en el registro HKCU, se ignora.

190 

189<h3 id="compose-every-managed-source">191<h3 id="compose-every-managed-source">

190 Componer cada fuente administrada192 Componer cada fuente administrada

191</h3>193</h3>

model-config.md +4 −2

Details

134`/model` guarda su elección como predeterminada para nuevas sesiones escribiendo el campo `model` en su configuración de usuario. En el selector:134`/model` guarda su elección como predeterminada para nuevas sesiones escribiendo el campo `model` en su configuración de usuario. En el selector:

135 135 

136* `Enter`: cambiar modelo y guardar como predeterminado136* `Enter`: cambiar modelo y guardar como predeterminado

137* `s`: cambiar modelo solo para esta sesión137* `s`: cambiar modelo solo para esta sesión y dejar su predeterminado sin cambios. Para usar una tecla diferente, reenlace [`modelPicker:thisSessionOnly`](/docs/es/keybindings#model-picker-actions)

138 138 

139Escribir `/model <name>` directamente se comporta como `Enter`. Si establece un modelo con `/model` en [modo no interactivo](/docs/es/headless), con la bandera `-p`, su elección se aplica solo a la sesión actual y no se guarda como predeterminado; `/model` en ese modo requiere Claude Code v2.1.205 o posterior. La configuración del proyecto y administrada aún tienen precedencia y se reaplicarán en el próximo inicio. Un [modelo predeterminado de organización](#organization-default-model) que su administrador ha configurado para anular la selección del usuario también se reaplicará en el próximo inicio.139Escribir `/model <name>` directamente se comporta como `Enter`. Para cambiar solo para esta sesión, abra el selector con `/model` y presione `s` en la fila del modelo.

140 

141Si establece un modelo con `/model` en [modo no interactivo](/docs/es/headless), con la bandera `-p`, su elección se aplica solo a la sesión actual y no se guarda como predeterminado; `/model` en ese modo requiere Claude Code v2.1.205 o posterior. La configuración del proyecto y administrada aún tienen precedencia y se reaplicarán en el próximo inicio. Un [modelo predeterminado de organización](#organization-default-model) que su administrador ha configurado para anular la selección del usuario también se reaplicará en el próximo inicio.

140 142 

141En v2.1.144 a v2.1.152, `/model` se aplicaba solo a la sesión actual y `d` en el selector guardaba un predeterminado.143En v2.1.144 a v2.1.152, `/model` se aplicaba solo a la sesión actual y `d` en el selector guardaba un predeterminado.

142 144 

Details

150Las siguientes variables de entorno controlan qué atributos se incluyen en las métricas para gestionar la cardinalidad:150Las siguientes variables de entorno controlan qué atributos se incluyen en las métricas para gestionar la cardinalidad:

151 151 

152| Variable de Entorno | Descripción | Valor Predeterminado | Ejemplo para Deshabilitar |152| Variable de Entorno | Descripción | Valor Predeterminado | Ejemplo para Deshabilitar |

153| ------------------------------------------ | ------------------------------------------------------------------------------------------ | -------------------- | ------------------------- |153| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------- | ------------------------- |

154| `OTEL_METRICS_INCLUDE_SESSION_ID` | Incluir atributo session.id en métricas | `true` | `false` |154| `OTEL_METRICS_INCLUDE_SESSION_ID` | Incluir atributo session.id en métricas | `true` | `false` |

155| `OTEL_METRICS_INCLUDE_VERSION` | Incluir atributo app.version en métricas | `false` | `true` |155| `OTEL_METRICS_INCLUDE_VERSION` | Incluir atributo app.version en métricas | `false` | `true` |

156| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Incluir atributos user.account\_uuid y user.account\_id en métricas | `true` | `false` |156| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Incluir atributos user.account\_uuid y user.account\_id en métricas | `true` | `false` |

157| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Incluir atributo app.entrypoint en métricas | `false` | `true` |157| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Incluir atributo app.entrypoint en métricas | `false` | `true` |

158| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Incluir claves de `OTEL_RESOURCE_ATTRIBUTES` como atributos en puntos de datos de métricas | `true` | `false` |158| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Incluir claves de `OTEL_RESOURCE_ATTRIBUTES` como atributos en puntos de datos de métricas | `true` | `false` |

159| `OTEL_METRICS_INCLUDE_REPOSITORY` | Incluir [atributos de identidad de repositorio](#repository-attributes) `vcs.*` en métricas y eventos. Requiere Claude Code v2.1.269 o posterior | `false` | `true` |

159 160 

160Una cardinalidad más baja generalmente significa mejor rendimiento y costos de almacenamiento más bajos, pero datos menos granulares para el análisis.161Una cardinalidad más baja generalmente significa mejor rendimiento y costos de almacenamiento más bajos, pero datos menos granulares para el análisis.

161 162 


222| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |223| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |

223| `user_prompt` | Texto del mensaje. El valor es `<REDACTED>` a menos que la puerta esté establecida | `OTEL_LOG_USER_PROMPTS` |224| `user_prompt` | Texto del mensaje. El valor es `<REDACTED>` a menos que la puerta esté establecida | `OTEL_LOG_USER_PROMPTS` |

224| `user_prompt_length` | Longitud del mensaje en caracteres | |225| `user_prompt_length` | Longitud del mensaje en caracteres | |

225| `interaction.sequence` | Contador basado en 1 de interacciones en esta sesión | |226| `interaction.sequence` | Contador basado en 1 de interacciones, contado por proceso de Claude Code en lugar de por sesión, como se describe para [`event.sequence`](#event-correlation-attributes) | |

226| `parent.source` | Cómo el span obtuvo su padre de traza: `env` cuando se emparentó bajo un `TRACEPARENT` entrante, `none` cuando inició su propia traza. Requiere Claude Code v2.1.268 o posterior | |227| `parent.source` | Cómo el span obtuvo su padre de traza: `env` cuando se emparentó bajo un `TRACEPARENT` entrante, `none` cuando inició su propia traza. Requiere Claude Code v2.1.268 o posterior | |

227| `interaction.duration_ms` | Duración de pared del turno | |228| `interaction.duration_ms` | Duración de pared del turno | |

228 229 


390* Crear paneles específicos del equipo391* Crear paneles específicos del equipo

391* Configurar alertas para equipos específicos392* Configurar alertas para equipos específicos

392 393 

393Claude Code adjunta estos valores como atributos en cada punto de datos de métrica y registro de evento, además de enviarlos en el bloque de recursos OTLP. Debido a que la mayoría de los backends de métricas exponen atributos de punto de datos como etiquetas consultables, puedes agrupar y filtrar métricas por tus claves personalizadas directamente. Las claves personalizadas nunca anulan los [atributos estándar](#standard-attributes) como `user.id` o `session.id`: cuando una clave colisiona, Claude Code mantiene el valor integrado.394Claude Code adjunta estos valores como atributos en cada punto de datos de métrica y registro de evento, además de enviarlos en el bloque de recursos OTLP. Debido a que la mayoría de los backends de métricas exponen atributos de punto de datos como etiquetas consultables, puedes agrupar y filtrar métricas por tus claves personalizadas directamente. Excepto por los [atributos de repositorio](#repository-attributes) `vcs.*`, las claves personalizadas nunca anulan los [atributos estándar](#standard-attributes) como `user.id` o `session.id`: cuando una clave colisiona, Claude Code mantiene el valor integrado.

394 395 

395Cada clave personalizada se convierte en una etiqueta en cada serie de métricas, por lo que los valores de alta cardinalidad aumentan el costo de almacenamiento en tu backend de métricas. Para enviar atributos personalizados solo en el bloque de recursos y omitirlos de las etiquetas de punto de datos, establece `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Consulta [Control de cardinalidad de métricas](#metrics-cardinality-control).396Cada clave personalizada se convierte en una etiqueta en cada serie de métricas, por lo que los valores de alta cardinalidad aumentan el costo de almacenamiento en tu backend de métricas. Para enviar atributos personalizados solo en el bloque de recursos y omitirlos de las etiquetas de punto de datos, establece `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Consulta [Control de cardinalidad de métricas](#metrics-cardinality-control).

396 397 


499Todas las métricas y eventos comparten estos atributos estándar:500Todas las métricas y eventos comparten estos atributos estándar:

500 501 

501| Atributo | Descripción | Controlado Por |502| Atributo | Descripción | Controlado Por |

502| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |503| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |

503| `session.id` | Identificador único de sesión | `OTEL_METRICS_INCLUDE_SESSION_ID` (predeterminado: true) |504| `session.id` | Identificador único de sesión | `OTEL_METRICS_INCLUDE_SESSION_ID` (predeterminado: true) |

504| `app.version` | Versión actual de Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (predeterminado: false) |505| `app.version` | Versión actual de Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (predeterminado: false) |

505| `app.entrypoint` | Cómo se inició la sesión, como `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, o `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (predeterminado: false) |506| `app.entrypoint` | Cómo se inició la sesión, como `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, o `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (predeterminado: false) |


510| `user.email` | Dirección de correo electrónico del usuario, de su inicio de sesión o, en una [sesión en la nube](/docs/es/claude-code-on-the-web), de las credenciales propias de la sesión | Siempre incluido cuando está disponible |511| `user.email` | Dirección de correo electrónico del usuario, de su inicio de sesión o, en una [sesión en la nube](/docs/es/claude-code-on-the-web), de las credenciales propias de la sesión | Siempre incluido cuando está disponible |

511| `terminal.type` | Tipo de terminal, como `iTerm.app`, `vscode`, `cursor`, o `tmux` | Siempre incluido cuando se detecta |512| `terminal.type` | Tipo de terminal, como `iTerm.app`, `vscode`, `cursor`, o `tmux` | Siempre incluido cuando se detecta |

512| Claves de `OTEL_RESOURCE_ATTRIBUTES` | Atributos personalizados que establece, como `department` o `team.id`. Consulte [Soporte de organización multiequipo](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (predeterminado: true) |513| Claves de `OTEL_RESOURCE_ATTRIBUTES` | Atributos personalizados que establece, como `department` o `team.id`. Consulte [Soporte de organización multiequipo](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (predeterminado: true) |

514| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | La identidad del repositorio de la sesión, derivada de su remoto `origin`. Consulte [Atributos de repositorio](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (predeterminado: false). Requiere Claude Code v2.1.269 o posterior |

513 515 

514Cuando Claude Code inicia sesión en una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway), la CLI marca las exportaciones con la identidad autenticada de la sesión de la puerta de enlace: `user.id` es el asunto del IdP en lugar de un identificador de instalación anónimo, `user.email` es el correo electrónico con sesión iniciada, y `user.groups` lleva la pertenencia al grupo del IdP como una cadena separada por comas. Cada exportación también lleva `identity.source: gateway-oidc`. La identidad de la puerta de enlace se aplica al final, por lo que las claves `user.*` e `identity.*` establecidas a través de `OTEL_RESOURCE_ATTRIBUTES` se ignoran en sesiones de puerta de enlace.516Cuando Claude Code inicia sesión en una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway), la CLI marca las exportaciones con la identidad autenticada de la sesión de la puerta de enlace: `user.id` es el asunto del IdP en lugar de un identificador de instalación anónimo, `user.email` es el correo electrónico con sesión iniciada, y `user.groups` lleva la pertenencia al grupo del IdP como una cadena separada por comas. Cada exportación también lleva `identity.source: gateway-oidc`. La identidad de la puerta de enlace se aplica al final, por lo que las claves `user.*` e `identity.*` establecidas a través de `OTEL_RESOURCE_ATTRIBUTES` se ignoran en sesiones de puerta de enlace.

515 517 


520* `workflow.run_id`: identificador de ejecución, con prefijo `wf_`, en los eventos de API y herramienta emitidos por agentes que pertenecen a una ejecución de herramienta [Workflow](/docs/es/workflows). Filtrar eventos por un `workflow.run_id` reconstruye las solicitudes de API y resultados de herramientas de esa ejecución. El identificador cubre los agentes que genera el script de flujo de trabajo y cualquier agente que esos generen a su vez, como invocaciones de habilidades. Coincide con el identificador de ejecución reportado en el resultado de la herramienta Workflow. Ausente en todos los demás eventos. Requiere Claude Code v2.1.202 o posterior522* `workflow.run_id`: identificador de ejecución, con prefijo `wf_`, en los eventos de API y herramienta emitidos por agentes que pertenecen a una ejecución de herramienta [Workflow](/docs/es/workflows). Filtrar eventos por un `workflow.run_id` reconstruye las solicitudes de API y resultados de herramientas de esa ejecución. El identificador cubre los agentes que genera el script de flujo de trabajo y cualquier agente que esos generen a su vez, como invocaciones de habilidades. Coincide con el identificador de ejecución reportado en el resultado de la herramienta Workflow. Ausente en todos los demás eventos. Requiere Claude Code v2.1.202 o posterior

521* `workflow.name`: nombre del flujo de trabajo, el `meta.name` de su script, emitido junto con `workflow.run_id`. Los nombres de flujo de trabajo integrados aparecen tal cual cuando la ejecución ejecuta el script integrado sin modificar. Los nombres creados por el usuario, incluidas copias editadas de scripts integrados, se reemplazan con `custom` a menos que `OTEL_LOG_TOOL_DETAILS=1` esté establecido. Requiere Claude Code v2.1.202 o posterior523* `workflow.name`: nombre del flujo de trabajo, el `meta.name` de su script, emitido junto con `workflow.run_id`. Los nombres de flujo de trabajo integrados aparecen tal cual cuando la ejecución ejecuta el script integrado sin modificar. Los nombres creados por el usuario, incluidas copias editadas de scripts integrados, se reemplazan con `custom` a menos que `OTEL_LOG_TOOL_DETAILS=1` esté establecido. Requiere Claude Code v2.1.202 o posterior

522 524 

525<h4 id="repository-attributes">

526 Atributos de repositorio

527</h4>

528 

529Establezca `OTEL_METRICS_INCLUDE_REPOSITORY=true` para etiquetar métricas y eventos con la identidad del repositorio de la sesión, de modo que un recopilador compartido pueda atribuir el uso por repositorio. Requiere Claude Code v2.1.269 o posterior.

530 

531Claude Code deriva estos atributos una vez por sesión desde el remoto `origin` del repositorio. Los remotos HTTPS y SSH de un repositorio producen valores idénticos:

532 

533| Atributo | Valor |

534| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |

535| `vcs.repository.url.full` | La URL del navegador del repositorio sin `.git`, como `https://github.com/example-org/example-repo` |

536| `vcs.owner.name` | La ruta del propietario o grupo, como `example-org`; omitido cuando la ruta remota tiene un único segmento |

537| `vcs.repository.name` | El nombre del repositorio desnudo, como `example-repo` |

538| `vcs.provider.name` | `github`, `gitlab`, `bitbucket`, o `gitea` cuando Claude Code reconoce el host remoto o la forma de URL como uno de esos proveedores; omitido de otra manera |

539 

540Los valores se convierten a minúsculas, y las credenciales, cadenas de consulta y fragmentos de la URL remota nunca aparecen en ellos. Los atributos se omiten cuando la sesión no tiene un remoto `origin`, cuando el remoto no tiene forma de URL, o cuando el único repositorio envolvente es su directorio de inicio.

541 

542Una clave `vcs.*` que declare en [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) reemplaza el valor derivado para esa clave. Si declara `vcs.repository.url.full`, Claude Code nunca lee el remoto e informa solo las claves que declara.

543 

544Los atributos fluyen solo a sus propios exportadores; la telemetría de Anthropic descarta cada clave `vcs.*`.

545 

523<h3 id="metrics">546<h3 id="metrics">

524 Métricas547 Métricas

525</h3>548</h3>


664| Atributo | Descripción |687| Atributo | Descripción |

665| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |688| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

666| `prompt.id` | Identificador UUID v4 que vincula todos los eventos producidos mientras se procesa un único mensaje del usuario |689| `prompt.id` | Identificador UUID v4 que vincula todos los eventos producidos mientras se procesa un único mensaje del usuario |

690| `event.sequence` | Contador basado en 0 para ordenar eventos, contado por proceso de Claude Code en lugar de por sesión |

667| `message.uuid` | UUID del mensaje tal como se persiste en la transcripción de sesión, los archivos `~/.claude/projects/*/*.jsonl`. Presente en `assistant_response`, y en `user_prompt` excepto para envíos de comandos, que pueden producir cero o muchos mensajes. En `assistant_response`, esta es la entrada de transcripción final de la respuesta, desde la cual el `parentUuid` del siguiente turno se encadena. Requiere Claude Code v2.1.214 o posterior |691| `message.uuid` | UUID del mensaje tal como se persiste en la transcripción de sesión, los archivos `~/.claude/projects/*/*.jsonl`. Presente en `assistant_response`, y en `user_prompt` excepto para envíos de comandos, que pueden producir cero o muchos mensajes. En `assistant_response`, esta es la entrada de transcripción final de la respuesta, desde la cual el `parentUuid` del siguiente turno se encadena. Requiere Claude Code v2.1.214 o posterior |

668| `client_request_id` | UUID generado por el cliente enviado como encabezado de solicitud `x-client-request-id`. Presente en `api_request` y `api_error` en conexiones de API de primera parte; ausente en backends de proveedores de terceros y cuando la solicitud se reintentó a través de la alternativa sin transmisión. Empareja una solicitud con su respuesta y permanece disponible para fallos como tiempos de espera que nunca produjeron un `request_id` del servidor. Coincide con el mismo atributo en el tramo de seguimiento `llm_request`. Requiere Claude Code v2.1.214 o posterior |692| `client_request_id` | UUID generado por el cliente enviado como encabezado de solicitud `x-client-request-id`. Presente en `api_request` y `api_error` en conexiones de API de primera parte; ausente en backends de proveedores de terceros y cuando la solicitud se reintentó a través de la alternativa sin transmisión. Empareja una solicitud con su respuesta y permanece disponible para fallos como tiempos de espera que nunca produjeron un `request_id` del servidor. Coincide con el mismo atributo en el tramo de seguimiento `llm_request`. Requiere Claude Code v2.1.214 o posterior |

669 693 

670Para rastrear toda la actividad desencadenada por un único mensaje, filtre sus eventos por un valor específico de `prompt.id`. Esto devuelve el evento user\_prompt, cualquier evento api\_request, y cualquier evento tool\_result que ocurrió mientras se procesaba ese mensaje.694Para rastrear toda la actividad desencadenada por un único mensaje, filtre sus eventos por un valor específico de `prompt.id`. Esto devuelve el evento user\_prompt, cualquier evento api\_request, y cualquier evento tool\_result que ocurrió mientras se procesaba ese mensaje.

671 695 

696`event.sequence` comienza en 0 cada vez que se inicia un proceso de Claude Code y cuenta hacia arriba durante la vida de ese proceso. Continúa contando a través de `/clear`, que asigna un nuevo `session.id`. Si [reanuda una sesión sin bifurcar](/docs/es/how-claude-code-works#resume-or-fork-sessions), la sesión mantiene su `session.id` pero toma sus valores de `event.sequence` del proceso que la reanudó, por lo que dentro de una sesión un evento posterior puede llevar un valor más bajo que uno anterior, o repetir uno. Para ordenar los eventos de una sesión, ordene por `event.timestamp` y use `event.sequence` para ordenar eventos que comparten una marca de tiempo.

697 

672Para reconstrucción a nivel de mensaje, cada clase de evento lleva una clave que coincide con un campo en la transcripción de sesión. El formato de entrada de transcripción es [interno a Claude Code](/docs/es/sessions#where-transcripts-are-stored) y cambia entre versiones, por lo que una canalización que se une en estos campos puede romperse en cualquier lanzamiento; trate las uniones como específicas de versión en lugar de un contrato estable:698Para reconstrucción a nivel de mensaje, cada clase de evento lleva una clave que coincide con un campo en la transcripción de sesión. El formato de entrada de transcripción es [interno a Claude Code](/docs/es/sessions#where-transcripts-are-stored) y cambia entre versiones, por lo que una canalización que se une en estos campos puede romperse en cualquier lanzamiento; trate las uniones como específicas de versión en lugar de un contrato estable:

673 699 

674* `message.uuid` en `user_prompt` y `assistant_response`700* `message.uuid` en `user_prompt` y `assistant_response`


688* Todos los [atributos estándar](#standard-attributes)714* Todos los [atributos estándar](#standard-attributes)

689* `event.name`: `"user_prompt"`715* `event.name`: `"user_prompt"`

690* `event.timestamp`: Marca de tiempo ISO 8601716* `event.timestamp`: Marca de tiempo ISO 8601

691* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión717* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

692* `prompt_length`: Longitud del mensaje718* `prompt_length`: Longitud del mensaje

693* `prompt`: Contenido del mensaje. Redactado por defecto. Establezca `OTEL_LOG_USER_PROMPTS=1` para incluirlo719* `prompt`: Contenido del mensaje. Redactado por defecto. Establezca `OTEL_LOG_USER_PROMPTS=1` para incluirlo

694* `message.uuid`: UUID del mensaje del usuario resultante, que coincide con la entrada de transcripción persistida. Ausente en envíos de comandos, que pueden producir cero o muchos mensajes. Requiere Claude Code v2.1.214 o posterior720* `message.uuid`: UUID del mensaje del usuario resultante, que coincide con la entrada de transcripción persistida. Ausente en envíos de comandos, que pueden producir cero o muchos mensajes. Requiere Claude Code v2.1.214 o posterior


708* Todos los [atributos estándar](#standard-attributes)734* Todos los [atributos estándar](#standard-attributes)

709* `event.name`: `"assistant_response"`735* `event.name`: `"assistant_response"`

710* `event.timestamp`: Marca de tiempo ISO 8601736* `event.timestamp`: Marca de tiempo ISO 8601

711* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión737* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

712* `response_length`: Longitud del texto de respuesta en caracteres738* `response_length`: Longitud del texto de respuesta en caracteres

713* `response`: Texto de respuesta, truncado en el límite de contenido (60 KB por defecto). Redactado a `<REDACTED>` por defecto. Establezca `OTEL_LOG_ASSISTANT_RESPONSES=1` para incluirlo. Cuando `OTEL_LOG_ASSISTANT_RESPONSES` no está establecido, `OTEL_LOG_USER_PROMPTS` lo controla en su lugar, así que establezca `OTEL_LOG_ASSISTANT_RESPONSES=0` para mantener las respuestas redactadas mientras el registro de mensajes está activado739* `response`: Texto de respuesta, truncado en el límite de contenido (60 KB por defecto). Redactado a `<REDACTED>` por defecto. Establezca `OTEL_LOG_ASSISTANT_RESPONSES=1` para incluirlo. Cuando `OTEL_LOG_ASSISTANT_RESPONSES` no está establecido, `OTEL_LOG_USER_PROMPTS` lo controla en su lugar, así que establezca `OTEL_LOG_ASSISTANT_RESPONSES=0` para mantener las respuestas redactadas mientras el registro de mensajes está activado

714* `model`: Identificador de modelo (por ejemplo, "claude-sonnet-5")740* `model`: Identificador de modelo (por ejemplo, "claude-sonnet-5")


729* Todos los [atributos estándar](#standard-attributes)755* Todos los [atributos estándar](#standard-attributes)

730* `event.name`: `"tool_result"`756* `event.name`: `"tool_result"`

731* `event.timestamp`: Marca de tiempo ISO 8601757* `event.timestamp`: Marca de tiempo ISO 8601

732* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión758* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

733* `tool_name`: Nombre de la herramienta759* `tool_name`: Nombre de la herramienta

734* `tool_use_id`: Identificador único para esta invocación de herramienta. Coincide con el `tool_use_id` pasado a hooks, permitiendo correlación entre eventos OTel y datos capturados por hooks.760* `tool_use_id`: Identificador único para esta invocación de herramienta. Coincide con el `tool_use_id` pasado a hooks, permitiendo correlación entre eventos OTel y datos capturados por hooks.

735* `success`: `"true"` o `"false"`761* `success`: `"true"` o `"false"`


741* `tool_input_size_bytes`: Tamaño de la entrada de herramienta serializada en JSON en bytes767* `tool_input_size_bytes`: Tamaño de la entrada de herramienta serializada en JSON en bytes

742* `tool_result_size_bytes`: Tamaño del resultado de la herramienta en bytes768* `tool_result_size_bytes`: Tamaño del resultado de la herramienta en bytes

743* `mcp_server_scope`: Identificador de alcance del servidor MCP (para herramientas MCP)769* `mcp_server_scope`: Identificador de alcance del servidor MCP (para herramientas MCP)

770* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (cuando `OTEL_LOG_TOOL_DETAILS=1`): la identidad del commit de una ejecución exitosa de `git commit` realizada por la herramienta Bash o PowerShell. `vcs.ref.head.revision` es el SHA del commit, `vcs.ref.head.name` es la rama en la que se confirmó, y `vcs.ref.head.type` es `branch`. El nombre y tipo se omiten cuando el commit se realizó en un HEAD desacoplado. Requiere Claude Code v2.1.269 o posterior

744* `tool_parameters` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Cadena JSON que contiene parámetros específicos de la herramienta. Para los servidores integrados de Claude Desktop, en sesiones que Claude Desktop posee, el par `mcp_server_name`/`mcp_tool_name` se incluye incluso con la bandera desactivada, la misma excepción creada por el host que el [Evento de decisión de herramienta](#tool-decision-event), requiriendo Claude Code v2.1.214 o posterior. Los parámetros varían por herramienta:771* `tool_parameters` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Cadena JSON que contiene parámetros específicos de la herramienta. Para los servidores integrados de Claude Desktop, en sesiones que Claude Desktop posee, el par `mcp_server_name`/`mcp_tool_name` se incluye incluso con la bandera desactivada, la misma excepción creada por el host que el [Evento de decisión de herramienta](#tool-decision-event), requiriendo Claude Code v2.1.214 o posterior. Los parámetros varían por herramienta:

745 * Para herramienta Bash: incluye `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`, y `git_commit_id` (el SHA del commit, cuando un comando `git commit` tiene éxito). La herramienta bash del espacio de trabajo de la aplicación de escritorio también reporta `tool_name` como `Bash`, pero incluye solo `bash_command`, `full_command`, y `timeout`772 * Para herramienta Bash: incluye `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`, y `git_commit_id` y `git_branch` cuando un comando `git commit` tiene éxito. `git_commit_id` es el SHA completo del commit cuando el commit es el HEAD del directorio de trabajo de la sesión, y el SHA abreviado de git de otra manera. `git_branch` es la rama en la que se confirmó, omitida en un HEAD desacoplado

773 * Para la herramienta Bash del espacio de trabajo de la aplicación de escritorio, que también reporta `tool_name` como `Bash`: incluye solo `bash_command`, `full_command`, y `timeout`

746 * Para herramientas MCP: incluye `mcp_server_name`, `mcp_tool_name`774 * Para herramientas MCP: incluye `mcp_server_name`, `mcp_tool_name`

747 * Para herramienta Skill: incluye `skill_name`775 * Para herramienta Skill: incluye `skill_name`

748 * Para herramienta Agent o herramienta Task heredada: incluye `subagent_type`776 * Para herramienta Agent o herramienta Task heredada: incluye `subagent_type`


761* Todos los [atributos estándar](#standard-attributes)789* Todos los [atributos estándar](#standard-attributes)

762* `event.name`: `"api_request"`790* `event.name`: `"api_request"`

763* `event.timestamp`: Marca de tiempo ISO 8601791* `event.timestamp`: Marca de tiempo ISO 8601

764* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión792* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

765* `model`: Modelo utilizado (por ejemplo, "claude-sonnet-5")793* `model`: Modelo utilizado (por ejemplo, "claude-sonnet-5")

766* `cost_usd`: Costo estimado en USD794* `cost_usd`: Costo estimado en USD

767* `cost_usd_micros`: Costo estimado en millonésimas de dólar estadounidense, emitido como un entero795* `cost_usd_micros`: Costo estimado en millonésimas de dólar estadounidense, emitido como un entero


790* Todos los [atributos estándar](#standard-attributes)818* Todos los [atributos estándar](#standard-attributes)

791* `event.name`: `"api_error"`819* `event.name`: `"api_error"`

792* `event.timestamp`: Marca de tiempo ISO 8601820* `event.timestamp`: Marca de tiempo ISO 8601

793* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión821* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

794* `model`: Modelo utilizado (por ejemplo, "claude-sonnet-5")822* `model`: Modelo utilizado (por ejemplo, "claude-sonnet-5")

795* `error`: Mensaje de error823* `error`: Mensaje de error

796* `status_code`: Código de estado HTTP como número. Ausente para errores no HTTP como fallos de conexión.824* `status_code`: Código de estado HTTP como número. Ausente para errores no HTTP como fallos de conexión.


816* Todos los [atributos estándar](#standard-attributes)844* Todos los [atributos estándar](#standard-attributes)

817* `event.name`: `"api_refusal"`845* `event.name`: `"api_refusal"`

818* `event.timestamp`: Marca de tiempo ISO 8601846* `event.timestamp`: Marca de tiempo ISO 8601

819* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión847* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

820* `model`: Identificador de modelo de la solicitud848* `model`: Identificador de modelo de la solicitud

821* `request_id`: ID de solicitud de API de Anthropic del encabezado `request-id` de la respuesta, como `"req_011..."`. Presente solo cuando la API devuelve uno.849* `request_id`: ID de solicitud de API de Anthropic del encabezado `request-id` de la respuesta, como `"req_011..."`. Presente solo cuando la API devuelve uno.

822* `query_source`: Subsistema que emitió la solicitud, como `"repl_main_thread"`, `"compact"`, o un nombre de subagente. Consulte [`api_request`](#api-request-event) para definiciones.850* `query_source`: Subsistema que emitió la solicitud, como `"repl_main_thread"`, `"compact"`, o un nombre de subagente. Consulte [`api_request`](#api-request-event) para definiciones.


842* Todos los [atributos estándar](#standard-attributes)870* Todos los [atributos estándar](#standard-attributes)

843* `event.name`: `"api_request_body"`871* `event.name`: `"api_request_body"`

844* `event.timestamp`: Marca de tiempo ISO 8601872* `event.timestamp`: Marca de tiempo ISO 8601

845* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión873* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

846* `body`: Parámetros de solicitud de API de Mensajes serializados en JSON, como el mensaje del sistema, mensajes y herramientas, truncados en el límite de contenido (60 KB por defecto). El contenido de pensamiento extendido en turnos de asistente anteriores se redacta. Se emite solo en modo en línea (`OTEL_LOG_RAW_API_BODIES=1`).874* `body`: Parámetros de solicitud de API de Mensajes serializados en JSON, como el mensaje del sistema, mensajes y herramientas, truncados en el límite de contenido (60 KB por defecto). El contenido de pensamiento extendido en turnos de asistente anteriores se redacta. Se emite solo en modo en línea (`OTEL_LOG_RAW_API_BODIES=1`).

847* `body_ref`: Ruta absoluta a un archivo `<dir>/<uuid>.request.json` que contiene el cuerpo sin truncar. Se emite solo en modo de archivo (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).875* `body_ref`: Ruta absoluta a un archivo `<dir>/<uuid>.request.json` que contiene el cuerpo sin truncar. Se emite solo en modo de archivo (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

848* `body_length`: Longitud del cuerpo sin truncar. Bytes UTF-8 cuando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unidades de código UTF-16 cuando `=1`876* `body_length`: Longitud del cuerpo sin truncar. Bytes UTF-8 cuando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unidades de código UTF-16 cuando `=1`


863* Todos los [atributos estándar](#standard-attributes)891* Todos los [atributos estándar](#standard-attributes)

864* `event.name`: `"api_response_body"`892* `event.name`: `"api_response_body"`

865* `event.timestamp`: Marca de tiempo ISO 8601893* `event.timestamp`: Marca de tiempo ISO 8601

866* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión894* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

867* `body`: Respuesta de API de Mensajes serializada en JSON, incluyendo el id, bloques de contenido, uso y razón de parada, truncada en el límite de contenido (60 KB por defecto). El contenido de pensamiento extendido se redacta. Se emite solo en modo en línea (`OTEL_LOG_RAW_API_BODIES=1`).895* `body`: Respuesta de API de Mensajes serializada en JSON, incluyendo el id, bloques de contenido, uso y razón de parada, truncada en el límite de contenido (60 KB por defecto). El contenido de pensamiento extendido se redacta. Se emite solo en modo en línea (`OTEL_LOG_RAW_API_BODIES=1`).

868* `body_ref`: Ruta absoluta a un archivo `<dir>/<request_id>.response.json` que contiene el cuerpo sin truncar. Se emite solo en modo de archivo (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).896* `body_ref`: Ruta absoluta a un archivo `<dir>/<request_id>.response.json` que contiene el cuerpo sin truncar. Se emite solo en modo de archivo (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

869* `body_length`: Longitud del cuerpo sin truncar. Bytes UTF-8 cuando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unidades de código UTF-16 cuando `=1`897* `body_length`: Longitud del cuerpo sin truncar. Bytes UTF-8 cuando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unidades de código UTF-16 cuando `=1`


885* Todos los [atributos estándar](#standard-attributes)913* Todos los [atributos estándar](#standard-attributes)

886* `event.name`: `"tool_decision"`914* `event.name`: `"tool_decision"`

887* `event.timestamp`: Marca de tiempo ISO 8601915* `event.timestamp`: Marca de tiempo ISO 8601

888* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión916* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

889* `tool_name`: Nombre de la herramienta (por ejemplo, "Read", "Edit", "Write", "NotebookEdit")917* `tool_name`: Nombre de la herramienta (por ejemplo, "Read", "Edit", "Write", "NotebookEdit")

890* `tool_use_id`: Identificador único para esta invocación de herramienta. Coincide con el `tool_use_id` pasado a hooks, permitiendo correlación entre eventos OTel y datos capturados por hooks.918* `tool_use_id`: Identificador único para esta invocación de herramienta. Coincide con el `tool_use_id` pasado a hooks, permitiendo correlación entre eventos OTel y datos capturados por hooks.

891* `decision`: Ya sea `"accept"` o `"reject"`919* `decision`: Ya sea `"accept"` o `"reject"`


920* Todos los [atributos estándar](#standard-attributes)948* Todos los [atributos estándar](#standard-attributes)

921* `event.name`: `"permission_mode_changed"`949* `event.name`: `"permission_mode_changed"`

922* `event.timestamp`: Marca de tiempo ISO 8601950* `event.timestamp`: Marca de tiempo ISO 8601

923* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión951* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

924* `from_mode`: El modo de permiso anterior, por ejemplo `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, o `"bypassPermissions"`952* `from_mode`: El modo de permiso anterior, por ejemplo `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, o `"bypassPermissions"`

925* `to_mode`: El nuevo modo de permiso953* `to_mode`: El nuevo modo de permiso

926* `trigger`: Qué causó el cambio. Uno de `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, o `"auto_opt_in"`. Ausente cuando la transición se origina del SDK o puente954* `trigger`: Qué causó el cambio. Uno de `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, o `"auto_opt_in"`. Ausente cuando la transición se origina del SDK o puente


938* Todos los [atributos estándar](#standard-attributes)966* Todos los [atributos estándar](#standard-attributes)

939* `event.name`: `"auth"`967* `event.name`: `"auth"`

940* `event.timestamp`: Marca de tiempo ISO 8601968* `event.timestamp`: Marca de tiempo ISO 8601

941* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión969* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

942* `action`: `"login"` o `"logout"`970* `action`: `"login"` o `"logout"`

943* `success`: `"true"` o `"false"`971* `success`: `"true"` o `"false"`

944* `auth_method`: Método de autenticación, como `"oauth"`972* `auth_method`: Método de autenticación, como `"oauth"`


958* Todos los [atributos estándar](#standard-attributes)986* Todos los [atributos estándar](#standard-attributes)

959* `event.name`: `"mcp_server_connection"`987* `event.name`: `"mcp_server_connection"`

960* `event.timestamp`: Marca de tiempo ISO 8601988* `event.timestamp`: Marca de tiempo ISO 8601

961* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión989* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

962* `status`: `"connected"`, `"failed"`, o `"disconnected"`990* `status`: `"connected"`, `"failed"`, o `"disconnected"`

963* `transport_type`: Transporte del servidor, como `"stdio"`, `"sse"`, o `"http"`991* `transport_type`: Transporte del servidor, como `"stdio"`, `"sse"`, o `"http"`

964* `server_scope`: Alcance en el que está configurado el servidor, como `"user"`, `"project"`, o `"local"`992* `server_scope`: Alcance en el que está configurado el servidor, como `"user"`, `"project"`, o `"local"`


983* Todos los [atributos estándar](#standard-attributes)1011* Todos los [atributos estándar](#standard-attributes)

984* `event.name`: `"internal_error"`1012* `event.name`: `"internal_error"`

985* `event.timestamp`: Marca de tiempo ISO 86011013* `event.timestamp`: Marca de tiempo ISO 8601

986* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1014* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

987* `error_name`: Nombre de la clase de error, como `"TypeError"` o `"SyntaxError"`1015* `error_name`: Nombre de la clase de error, como `"TypeError"` o `"SyntaxError"`

988* `error_code`: Código errno de Node.js como `"ENOENT"` cuando está presente en el error1016* `error_code`: Código errno de Node.js como `"ENOENT"` cuando está presente en el error

989 1017 


1000* Todos los [atributos estándar](#standard-attributes)1028* Todos los [atributos estándar](#standard-attributes)

1001* `event.name`: `"plugin_installed"`1029* `event.name`: `"plugin_installed"`

1002* `event.timestamp`: Marca de tiempo ISO 86011030* `event.timestamp`: Marca de tiempo ISO 8601

1003* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1031* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1004* `marketplace.is_official`: `"true"` si el mercado es un mercado oficial de Anthropic, `"false"` de otra manera1032* `marketplace.is_official`: `"true"` si el mercado es un mercado oficial de Anthropic, `"false"` de otra manera

1005* `install.trigger`: `"cli"` o `"ui"`1033* `install.trigger`: `"cli"` o `"ui"`

1006* `plugin.name`: Nombre del plugin instalado. Para mercados de terceros esto se incluye solo cuando `OTEL_LOG_TOOL_DETAILS=1`1034* `plugin.name`: Nombre del plugin instalado. Para mercados de terceros esto se incluye solo cuando `OTEL_LOG_TOOL_DETAILS=1`


1020* Todos los [atributos estándar](#standard-attributes)1048* Todos los [atributos estándar](#standard-attributes)

1021* `event.name`: `"plugin_loaded"`1049* `event.name`: `"plugin_loaded"`

1022* `event.timestamp`: Marca de tiempo ISO 86011050* `event.timestamp`: Marca de tiempo ISO 8601

1023* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1051* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1024* `plugin.name`: nombre del plugin. Para plugins fuera del mercado oficial y paquete integrado el valor es `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1`1052* `plugin.name`: nombre del plugin. Para plugins fuera del mercado oficial y paquete integrado el valor es `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1`

1025* `marketplace.name`: mercado desde el que se instaló el plugin, cuando se conoce. Redactado a `"third-party"` bajo la misma condición que `plugin.name`1053* `marketplace.name`: mercado desde el que se instaló el plugin, cuando se conoce. Redactado a `"third-party"` bajo la misma condición que `plugin.name`

1026* `plugin.version`: versión del manifiesto del plugin. Se incluye solo cuando el nombre no está redactado y el manifiesto declara una versión1054* `plugin.version`: versión del manifiesto del plugin. Se incluye solo cuando el nombre no está redactado y el manifiesto declara una versión


1048* Todos los [atributos estándar](#standard-attributes)1076* Todos los [atributos estándar](#standard-attributes)

1049* `event.name`: `"skill_activated"`1077* `event.name`: `"skill_activated"`

1050* `event.timestamp`: Marca de tiempo ISO 86011078* `event.timestamp`: Marca de tiempo ISO 8601

1051* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1079* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1052* `skill.name`: Nombre de la habilidad. Para habilidades definidas por el usuario y de plugin de terceros el valor es el marcador de posición `"custom_skill"` a menos que `OTEL_LOG_TOOL_DETAILS=1`1080* `skill.name`: Nombre de la habilidad. Para habilidades definidas por el usuario y de plugin de terceros el valor es el marcador de posición `"custom_skill"` a menos que `OTEL_LOG_TOOL_DETAILS=1`

1053* `invocation_trigger`: Cómo se activó la habilidad (`"user-slash"`, `"claude-proactive"`, o `"nested-skill"`)1081* `invocation_trigger`: Cómo se activó la habilidad (`"user-slash"`, `"claude-proactive"`, o `"nested-skill"`)

1054* `skill.source`: De dónde se cargó la habilidad (por ejemplo, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)1082* `skill.source`: De dónde se cargó la habilidad (por ejemplo, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)


1069* Todos los [atributos estándar](#standard-attributes)1097* Todos los [atributos estándar](#standard-attributes)

1070* `event.name`: `"at_mention"`1098* `event.name`: `"at_mention"`

1071* `event.timestamp`: Marca de tiempo ISO 86011099* `event.timestamp`: Marca de tiempo ISO 8601

1072* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1100* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1073* `mention_type`: Tipo de mención (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). El valor `"peer"` significa que mencionó [una de sus otras sesiones de Claude Code](/docs/es/cross-session-messaging). Requiere Claude Code v2.1.232 o posterior1101* `mention_type`: Tipo de mención (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). El valor `"peer"` significa que mencionó [una de sus otras sesiones de Claude Code](/docs/es/cross-session-messaging). Requiere Claude Code v2.1.232 o posterior

1074* `success`: Si la mención se resolvió exitosamente (`"true"` o `"false"`)1102* `success`: Si la mención se resolvió exitosamente (`"true"` o `"false"`)

1075 1103 


1086* Todos los [atributos estándar](#standard-attributes)1114* Todos los [atributos estándar](#standard-attributes)

1087* `event.name`: `"api_retries_exhausted"`1115* `event.name`: `"api_retries_exhausted"`

1088* `event.timestamp`: Marca de tiempo ISO 86011116* `event.timestamp`: Marca de tiempo ISO 8601

1089* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1117* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1090* `model`: Modelo utilizado1118* `model`: Modelo utilizado

1091* `error`: Mensaje de error final1119* `error`: Mensaje de error final

1092* `status_code`: Código de estado HTTP como número. Ausente para errores no HTTP.1120* `status_code`: Código de estado HTTP como número. Ausente para errores no HTTP.


1107* Todos los [atributos estándar](#standard-attributes)1135* Todos los [atributos estándar](#standard-attributes)

1108* `event.name`: `"hook_registered"`1136* `event.name`: `"hook_registered"`

1109* `event.timestamp`: Marca de tiempo ISO 86011137* `event.timestamp`: Marca de tiempo ISO 8601

1110* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1138* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1111* `hook_event`: tipo de evento de hook, como `"PreToolUse"` o `"PostToolUse"`1139* `hook_event`: tipo de evento de hook, como `"PreToolUse"` o `"PostToolUse"`

1112* `hook_type`: tipo de implementación de hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, o `"agent"`1140* `hook_type`: tipo de implementación de hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, o `"agent"`

1113* `hook_source`: dónde se define el hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, o `"pluginHook"`1141* `hook_source`: dónde se define el hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, o `"pluginHook"`


1129* Todos los [atributos estándar](#standard-attributes)1157* Todos los [atributos estándar](#standard-attributes)

1130* `event.name`: `"hook_execution_start"`1158* `event.name`: `"hook_execution_start"`

1131* `event.timestamp`: Marca de tiempo ISO 86011159* `event.timestamp`: Marca de tiempo ISO 8601

1132* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1160* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1133* `hook_event`: Tipo de evento de hook, como `"PreToolUse"` o `"PostToolUse"`1161* `hook_event`: Tipo de evento de hook, como `"PreToolUse"` o `"PostToolUse"`

1134* `hook_name`: Nombre completo del hook incluyendo coincidencia, como `"PreToolUse:Write"`1162* `hook_name`: Nombre completo del hook incluyendo coincidencia, como `"PreToolUse:Write"`

1135* `num_hooks`: Número de comandos de hook coincidentes1163* `num_hooks`: Número de comandos de hook coincidentes


1151* Todos los [atributos estándar](#standard-attributes)1179* Todos los [atributos estándar](#standard-attributes)

1152* `event.name`: `"hook_execution_complete"`1180* `event.name`: `"hook_execution_complete"`

1153* `event.timestamp`: Marca de tiempo ISO 86011181* `event.timestamp`: Marca de tiempo ISO 8601

1154* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1182* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1155* `hook_event`: Tipo de evento de hook1183* `hook_event`: Tipo de evento de hook

1156* `hook_name`: Nombre completo del hook incluyendo coincidencia1184* `hook_name`: Nombre completo del hook incluyendo coincidencia

1157* `num_hooks`: Número de comandos de hook coincidentes1185* `num_hooks`: Número de comandos de hook coincidentes


1178* Todos los [atributos estándar](#standard-attributes)1206* Todos los [atributos estándar](#standard-attributes)

1179* `event.name`: `"hook_plugin_metrics"`1207* `event.name`: `"hook_plugin_metrics"`

1180* `event.timestamp`: Marca de tiempo ISO 86011208* `event.timestamp`: Marca de tiempo ISO 8601

1181* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1209* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1182* `plugin_id`: identificador del plugin en forma `<name>@<marketplace>`1210* `plugin_id`: identificador del plugin en forma `<name>@<marketplace>`

1183* `hook_event`: tipo de evento de hook que emitió las métricas1211* `hook_event`: tipo de evento de hook que emitió las métricas

1184* Hasta 20 claves de métricas emitidas por el plugin. Los nombres coinciden con `^[a-z][a-z0-9_]{0,39}$`. Los valores son booleanos o números.1212* Hasta 20 claves de métricas emitidas por el plugin. Los nombres coinciden con `^[a-z][a-z0-9_]{0,39}$`. Los valores son booleanos o números.


1196* Todos los [atributos estándar](#standard-attributes)1224* Todos los [atributos estándar](#standard-attributes)

1197* `event.name`: `"compaction"`1225* `event.name`: `"compaction"`

1198* `event.timestamp`: Marca de tiempo ISO 86011226* `event.timestamp`: Marca de tiempo ISO 8601

1199* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1227* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1200* `trigger`: `"auto"` o `"manual"`1228* `trigger`: `"auto"` o `"manual"`

1201* `success`: `"true"` o `"false"`1229* `success`: `"true"` o `"false"`

1202* `duration_ms`: Duración de compactación1230* `duration_ms`: Duración de compactación


1218* Todos los [atributos estándar](#standard-attributes)1246* Todos los [atributos estándar](#standard-attributes)

1219* `event.name`: `"subagent_completed"`1247* `event.name`: `"subagent_completed"`

1220* `event.timestamp`: Marca de tiempo ISO 86011248* `event.timestamp`: Marca de tiempo ISO 8601

1221* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1249* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1222* `agent_type`: El tipo de subagente. Los nombres de agentes integrados y de plugins del mercado oficial aparecen tal cual; otros nombres de agentes se reemplazan con `"custom"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esté establecido1250* `agent_type`: El tipo de subagente. Los nombres de agentes integrados y de plugins del mercado oficial aparecen tal cual; otros nombres de agentes se reemplazan con `"custom"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esté establecido

1223* `agent.source`: De dónde vino la definición del agente: `built-in`, `plugin`, o la fuente de configuración que definió un agente personalizado, como `userSettings` o `projectSettings`1251* `agent.source`: De dónde vino la definición del agente: `built-in`, `plugin`, o la fuente de configuración que definió un agente personalizado, como `userSettings` o `projectSettings`

1224* `is_built_in`: Si el subagente es un tipo de agente integrado1252* `is_built_in`: Si el subagente es un tipo de agente integrado


1244* Todos los [atributos estándar](#standard-attributes)1272* Todos los [atributos estándar](#standard-attributes)

1245* `event.name`: `"feedback_survey"`1273* `event.name`: `"feedback_survey"`

1246* `event.timestamp`: Marca de tiempo ISO 86011274* `event.timestamp`: Marca de tiempo ISO 8601

1247* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1275* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1248* `event_type`: Evento del ciclo de vida de la encuesta, por ejemplo `"appeared"`, `"responded"`, o `"transcript_prompt_appeared"`1276* `event_type`: Evento del ciclo de vida de la encuesta, por ejemplo `"appeared"`, `"responded"`, o `"transcript_prompt_appeared"`

1249* `appearance_id`: ID único que vincula los eventos emitidos para una instancia de encuesta1277* `appearance_id`: ID único que vincula los eventos emitidos para una instancia de encuesta

1250* `survey_type`: Qué encuesta produjo el evento. `"session"` es el mensaje de calificación "¿Cómo está Claude?"1278* `survey_type`: Qué encuesta produjo el evento. `"session"` es el mensaje de calificación "¿Cómo está Claude?"


1268* Todos los [atributos estándar](#standard-attributes)1296* Todos los [atributos estándar](#standard-attributes)

1269* `event.name`: `"retention_sweep"`1297* `event.name`: `"retention_sweep"`

1270* `event.timestamp`: Marca de tiempo ISO 86011298* `event.timestamp`: Marca de tiempo ISO 8601

1271* `event.sequence`: Contador monotónicamente creciente para ordenar eventos dentro de una sesión1299* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)

1272* `result`: `"complete"` cuando el barrido se ejecutó, `"skipped"` cuando Claude Code lo pausó1300* `result`: `"complete"` cuando el barrido se ejecutó, `"skipped"` cuando Claude Code lo pausó

1273* `period_days`: El valor `cleanupPeriodDays` de la configuración fusionada, en días, o `30` cuando ninguna fuente lo establece. En eventos omitidos, el valor que el barrido habría usado, calculado a partir de las fuentes de configuración que Claude Code pudo leer1301* `period_days`: El valor `cleanupPeriodDays` de la configuración fusionada, en días, o `30` cuando ninguna fuente lo establece. En eventos omitidos, el valor que el barrido habría usado, calculado a partir de las fuentes de configuración que Claude Code pudo leer

1274* `used_default`: `"true"` cuando ninguna fuente de configuración legible establece `cleanupPeriodDays`, `"false"` de otra manera. En eventos completados, `"true"` significa que se aplicó el predeterminado de 30 días1302* `used_default`: `"true"` cuando ninguna fuente de configuración legible establece `cleanupPeriodDays`, `"false"` de otra manera. En eventos completados, `"true"` significa que se aplicó el predeterminado de 30 días

permissions.md +3 −1

Details

67 67 

68Una regla deny amplia como `Bash(aws *)` bloquea cada llamada coincidente, incluidas las llamadas que también coinciden con una regla allow más específica como `Bash(aws s3 ls)`, por lo que una regla deny no puede llevar excepciones de lista de permitidos. La misma precedencia se aplica entre ask y allow: una regla ask coincidente solicita confirmación incluso cuando una regla allow más específica también coincide con la misma llamada.68Una regla deny amplia como `Bash(aws *)` bloquea cada llamada coincidente, incluidas las llamadas que también coinciden con una regla allow más específica como `Bash(aws s3 ls)`, por lo que una regla deny no puede llevar excepciones de lista de permitidos. La misma precedencia se aplica entre ask y allow: una regla ask coincidente solicita confirmación incluso cuando una regla allow más específica también coincide con la misma llamada.

69 69 

70Las reglas deny se comportan de manera diferente dependiendo de si nombran una herramienta o delimitan un patrón dentro de una. Un nombre de herramienta simple como `Bash` elimina la herramienta del contexto de Claude por completo, por lo que Claude nunca la ve. La eliminación de nombre simple se aplica a todas las herramientas excepto [`EndConversation`](/docs/es/tools-reference#endconversation-tool-behavior): una regla deny no puede eliminarla mientras permanezca cualquier otra herramienta, y una regla ask nunca solicita confirmación para ella. Una regla delimitada como `Bash(rm *)` deja la herramienta disponible y bloquea las llamadas coincidentes cuando Claude intenta usarlas.70Las reglas deny se comportan de manera diferente dependiendo de si nombran una herramienta o delimitan un patrón dentro de una. Un nombre de herramienta simple como `Bash` elimina la herramienta del contexto de Claude por completo, por lo que Claude nunca la ve. Si agrega tal regla a mitad de sesión, Claude no puede llamar a la herramienta desde su siguiente llamada de herramienta en adelante; [Denying an entire tool](/docs/es/prompt-caching#denying-an-entire-tool) cubre lo que sucede con una definición que Claude ya ha visto. Una regla delimitada como `Bash(rm *)` deja la herramienta disponible y bloquea las llamadas coincidentes cuando Claude intenta usarlas.

71 

72La eliminación de nombre simple se aplica a todas las herramientas excepto [`EndConversation`](/docs/es/tools-reference#endconversation-tool-behavior): una regla deny no puede eliminarla mientras permanezca cualquier otra herramienta, y una regla ask nunca solicita confirmación para ella.

71 73 

72<Note>74<Note>

73 Las reglas de permisos se aplican mediante Claude Code, no por el modelo. Las instrucciones en su prompt o `CLAUDE.md` determinan lo que Claude intenta hacer, pero no cambian lo que Claude Code permite. Para otorgar o revocar acceso, use `/permissions`, las reglas descritas aquí, un [modo de permisos](/docs/es/permission-modes), o un [hook PreToolUse](#extend-permissions-with-hooks).75 Las reglas de permisos se aplican mediante Claude Code, no por el modelo. Las instrucciones en su prompt o `CLAUDE.md` determinan lo que Claude intenta hacer, pero no cambian lo que Claude Code permite. Para otorgar o revocar acceso, use `/permissions`, las reglas descritas aquí, un [modo de permisos](/docs/es/permission-modes), o un [hook PreToolUse](#extend-permissions-with-hooks).

Details

185 Denegar una herramienta completa185 Denegar una herramienta completa

186</h3>186</h3>

187 187 

188Agregar un nombre de herramienta simple como `Bash` o `WebFetch` como una [regla de denegación](/docs/es/permissions#manage-permissions) elimina esa herramienta del contexto de Claude por completo. Claude Code carga definiciones de herramientas integradas en la capa del mensaje del sistema, por lo que agregar o eliminar una de estas reglas a mitad de sesión invalida la caché. Claude Code aplica el cambio en la siguiente solicitud, ya sea que agregue la regla a través de `/permissions` o [editando un archivo de configuración directamente](/docs/es/settings#when-edits-take-effect). Eso incluye una regla que agrega a través de `/permissions` en medio de un turno.188Si agrega un nombre de herramienta simple como `Bash` o `WebFetch` como una [regla de denegación](/docs/es/permissions#manage-permissions), Claude no puede llamar a esa herramienta desde su siguiente solicitud en adelante, ya sea que agregue la regla a través de `/permissions` o [editando un archivo de configuración directamente](/docs/es/settings#when-edits-take-effect). Eso incluye una regla que agrega a través de `/permissions` en medio de un turno.

189 189 

190Solo una regla de denegación que coincida en la posición del nombre de la herramienta tiene este efecto: un nombre de herramienta simple, la forma equivalente `Bash(*)`, o un [glob de nombre de herramienta](/docs/es/permissions#tool-name-wildcards) como `"*"`. Un glob que coincida solo con herramientas MCP, como `"mcp__*"`, elimina esas herramientas de la misma manera pero mantiene la caché intacta cuando las herramientas coincidentes se [difieren](#connecting-or-disconnecting-an-mcp-server), el valor predeterminado, ya que las definiciones diferidas nunca estuvieron en el prefijo almacenado en caché. Las reglas de denegación con alcance como `Bash(rm *)`, y todas las reglas de permitir y preguntar, no cambian qué herramientas ve Claude. Claude Code las verifica cuando Claude intenta una llamada, dejando el prefijo intacto.190Cuando [la búsqueda de herramientas](/docs/es/mcp#scale-with-mcp-tool-search) está activa, que es el valor predeterminado en modelos compatibles, las definiciones de herramientas de la solicitud no cambian y el prefijo almacenado en caché sobrevive. Cuando la búsqueda de herramientas no está disponible o está deshabilitada, Claude Code elimina la definición de la siguiente solicitud, lo que invalida la caché, y lo mismo ocurre al eliminar la regla más tarde.

191 

192Solo una regla de denegación que coincida en la posición del nombre de la herramienta bloquea una herramienta de esta manera: un nombre de herramienta simple, la forma equivalente `Bash(*)`, o un [glob de nombre de herramienta](/docs/es/permissions#tool-name-wildcards) como `"*"`. Un glob que coincida solo con herramientas MCP, como `"mcp__*"`, bloquea esas herramientas de la misma manera. Las reglas de denegación con alcance como `Bash(rm *)`, y todas las reglas de permitir y preguntar, no cambian qué herramientas ve Claude. Claude Code las verifica cuando Claude intenta una llamada, dejando el prefijo intacto.

191 193 

192<h3 id="compacting-the-conversation">194<h3 id="compacting-the-conversation">

193 Compactar la conversación195 Compactar la conversación

Details

1743. El último mensaje significativo en el historial de conversación existente1743. El último mensaje significativo en el historial de conversación existente

1754. Un nombre generado automáticamente como `myhost-graceful-unicorn`, donde `myhost` es el nombre de host de su máquina o el prefijo que estableció con `--remote-control-session-name-prefix`1754. Un nombre generado automáticamente como `myhost-graceful-unicorn`, donde `myhost` es el nombre de host de su máquina o el prefijo que estableció con `--remote-control-session-name-prefix`

176 176 

177Si no estableció un nombre explícito, Claude Code actualiza el título para reflejar su solicitud una vez que envíe una. Claude Code hace coincidir los títulos generados automáticamente con el idioma de su conversación, o con la configuración [`language`](/docs/es/settings-reference#language) si una está configurada; la coincidencia de idioma requiere Claude Code v2.1.176 o posterior.177Si no estableció un nombre explícito, Claude Code actualiza el título para reflejar su solicitud una vez que envíe una. Claude Code hace coincidir los títulos generados automáticamente con el idioma de su conversación, o con la configuración [`language`](/docs/es/settings-reference#language) si una está configurada.

178 178 

179Cuando renombra una sesión desde claude.ai o la aplicación Claude, Claude Code también actualiza el título local que se muestra en `claude --resume`. Claude Code aplica el mismo cambio de nombre al nombre de sesión que se muestra en la barra de solicitud, y en la lista `claude agents` cuando la sesión [se ejecuta en segundo plano](/docs/es/agent-view). Antes de v2.1.221, renombrar desde la lista de sesiones en claude.ai o en la aplicación Claude actualizaba solo el título, y la CLI mantenía su nombre de sesión anterior; `/rename`, que se ejecuta en la CLI misma, establece el nombre en cualquier versión.179Cuando renombra una sesión desde claude.ai o la aplicación Claude, Claude Code también actualiza el título local que se muestra en `claude --resume`. Claude Code aplica el mismo cambio de nombre al nombre de sesión que se muestra en la barra de solicitud, y en la lista `claude agents` cuando la sesión [se ejecuta en segundo plano](/docs/es/agent-view). Antes de v2.1.221, renombrar desde la lista de sesiones en claude.ai o en la aplicación Claude actualizaba solo el título, y la CLI mantenía su nombre de sesión anterior; `/rename`, que se ejecuta en la CLI misma, establece el nombre en cualquier versión.

180 180 

Details

18 Comparar enfoques de sandboxing18 Comparar enfoques de sandboxing

19</h2>19</h2>

20 20 

21Los dos primeros enfoques en la tabla a continuación se ejecutan en el sistema operativo host sin contenedores. El resto coloca Claude Code dentro de un contenedor o máquina virtual.21Los dos primeros enfoques en la tabla siguiente se ejecutan en el sistema operativo host sin contenedores. El resto coloca Claude Code dentro de un contenedor o máquina virtual.

22 22 

23| Enfoque | Qué se aísla | Requiere Docker | Esfuerzo de configuración |23| Enfoque | Qué se aísla | Requiere Docker | Esfuerzo de configuración |

24| :----------------------------------------------- | :---------------------------------------------------------------------------------------- | :-------------- | :-------------------------------------------------- |24| :------------------------------------------------- | :-------------------------------------------------------------------------------------------- | :-------------- | :-------------------------------------------------------------------------------------- |

25| [Herramienta Bash aislada](#sandboxed-bash-tool) | Comandos Bash y sus procesos secundarios | No | Mínimo en macOS; bajo en Linux y WSL2 |25| [Herramienta Bash sandboxed](#sandboxed-bash-tool) | Comandos Bash y sus procesos secundarios | No | Mínimo en macOS; bajo en Linux y WSL2 |

26| [Tiempo de ejecución sandbox](#sandbox-runtime) | Todo el proceso de Claude Code, incluidas herramientas de archivo, servidores MCP y hooks | No | Bajo |26| [Sandbox runtime](#sandbox-runtime) | Todo el proceso de Claude Code, incluidas las herramientas de archivo, servidores MCP y hooks | No | Bajo |

27| [Contenedor de desarrollo](#dev-containers) | Entorno de desarrollo completo | Sí | Medio |27| [Dev container](#dev-containers) | Entorno de desarrollo completo | Sí | Medio |

28| [Contenedor personalizado](#custom-container) | Entorno de desarrollo completo | Sí | Medio a alto |28| [Contenedor personalizado](#custom-container) | Entorno de desarrollo completo | Sí | Medio a alto |

29| [Máquina virtual](#virtual-machine) | Sistema operativo completo | No | Alto |29| [Máquina virtual](#virtual-machine) | Sistema operativo completo | No | Alto |

30| [Claude Code en la web](#claude-code-on-the-web) | Sistema operativo completo, alojado por Anthropic | No | Ninguno; requiere una suscripción a Claude y GitHub |30| [Claude Code en la web](#claude-code-on-the-web) | Sistema operativo completo, alojado por Anthropic | No | Ninguno; requiere una suscripción a Claude y GitHub cuando inicia desde la interfaz web |

31 31 

32La [herramienta Bash aislada](/docs/es/sandboxing) está integrada en Claude Code y restringe solo comandos Bash. Las herramientas de archivo integradas, los servidores MCP y los hooks aún se ejecutan directamente en su host. Todos los demás enfoques en la tabla colocan todo el proceso de Claude Code dentro del límite de aislamiento, por lo que las herramientas de archivo, los servidores MCP y los hooks también están restringidos.32La [herramienta Bash sandboxed](/docs/es/sandboxing) está integrada en Claude Code y restringe los comandos Bash. Las herramientas de archivo integradas, los servidores MCP y los hooks aún se ejecutan directamente en su host. Todos los demás enfoques en la tabla colocan todo el proceso de Claude Code dentro del límite de aislamiento, por lo que las herramientas de archivo, los servidores MCP y los hooks también se restringen.

33 33 

34<Warning>34<Warning>

35 El aislamiento sandbox reduce el impacto de una violación, pero no elimina el riesgo. Cualquier enfoque que permita egreso de red aún puede filtrar datos que el agente puede leer, y cualquier enfoque que monte su directorio de proyecto escribible aún puede modificar ese código. Revise las [limitaciones de seguridad](/docs/es/sandboxing#security-limitations) antes de confiar en un sandbox como un control duro.35 El aislamiento de sandbox reduce el impacto de una brecha, pero no elimina el riesgo. Cualquier enfoque que permita egreso de red aún puede filtrar datos que el agente puede leer, y cualquier enfoque que monte su directorio de proyecto escribible aún puede modificar ese código. Revise las [limitaciones de seguridad](/docs/es/sandboxing#security-limitations) antes de confiar en un sandbox como un control estricto.

36 36 

37 El aislamiento tampoco cambia lo que se envía al modelo. Sus indicaciones y los archivos que Claude lee se transmiten a la API de Anthropic o a su proveedor configurado con o sin sandbox. Consulte [Uso de datos](/docs/es/data-usage) para ver qué envía Claude Code y cómo reducirlo.37 El aislamiento tampoco cambia lo que se envía al modelo. Sus indicaciones y los archivos que Claude lee se transmiten a la API de Anthropic o a su proveedor configurado con o sin un sandbox. Consulte [Uso de datos](/docs/es/data-usage) para saber qué envía Claude Code y cómo reducirlo.

38</Warning>38</Warning>

39 39 

40<h2 id="choose-an-approach">40<h2 id="choose-an-approach">


83El sandbox por comando no cubre todo lo que se ejecuta en una sesión:83El sandbox por comando no cubre todo lo que se ejecuta en una sesión:

84 84 

85* Otras [herramientas integradas](/docs/es/tools-reference) como Read, Edit y WebFetch se ejecutan dentro del proceso de Claude Code y no generan código arbitrario. Las [reglas de permiso](/docs/es/permissions) para ruta o dominio las controlan en su lugar.85* Otras [herramientas integradas](/docs/es/tools-reference) como Read, Edit y WebFetch se ejecutan dentro del proceso de Claude Code y no generan código arbitrario. Las [reglas de permiso](/docs/es/permissions) para ruta o dominio las controlan en su lugar.

86* Los servidores [MCP](/docs/es/mcp) y hooks son procesos separados que se ejecutan sin restricciones en el host.86* Los servidores [MCP](/docs/es/mcp) y [hooks de comando](/docs/es/hooks#command-hook-fields) son procesos separados que se ejecutan sin restricciones en el host.

87 87 

88Para poner herramientas integradas, servidores MCP y hooks todos detrás de un límite de SO, ejecute todo el proceso de Claude Code dentro del [tiempo de ejecución sandbox](#sandbox-runtime), el [contenedor de desarrollo](#dev-containers) o un [contenedor personalizado](#custom-container).88Para poner herramientas integradas, servidores MCP y hooks todos detrás de un límite de SO, ejecute todo el proceso de Claude Code dentro del [tiempo de ejecución sandbox](#sandbox-runtime), el [contenedor de desarrollo](#dev-containers) o un [contenedor personalizado](#custom-container).

89 89 

Details

486 486 

487`--kill-session-after-min` es un tope para sesiones descontroladas. En un runner en v2.1.260 o posterior, una sesión que alcanza el límite no se termina inmediatamente. El runner le da una ventana de gracia, 15 minutos por defecto, que puede cambiar con [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](/docs/es/self-hosted-environments-reference#environment-variable-only-settings):487`--kill-session-after-min` es un tope para sesiones descontroladas. En un runner en v2.1.260 o posterior, una sesión que alcanza el límite no se termina inmediatamente. El runner le da una ventana de gracia, 15 minutos por defecto, que puede cambiar con [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](/docs/es/self-hosted-environments-reference#environment-variable-only-settings):

488 488 

489* Si la sesión está esperando a su usuario, o su turno ha terminado y solo mantiene tareas de fondo, el runner la libera inmediatamente. La sesión se reanuda cuando su usuario envía su siguiente mensaje.489* Si la sesión está esperando a su usuario, el runner la libera. Si su turno ha terminado y solo mantiene tareas de fondo, el runner espera hasta 60 segundos a que esas tareas terminen y luego la libera. La sesión se reanuda cuando su usuario envía su siguiente mensaje.

490* Si un turno aún se está ejecutando, el runner espera a que el turno termine, o a que la sesión espere a su usuario, y luego la libera.490* Si un turno aún se está ejecutando, el runner espera a que el turno termine, o a que la sesión espere a su usuario, y luego la libera.

491* Si la sesión aún está en el runner cuando la ventana de gracia termina, el runner la termina, y se pierde el trabajo de cualquier turno en ejecución. Un turno esperando una aprobación solicitada desde dentro de una llamada de herramienta en ejecución es una forma en que una sesión supera la ventana.491* Si la sesión aún está en el runner cuando la ventana de gracia termina, el runner la termina, y se pierde el trabajo de cualquier turno en ejecución. Un turno esperando una aprobación solicitada desde dentro de una llamada de herramienta en ejecución es una forma en que una sesión supera la ventana.

492 492 

Details

830 `advisorModel`830 `advisorModel`

831</h3>831</h3>

832 832 

833Elija qué modelo responde cuando Claude llama a la [herramienta advisor](/docs/es/advisor) del lado del servidor. Déjelo sin establecer para desactivar el advisor. El advisor debe ser al menos tan capaz como su modelo principal; cuando no lo es, Claude Code envía solicitudes sin el advisor. Consulte [Elegir un modelo advisor](/docs/es/advisor#choose-an-advisor-model).833Elija qué modelo responde cuando Claude llama a la [herramienta advisor](/docs/es/advisor) del lado del servidor. Déjelo sin establecer para desactivar el advisor. El advisor debe ser al menos tan capaz como su modelo principal. Consulte [Elegir un modelo advisor](/docs/es/advisor#choose-an-advisor-model) para los emparejamientos aceptados y qué sucede cuando elige uno que no es aceptado.

834 834 

835Normalmente no edita esta clave manualmente. Ejecute `/advisor` para abrir un selector que muestre la opción actual, los modelos que pueden asesorar y **Sin advisor**. Claude Code guarda su selección en esta clave en `~/.claude/settings.json`. Si elige desde un cliente de [Control Remoto](/docs/es/remote-control) o en una sesión conectada a un trabajador remoto, la selección se aplica solo a esa sesión y no cambia esta clave.835Normalmente no edita esta clave manualmente. Ejecute `/advisor` para abrir un selector que muestre la opción actual, los modelos que pueden asesorar y **Sin advisor**. Claude Code guarda su selección en esta clave en `~/.claude/settings.json`. Si elige desde un cliente de [Control Remoto](/docs/es/remote-control) o en una sesión conectada a un trabajador remoto, la selección se aplica solo a esa sesión y no cambia esta clave.

836 836 


3308 `footerLinksRegexes`3308 `footerLinksRegexes`

3309</h3>3309</h3>

3310 3310 

3311Renderiza insignias clickeables adicionales en el pie de página debajo del cuadro de entrada cuando una regex coincide con la salida de turno: resultados de herramientas, incluyendo contenidos de archivo y páginas obtenidas, y respuestas propias de Claude. Úsalo para convertir IDs impresos por CLI de proyecto, como herramientas de revisión y rastreadores de problemas, en enlaces de sesión. Requiere Claude Code v2.1.176 o posterior.3311Renderiza insignias clickeables adicionales en el pie de página debajo del cuadro de entrada cuando una regex coincide con la salida de turno: resultados de herramientas, incluyendo contenidos de archivo y páginas obtenidas, y respuestas propias de Claude. Úsalo para convertir IDs impresos por CLI de proyecto, como herramientas de revisión y rastreadores de problemas, en enlaces de sesión.

3312 3312 

3313* **Scope**: [`User or managed`](#scopes)3313* **Scope**: [`User or managed`](#scopes)

3314* **Type**: array de objetos, cada uno con `type` establecido a `"regex"`, una regex `pattern`, una plantilla `url`, y una `label` opcional; los marcadores de posición `{name}` en `url` y `label` se rellenan desde grupos de captura nombrados en `pattern`3314* **Type**: array de objetos, cada uno con `type` establecido a `"regex"`, una regex `pattern`, una plantilla `url`, y una `label` opcional; los marcadores de posición `{name}` en `url` y `label` se rellenan desde grupos de captura nombrados en `pattern`


3329}3329}

3330```3330```

3331 3331 

3332Con esto configurado, cuando `PROJ-1234` aparece en un resultado de herramienta o en la respuesta de Claude, una insignia `PROJ-1234` aparece en el pie de página vinculando a `https://issues.example.com/browse/PROJ-1234`. Requiere Claude Code v2.1.176 o posterior.3332Con esto configurado, cuando `PROJ-1234` aparece en un resultado de herramienta o en la respuesta de Claude, una insignia `PROJ-1234` aparece en el pie de página vinculando a `https://issues.example.com/browse/PROJ-1234`.

3333 3333 

3334<h4 id="badge-constraints">3334<h4 id="badge-constraints">

3335 Restricciones de insignia3335 Restricciones de insignia


3916 `wheelScrollAccelerationEnabled`3916 `wheelScrollAccelerationEnabled`

3917</h3>3917</h3>

3918 3918 

3919Acelera la velocidad de desplazamiento de rueda del ratón durante desplazamientos rápidos en [renderizado de pantalla completa](/docs/es/fullscreen#mouse-wheel-scrolling). Establécelo a `false` para una velocidad de desplazamiento constante por muesca de rueda. Requiere Claude Code v2.1.174 o posterior.3919Acelera la velocidad de desplazamiento de rueda del ratón durante desplazamientos rápidos en [renderizado de pantalla completa](/docs/es/fullscreen#mouse-wheel-scrolling). Establécelo a `false` para una velocidad de desplazamiento constante por muesca de rueda.

3920 3920 

3921* **Scope**: [`Any file`](#scopes)3921* **Scope**: [`Any file`](#scopes)

3922* **Type**: Boolean3922* **Type**: Boolean


3930}3930}

3931```3931```

3932 3932 

3933Requiere Claude Code v2.1.174 o posterior.

3934 

3935<h2 id="git-and-attribution">3933<h2 id="git-and-attribution">

3936 Git y atribución3934 Git y atribución

3937</h2>3935</h2>


6156Bajo `"merge"`, Claude Code combina cada clave por su tipo. Esta tabla proporciona la regla para cada tipo. Las filas de lista de restricciones, valores tomados en su totalidad y solo fuente de mayor prioridad nombran todas las claves que cubren, y las otras filas dan ejemplos:6154Bajo `"merge"`, Claude Code combina cada clave por su tipo. Esta tabla proporciona la regla para cada tipo. Las filas de lista de restricciones, valores tomados en su totalidad y solo fuente de mayor prioridad nombran todas las claves que cubren, y las otras filas dan ejemplos:

6157 6155 

6158| Tipo de clave | Cómo Claude Code la combina | Claves |6156| Tipo de clave | Cómo Claude Code la combina | Claves |

6159| :---------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |6157| :---------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

6160| Listas | Combina entradas de todas las fuentes | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) y otras claves de lista |6158| Listas | Combina entradas de todas las fuentes | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) y otras claves de lista |

6161| Bloqueos | Aplica el valor más estricto que establece cualquier fuente. Cuando ninguna fuente establece un valor estricto, aplica un valor más flexible solo de la fuente de mayor prioridad | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) y otros bloqueos booleanos o de enumeración |6159| Bloqueos | Aplica el valor más estricto que establece cualquier fuente. Cuando ninguna fuente establece un valor estricto, aplica un valor más flexible solo de la fuente de mayor prioridad | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) y otros bloqueos booleanos o de enumeración |

6162| Listas de restricciones | Toma la lista en su totalidad de la fuente de mayor prioridad que la establece, sin agregar entradas de fuentes inferiores. Cuando la fuente de mayor prioridad no establece una, la toma en su totalidad de la siguiente fuente hacia abajo | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) y la cadena [`fallbackModel`](#fallbackmodel) |6160| Listas de restricciones | Toma la lista en su totalidad de la fuente de mayor prioridad que la establece, sin agregar entradas de fuentes inferiores. Cuando la fuente de mayor prioridad no establece una, la toma en su totalidad de la siguiente fuente hacia abajo | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) y la cadena [`fallbackModel`](#fallbackmodel) |

6163| Valores tomados en su totalidad | Toma el valor en su totalidad de la fuente de mayor prioridad que lo establece, sin combinar entradas o campos de fuentes inferiores. Cuando la fuente de mayor prioridad no lo establece, lo toma en su totalidad de la siguiente fuente hacia abajo | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |6161| Valores tomados en su totalidad | Toma el valor en su totalidad de la fuente de mayor prioridad que lo establece, sin combinar entradas o campos de fuentes inferiores. Cuando la fuente de mayor prioridad no lo establece, lo toma en su totalidad de la siguiente fuente hacia abajo | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |

6164| Servidores MCP proporcionados | Combina los nombres de servidor de todas las fuentes. Cuando dos fuentes establecen el mismo nombre, aplica la entrada completa de la fuente superior | [`managedMcpServers`](#managedmcpservers) |6162| Servidores MCP proporcionados | Combina los nombres de servidor de todas las fuentes. Cuando dos fuentes establecen el mismo nombre, aplica la entrada completa de la fuente superior | [`managedMcpServers`](#managedmcpservers) |

6165| Leer solo de la fuente de mayor prioridad | Lee la clave solo de la fuente de mayor prioridad que lleva una clave de política, por lo que el valor de una fuente inferior se ignora incluso cuando la fuente de mayor prioridad no establece ninguno | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), [`forceLoginMethod`](#forceloginmethod), [`forceLoginGatewayUrl`](#forcelogingatewayurl), [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |6163| Leer solo de la fuente de mayor prioridad | Lee la clave solo de la fuente de mayor prioridad que lleva una clave de política, por lo que el valor de una fuente inferior se ignora incluso cuando la fuente de mayor prioridad no establece ninguno | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), los valores `"claudeai"` y `"console"` de [`forceLoginMethod`](#forceloginmethod), [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |

6166| `env` | [Combina por variable en todas las fuentes de administrador](/docs/es/managed-settings#keys-read-from-every-admin-source), bajo tanto `"first-wins"` como `"merge"` | [`env`](#env) |6164| `env` | [Combina por variable en todas las fuentes de administrador](/docs/es/managed-settings#keys-read-from-every-admin-source), bajo tanto `"first-wins"` como `"merge"` | [`env`](#env) |

6167| Todas las otras claves | Toma el valor de la fuente de mayor prioridad que lo establece | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |6165| Todas las otras claves | Toma el valor de la fuente de mayor prioridad que lo establece | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |

6168 6166 

6169Tomar `sandbox.credentials.awsPairs` y `sandbox.ripgrep` en su totalidad requiere Claude Code v2.1.257 o posterior.6167Tomar `sandbox.credentials.awsPairs` y `sandbox.ripgrep` en su totalidad requiere Claude Code v2.1.257 o posterior.

6170 6168 

6171Tres de esas claves agregan una condición propia:6169Algunas claves agregan una condición que la tabla no muestra:

6172 6170 

6173* **[`policyHelper`](#policyhelper)**: Claude Code la honra solo cuando la fuente de mayor prioridad que lleva una clave de política es una política MDM o un archivo de configuraciones gestionadas, por lo que bajo configuraciones gestionadas por el servidor no se aplica.6171* **[`policyHelper`](#policyhelper)**: Claude Code la honra solo cuando la fuente de mayor prioridad que lleva una clave de política es una política MDM o un archivo de configuraciones gestionadas, por lo que bajo configuraciones gestionadas por el servidor no se aplica.

6174* **[`modelOverrides`](#modeloverrides)**: se empareja con `availableModels`. Claude Code toma `modelOverrides` de la fuente de mayor prioridad que la establece, a menos que una fuente superior establezca `availableModels` sin `modelOverrides`. En ese caso, ignora `modelOverrides` de todas las fuentes.6172* **[`modelOverrides`](#modeloverrides)**: se empareja con `availableModels`. Claude Code toma `modelOverrides` de la fuente de mayor prioridad que la establece, a menos que una fuente superior establezca `availableModels` sin `modelOverrides`. En ese caso, ignora `modelOverrides` de todas las fuentes.

6175* **[`forceLoginGatewayUrl`](#forcelogingatewayurl) y el valor `"gateway"` de [`forceLoginMethod`](#forceloginmethod)**: Claude Code las lee solo de las fuentes gestionadas en la máquina misma e las ignora en configuraciones gestionadas por el servidor. Los valores de la máquina se aplican incluso cuando las configuraciones gestionadas por el servidor también están presentes.6173* **[`forceLoginGatewayUrl`](#forcelogingatewayurl) y el valor `"gateway"` de [`forceLoginMethod`](#forceloginmethod)**: Claude Code nunca lee ninguno de ellos de configuraciones gestionadas por el servidor, por lo que un valor allí ni se aplica ni oculta uno establecido en una política MDM o archivo de configuraciones gestionadas. Entre las fuentes de administrador en la máquina, solo la de mayor rango que lleva una clave de política los suministra, independientemente de si las configuraciones gestionadas por el servidor también están presentes.

6176 6174 

6177Para confirmar qué fuentes se combinaron en una máquina, ejecute `/status` y [lea la línea `Setting sources`](/docs/es/managed-settings#read-the-source-in-/status).6175Para confirmar qué fuentes se combinaron en una máquina, ejecute `/status` y [lea la línea `Setting sources`](/docs/es/managed-settings#read-the-source-in-/status).

6178 6176 

skills.md +14 −4

Details

169Cuando dos skills comparten un nombre, de dónde vino cada una decide cuál ejecuta `/name`. La tabla cubre las ubicaciones enterprise, personal, proyecto, anidada, plugin y claude.ai, skills agrupadas y archivos de comando:169Cuando dos skills comparten un nombre, de dónde vino cada una decide cuál ejecuta `/name`. La tabla cubre las ubicaciones enterprise, personal, proyecto, anidada, plugin y claude.ai, skills agrupadas y archivos de comando:

170 170 

171| Mismo nombre en | Cuál se ejecuta |171| Mismo nombre en | Cuál se ejecuta |

172| :-------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |172| :-------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

173| Dos de enterprise, personal y proyecto | Enterprise sobre personal, y personal sobre proyecto. Con `deploy` en ambos `~/.claude/skills/` y el `.claude/skills/` del proyecto, `/deploy` ejecuta la personal |173| Dos de enterprise, personal y proyecto | Enterprise sobre personal, y personal sobre proyecto. Con `deploy` en ambos `~/.claude/skills/` y el `.claude/skills/` del proyecto, `/deploy` ejecuta la personal |

174| Cualquiera de esas ubicaciones y una [skill agrupada](#bundled-skills) | Tu skill reemplaza el comando agrupado, pero no sus alias. Una skill `code-review` de proyecto reemplaza `/code-review`, y el alias agrupado `/review` nunca ejecuta tu skill |174| Cualquiera de esas ubicaciones y una [skill agrupada](#bundled-skills) | Tu skill reemplaza el comando agrupado, pero no sus alias. Una skill `code-review` de proyecto reemplaza `/code-review`, y el alias agrupado `/review` nunca ejecuta tu skill |

175| Una skill y un archivo en `.claude/commands/` | La skill |175| Una skill y un archivo en `.claude/commands/` | La skill |

176| Una skill raíz de proyecto y una skill anidada | Ambas se cargan. Consulta [monorepos y subdirectorios](#discovery-from-parent-and-nested-directories) |176| Una skill raíz de proyecto y una skill anidada | Ambas se cargan. Consulta [monorepos y subdirectorios](#discovery-from-parent-and-nested-directories) |

177| Una skill de plugin y una skill en cualquiera de las ubicaciones anteriores | Ambas se cargan, porque las skills de plugin tienen espacios de nombres como `/plugin-name:skill-name` |177| Una skill de plugin y una skill en cualquiera de las ubicaciones anteriores | Ambas se cargan, porque las skills de plugin tienen espacios de nombres como `/plugin-name:skill-name` |

178| Cualquiera de las anteriores y una skill sincronizada desde claude.ai | La otra skill o comando. Consulta [Cuando un nombre de skill sincronizada coincide con otro comando](#when-a-synced-skill-name-matches-another-command) |178| Cualquiera de las anteriores y una skill sincronizada desde claude.ai | La otra skill o comando. La skill sincronizada aún se ejecuta como `/anthropic-skills:<name>`. Consulta [Cuando un nombre de skill sincronizada coincide con otro comando](#when-a-synced-skill-name-matches-another-command) |

179 179 

180<h3 id="skills-in-cowork-and-cloud-sessions">180<h3 id="skills-in-cowork-and-cloud-sessions">

181 Usa skills en sesiones de Cowork y en la nube181 Usa skills en sesiones de Cowork y en la nube


230 Cuando un nombre de skill sincronizada coincide con otro comando230 Cuando un nombre de skill sincronizada coincide con otro comando

231</h4>231</h4>

232 232 

233Claude Code omite una skill sincronizada cuyo nombre coincide con cualquier otro comando, y ese otro comando se ejecuta. El otro comando puede ser un comando integrado, una [skill agrupada](#bundled-skills), una skill en cualquier [nivel local](#where-skills-live), una skill de plugin, un archivo en `.claude/commands/`, o un [prompt de MCP](/docs/es/mcp#use-mcp-prompts-as-commands). Claude Code también reserva los nombres de sus propios comandos integrados y skills agrupadas incluso cuando no están disponibles en tu sesión, por ejemplo después de que desactives las skills agrupadas, por lo que omite una skill sincronizada con uno de esos nombres también.233Puedes invocar una skill sincronizada por su nombre completo, `/anthropic-skills:<name>`, o por su nombre corto, `/<name>`. Cuando otro comando usa ese nombre corto, `/<name>` ejecuta el otro comando, y la skill sincronizada se ejecuta solo como `/anthropic-skills:<name>`. Con una skill local `deploy` y una sincronizada `deploy`, `/deploy` ejecuta la skill local y `/anthropic-skills:deploy` ejecuta la sincronizada. Antes de v2.1.269, una skill sincronizada tenía solo su nombre corto.

234 

235El otro comando puede ser cualquiera de estos:

236 

237* Un comando integrado o una [skill agrupada](#bundled-skills), incluyendo una que no esté disponible en tu sesión, por ejemplo después de que desactives las skills agrupadas

238* Una skill en cualquier [nivel local](#where-skills-live) o un archivo en `.claude/commands/`

239* Una skill de plugin

240* Un [prompt de MCP](/docs/es/mcp#use-mcp-prompts-as-commands)

234 241 

235Claude Code etiqueta las skills sincronizadas para que puedas saber de dónde vinieron. El menú `/skills` y `/context` agrupan las skills sincronizadas bajo `claude.ai sync`, y el menú de comando `/` las marca como provenientes de claude.ai.242Claude Code etiqueta las skills sincronizadas para que puedas saber de dónde vinieron. El menú `/skills` y `/context` agrupan las skills sincronizadas bajo `claude.ai sync`, y el menú de comando `/` las marca como provenientes de claude.ai.

236 243 

237Cuando compara nombres, Claude Code ignora mayúsculas, espacios y caracteres invisibles, y trata formas de compatibilidad como letras de ancho completo y variantes de guiones como sus equivalentes simples, por lo que una `Commit` sincronizada no puede cargarse junto a una `commit` local. Un nombre que difiere solo por una letra que se parece a otra del alfabeto cuenta como un nombre diferente, y la etiqueta `claude.ai sync` es cómo distingues los dos. Estas comprobaciones y etiquetas requieren Claude Code v2.1.228 o posterior.244Cuando compara nombres, Claude Code ignora mayúsculas, espacios y caracteres invisibles, y trata formas de compatibilidad como letras de ancho completo y variantes de guiones como sus equivalentes simples. Por ejemplo, una skill sincronizada llamada `Commit` y una skill local llamada `commit` cuentan como el mismo nombre, por lo que `/commit` sigue ejecutando tu skill local.

245 

246Un nombre que difiere solo por una letra que se parece a otra del alfabeto cuenta como un nombre diferente, y la etiqueta `claude.ai sync` es cómo distingues los dos. Estas comprobaciones y etiquetas requieren Claude Code v2.1.228 o posterior.

238 247 

239<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">248<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">

240 Cómo Claude Code maneja el frontmatter de una skill sincronizada249 Cómo Claude Code maneja el frontmatter de una skill sincronizada


404| Archivo en un subdirectorio de `.claude/commands/` | Ruta del subdirectorio relativa a `commands/` con cada `/` reemplazado por `:`, luego el nombre del archivo sin extensión | `.claude/commands/frontend/component.md` → `/frontend:component` |413| Archivo en un subdirectorio de `.claude/commands/` | Ruta del subdirectorio relativa a `commands/` con cada `/` reemplazado por `:`, luego el nombre del archivo sin extensión | `.claude/commands/frontend/component.md` → `/frontend:component` |

405| Subdirectorio `skills/` del plugin | Frontmatter `name` o el nombre del directorio, con espacio de nombres por plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, o `/my-plugin:fancy` con `name: fancy` |414| Subdirectorio `skills/` del plugin | Frontmatter `name` o el nombre del directorio, con espacio de nombres por plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, o `/my-plugin:fancy` con `name: fancy` |

406| `SKILL.md` raíz del plugin | Frontmatter `name`, con el nombre del directorio del plugin como alternativa | `my-plugin/SKILL.md` con `name: review` → `/my-plugin:review`. Consulta [Reglas de comportamiento de ruta](/docs/es/plugins-reference#path-behavior-rules) |415| `SKILL.md` raíz del plugin | Frontmatter `name`, con el nombre del directorio del plugin como alternativa | `my-plugin/SKILL.md` con `name: review` → `/my-plugin:review`. Consulta [Reglas de comportamiento de ruta](/docs/es/plugins-reference#path-behavior-rules) |

416| Skill [sincronizado desde claude.ai](#how-synced-skills-behave) | El nombre del skill en tu cuenta de claude.ai, con prefijo `anthropic-skills:` | Skill de cuenta `deploy` → `/anthropic-skills:deploy`, o `/deploy` mientras ningún otro comando use ese nombre |

407 417 

408En un skill de plugin, el frontmatter `name` reemplaza el nombre del directorio en el último segmento del comando, por lo que `my-plugin/skills/review/SKILL.md` con `name: fancy` se convierte en `/my-plugin:fancy`. El comando desnudo `/fancy` también invoca el skill a menos que otro comando ya use ese nombre. Si el `name` que escribes ya comienza con el prefijo propio del plugin, Claude Code no añade el prefijo nuevamente en v2.1.246 o posterior. Por ejemplo, `name: my-plugin:fancy` sigue siendo `/my-plugin:fancy`. De v2.1.216 a v2.1.245, Claude Code duplicaba el prefijo cuando el `name` ya lo llevaba.418En un skill de plugin, el frontmatter `name` reemplaza el nombre del directorio en el último segmento del comando, por lo que `my-plugin/skills/review/SKILL.md` con `name: fancy` se convierte en `/my-plugin:fancy`. El comando desnudo `/fancy` también invoca el skill a menos que otro comando ya use ese nombre. Si el `name` que escribes ya comienza con el prefijo propio del plugin, Claude Code no añade el prefijo nuevamente en v2.1.246 o posterior. Por ejemplo, `name: my-plugin:fancy` sigue siendo `/my-plugin:fancy`. De v2.1.216 a v2.1.245, Claude Code duplicaba el prefijo cuando el `name` ya lo llevaba.

409 419 

Details

27En la mayoría de las terminales también puede presionar Mayús+Enter, pero la compatibilidad varía según el emulador de terminal:27En la mayoría de las terminales también puede presionar Mayús+Enter, pero la compatibilidad varía según el emulador de terminal:

28 28 

29| Terminal | Mayús+Enter para nueva línea |29| Terminal | Mayús+Enter para nueva línea |

30| :---------------------------------------------------------------------- | :------------------------------------------ |30| :------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- |

31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funciona sin configuración |31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funciona sin configuración |

32| VS Code, Cursor, Devin Desktop, Alacritty, Zed | Ejecute `/terminal-setup` una vez |32| Otras terminales que admiten el protocolo de teclado kitty, como foot y Alacritty 0.16 o posterior | Funciona sin configuración. Requiere Claude Code v2.1.269 o posterior |

33| VS Code, Cursor, Devin Desktop, Alacritty anterior a 0.16, Zed | Ejecute `/terminal-setup` una vez |

33| gnome-terminal, IDEs de JetBrains como PyCharm y Android Studio | No disponible; use Ctrl+J o `\` luego Enter |34| gnome-terminal, IDEs de JetBrains como PyCharm y Android Studio | No disponible; use Ctrl+J o `\` luego Enter |

34 35 

35Para VS Code, Cursor, Devin Desktop, Alacritty y Zed, `/terminal-setup` escribe un atajo de teclado Mayús+Enter en el archivo de configuración de la terminal. En la primera ejecución verá una confirmación como `Installed VSCode terminal Shift+Enter key binding`. Los enlaces existentes se dejan en su lugar; si ve un mensaje como `VSCode terminal Shift+Enter key binding already configured`, no se realizó ningún cambio. Ejecute `/terminal-setup` directamente en la terminal del host en lugar de dentro de tmux o screen, ya que necesita escribir en la configuración de la terminal del host.36Para VS Code, Cursor, Devin Desktop, Alacritty anterior a 0.16 y Zed, `/terminal-setup` escribe un atajo de teclado Mayús+Enter en el archivo de configuración de la terminal. En la primera ejecución verá una confirmación como `Installed VSCode terminal Shift+Enter key binding`. Los enlaces existentes se dejan en su lugar; si ve un mensaje como `VSCode terminal Shift+Enter key binding already configured`, no se realizó ningún cambio. Ejecute `/terminal-setup` directamente en la terminal del host en lugar de dentro de tmux o screen, ya que necesita escribir en la configuración de la terminal del host.

36 37 

37En VS Code, Cursor y Devin Desktop, `/terminal-setup` también actualiza dos configuraciones del editor: establece `terminal.integrated.gpuAcceleration` en `"off"` para evitar texto distorsionado en la terminal integrada, y establece `terminal.integrated.mouseWheelScrollSensitivity` para un desplazamiento más suave en [modo de pantalla completa](/docs/es/fullscreen). Para deshacer el cambio de aceleración de GPU, establézcalo nuevamente en `"auto"` y recargue la ventana del editor.38En VS Code, Cursor y Devin Desktop, `/terminal-setup` también actualiza dos configuraciones del editor: establece `terminal.integrated.gpuAcceleration` en `"off"` para evitar texto distorsionado en la terminal integrada, y establece `terminal.integrated.mouseWheelScrollSensitivity` para un desplazamiento más suave en [modo de pantalla completa](/docs/es/fullscreen). Para deshacer el cambio de aceleración de GPU, establézcalo nuevamente en `"auto"` y recargue la ventana del editor.

38 39 

Details

417 417 

418El comando `curl ... | bash` descarga el script y lo canaliza a Bash para su ejecución. Este error, y el relacionado `curl: (23) Failure writing output to destination`, significa que Bash no recibió el script completo. El código de salida 56 indica que la descarga en sí fue interrumpida, y el código de salida 23 indica que curl no pudo escribir lo que recibió en la tubería, generalmente porque Bash salió temprano.418El comando `curl ... | bash` descarga el script y lo canaliza a Bash para su ejecución. Este error, y el relacionado `curl: (23) Failure writing output to destination`, significa que Bash no recibió el script completo. El código de salida 56 indica que la descarga en sí fue interrumpida, y el código de salida 23 indica que curl no pudo escribir lo que recibió en la tubería, generalmente porque Bash salió temprano.

419 419 

420**Soluciones:**420Pruebe que pueda alcanzar `downloads.claude.ai` con la verificación en [Verifique la conectividad de red](#check-network-connectivity). Si alcanzó el servidor, el fallo original probablemente fue intermitente; reintente el comando de instalación. También puede [intentar un método de instalación alternativo](/docs/es/setup#install-claude-code).

421 

4221. **Verifique la estabilidad de la red**: Los binarios de Claude Code se alojan en `downloads.claude.ai`. Pruebe que pueda alcanzarlo:

423 

424 ```bash theme={null}

425 curl -sI https://downloads.claude.ai/claude-code-releases/latest

426 ```

427 

428 Una línea `HTTP/2 200` significa que alcanzó el servidor y el fallo original probablemente fue intermitente; reintente el comando de instalación. Otros resultados apuntan a la causa:

429 

430 * `403`: generalmente un proxy o filtro de red bloqueando el host, o Claude Code [no está disponible en su región](https://www.anthropic.com/supported-countries)

431 * `5xx`: generalmente un problema temporal del servicio; espere unos minutos e intente nuevamente

432 * `Could not resolve host` o un tiempo de espera de conexión: su red está bloqueando la descarga

433 

4342. **Intente un método de instalación alternativo**:

435 

436 En macOS:

437 

438 ```bash theme={null}

439 brew install --cask claude-code

440 ```

441 

442 En Windows:

443 

444 ```powershell theme={null}

445 winget install Anthropic.ClaudeCode

446 ```

447 

448 Luego ejecute `claude --version` para confirmar: el comando imprime un número de versión como `2.1.211 (Claude Code)`. Si el shell reporta que `claude` no se encuentra, abra una nueva ventana de terminal e intente nuevamente: la sesión desde la que instaló mantiene su antiguo `PATH`.

449 421 

450<h3 id="homebrew-cask-unavailable-or-outdated">422<h3 id="homebrew-cask-unavailable-or-outdated">

451 Cask de Homebrew no disponible u obsoleto423 Cask de Homebrew no disponible u obsoleto

vs-code.md +17 −10

Details

58 58 

59 * **Barra de actividades**: haga clic en el icono Spark en la barra lateral izquierda para abrir la lista de sesiones. Haga clic en cualquier sesión para abrirla en su [ubicación preferida](#extension-settings), o inicie una nueva. Este icono siempre es visible en la Barra de actividades.59 * **Barra de actividades**: haga clic en el icono Spark en la barra lateral izquierda para abrir la lista de sesiones. Haga clic en cualquier sesión para abrirla en su [ubicación preferida](#extension-settings), o inicie una nueva. Este icono siempre es visible en la Barra de actividades.

60 * **Paleta de comandos**: `Cmd+Shift+P` (Mac) o `Ctrl+Shift+P` (Windows/Linux), escriba "Claude Code" y seleccione una opción como "Open in New Tab"60 * **Paleta de comandos**: `Cmd+Shift+P` (Mac) o `Ctrl+Shift+P` (Windows/Linux), escriba "Claude Code" y seleccione una opción como "Open in New Tab"

61 * **Barra de estado**: si ha establecido [`preferredLocation`](#extension-settings) en `sidebar`, o abrió Claude con **Claude Code: Open in Side Bar**, haga clic en **✱ Claude Code** en la esquina inferior derecha de la ventana. Esto funciona incluso cuando no hay ningún archivo abierto.61 * **Barra de estado**: si ha establecido [`preferredLocation`](#extension-settings) en `sidebar`, o abrió Claude con **Claude Code: Open in Side Bar**, haga clic en **✻ Claude Code** en la esquina inferior derecha de la ventana. Esto funciona incluso cuando no hay ningún archivo abierto.

62 62 

63 Puede arrastrar el panel de Claude para reposicionarlo en cualquier lugar de VS Code. Consulte [Personalizar su flujo de trabajo](#customize-your-workflow) para obtener más detalles.63 Puede arrastrar el panel de Claude para reposicionarlo en cualquier lugar de VS Code. Consulte [Personalizar su flujo de trabajo](#customize-your-workflow) para obtener más detalles.

64 </Step>64 </Step>


116 * Seleccione **Output styles** en la sección Customize para elegir un [estilo de salida](/docs/es/output-styles), incluidos sus estilos personalizados. Requiere Claude Code v2.1.257 o posterior.116 * Seleccione **Output styles** en la sección Customize para elegir un [estilo de salida](/docs/es/output-styles), incluidos sus estilos personalizados. Requiere Claude Code v2.1.257 o posterior.

117 117 

118 Para crear un estilo personalizado en su lugar, seleccione **Build a custom style** desde el menú **Output styles**. Claude Code escribe el [archivo de estilo](/docs/es/output-styles#create-a-custom-output-style) para usted a nivel de proyecto o usuario. Requiere Claude Code v2.1.261 o posterior.118 Para crear un estilo personalizado en su lugar, seleccione **Build a custom style** desde el menú **Output styles**. Claude Code escribe el [archivo de estilo](/docs/es/output-styles#create-a-custom-output-style) para usted a nivel de proyecto o usuario. Requiere Claude Code v2.1.261 o posterior.

119 * Seleccione **Hooks** en la sección Customize para ver los [hooks](/docs/es/hooks) cargados en la sesión, agrupados por evento. Puede agregar, editar o eliminar hooks guardados en sus archivos de configuración de usuario, proyecto y local. Los hooks de otras fuentes, como configuración administrada o plugins, son de solo lectura. Requiere Claude Code v2.1.269 o posterior.

120 * Seleccione **Permissions** en la sección Customize para ver las [reglas de permiso](/docs/es/permissions) de la sesión, agrupadas en Allow, Ask y Deny. Puede agregar reglas a su configuración de usuario, proyecto o local y eliminar reglas guardadas allí. Las reglas de otras fuentes, como configuración administrada o aprobaciones realizadas solo para esta sesión, son de solo lectura. Requiere Claude Code v2.1.269 o posterior.

119 * La sección Settings incluye **Enable Remote Control for all sessions**, que establece [`remoteControlAtStartup`](/docs/es/settings-reference#remotecontrolatstartup) para controlar si [las nuevas sesiones interactivas se conectan a Remote Control automáticamente](/docs/es/remote-control#enable-remote-control-for-all-sessions). Requiere Claude Code v2.1.203 o posterior.121 * La sección Settings incluye **Enable Remote Control for all sessions**, que establece [`remoteControlAtStartup`](/docs/es/settings-reference#remotecontrolatstartup) para controlar si [las nuevas sesiones interactivas se conectan a Remote Control automáticamente](/docs/es/remote-control#enable-remote-control-for-all-sessions). Requiere Claude Code v2.1.203 o posterior.

120 122 

121 Cuando activa o desactiva el conmutador en una ventana de VS Code, el cambio se aplica a las sesiones ya abiertas en esa ventana de VS Code, no solo a las sesiones que inicia después. Si lo desactiva, las sesiones abiertas se desconectan. Con Claude Code v2.1.261 o posterior, el cambio también llega a las sesiones abiertas en sus otras ventanas de VS Code.123 Cuando activa o desactiva el conmutador en una ventana de VS Code, el cambio se aplica a las sesiones ya abiertas en esa ventana de VS Code, no solo a las sesiones que inicia después. Si lo desactiva, las sesiones abiertas se desconectan. Con Claude Code v2.1.261 o posterior, el cambio también llega a las sesiones abiertas en sus otras ventanas de VS Code.

122 * La sección Settings también incluye **Focus view**, que oculta llamadas de herramientas, resultados de herramientas y pensamiento detrás de filas expandibles, dejando sus solicitudes y las respuestas de Claude. La lista de tareas más reciente de Claude permanece visible, al igual que el texto de una pregunta pendiente de Claude; esto requiere Claude Code v2.1.225 o posterior. Actívelo allí, con `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux), o desde la Paleta de comandos con **Claude Code: Toggle Focus view**. El cambio se aplica a todas las sesiones abiertas y persiste entre sesiones. Requiere Claude Code v2.1.221 o posterior.124 * La sección Settings también incluye **Focus view**, que oculta llamadas de herramientas, resultados de herramientas y pensamiento detrás de filas expandibles, dejando sus solicitudes y las respuestas de Claude. Actívelo allí, con `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux), o desde la Paleta de comandos con **Claude Code: Toggle Focus view**. El cambio se aplica a todas las sesiones abiertas y persiste entre sesiones. Requiere Claude Code v2.1.221 o posterior.

125 

126 La lista de tareas más reciente de Claude permanece visible, al igual que el texto de una pregunta pendiente de Claude; esto requiere Claude Code v2.1.225 o posterior. Mientras Claude ejecuta [subagentes](/docs/es/sub-agents), las filas de progreso en vivo con su actividad más reciente aparecen bajo el grupo de llamadas de herramientas que las inició. Esto requiere Claude Code v2.1.269 o posterior.

123 * Para reportar un error, haga clic en **Report a problem** en la parte inferior del menú, o escriba `/bug` o `/feedback` con una descripción opcional que rellene previamente el informe. Cuando envía el informe y está conectado a Anthropic en una conexión de primera parte, Claude Code lo envía a Anthropic. En un proveedor de terceros, o sin credenciales de Anthropic, el diálogo aún se abre, pero enviar muestra un error y no envía nada: a diferencia del `/bug` de la CLI, la extensión no escribe un archivo local. Requiere Claude Code v2.1.229 o posterior.127 * Para reportar un error, haga clic en **Report a problem** en la parte inferior del menú, o escriba `/bug` o `/feedback` con una descripción opcional que rellene previamente el informe. Cuando envía el informe y está conectado a Anthropic en una conexión de primera parte, Claude Code lo envía a Anthropic. En un proveedor de terceros, o sin credenciales de Anthropic, el diálogo aún se abre, pero enviar muestra un error y no envía nada: a diferencia del `/bug` de la CLI, la extensión no escribe un archivo local. Requiere Claude Code v2.1.229 o posterior.

124* **Side questions**: escriba `/btw` seguido de una pregunta para preguntar sobre su sesión [sin agregar a la conversación](/docs/es/interactive-mode#side-questions-with-%2Fbtw). La respuesta se abre en un panel junto al chat, donde puede hacer preguntas de seguimiento. El hilo sobrevive a las recargas de ventana. Claude Code mantiene los 20 intercambios más recientes y expira los hilos almacenados en el cronograma [`cleanupPeriodDays`](/docs/es/settings-reference#cleanupperioddays), siempre que Claude Code pueda [determinar de forma segura el período de retención](/docs/es/claude-directory#cleaned-up-automatically). Para borrar un hilo, haga clic en el icono de papelera en el panel. Requiere Claude Code v2.1.227 o posterior.128* **Side questions**: escriba `/btw` seguido de una pregunta para preguntar sobre su sesión [sin agregar a la conversación](/docs/es/interactive-mode#side-questions-with-%2Fbtw). La respuesta se abre en un panel junto al chat, donde puede hacer preguntas de seguimiento. El hilo sobrevive a las recargas de ventana. Claude Code mantiene los 20 intercambios más recientes y expira los hilos almacenados en el cronograma [`cleanupPeriodDays`](/docs/es/settings-reference#cleanupperioddays), siempre que Claude Code pueda [determinar de forma segura el período de retención](/docs/es/claude-directory#cleaned-up-automatically). Para borrar un hilo, haga clic en el icono de papelera en el panel. Requiere Claude Code v2.1.227 o posterior.

125* **Context indicator**: el cuadro de solicitud muestra cuánta ventana de contexto de Claude está utilizando. Claude se compacta automáticamente cuando es necesario, o puede ejecutar `/compact` manualmente.129* **Context indicator**: el cuadro de solicitud muestra cuánta ventana de contexto de Claude está utilizando. Claude se compacta automáticamente cuando es necesario, o puede ejecutar `/compact` manualmente.

130* **Agent map**: cuando la conversación incluye [subagentes](/docs/es/sub-agents), un recuento de agentes como **2 agents** aparece en la parte inferior del cuadro de solicitud. Su punto muestra si algún subagente está trabajando o esperando su permiso.

131 

132 Haga clic en el recuento de agentes para abrir el mapa de agentes, que dibuja los subagentes de la conversación como un árbol bajo el agente principal, cada uno con su estado, tiempo transcurrido y recuento de tokens. Haga clic en un subagente para ver su solicitud y llamadas de herramientas, abrir su transcripción de solo lectura, o detenerlo mientras se ejecuta. Requiere Claude Code v2.1.269 o posterior.

126* **Extended thinking**: permite que Claude dedique más tiempo a razonar problemas complejos. Actívelo a través del menú de comandos (`/`). El razonamiento de Claude aparece en la conversación como bloques contraídos: haga clic en un bloque para leerlo, o presione `Ctrl+O` para expandir o contraer cada bloque de pensamiento en la sesión. Consulte [Extended thinking](/docs/es/model-config#extended-thinking) para obtener más detalles.133* **Extended thinking**: permite que Claude dedique más tiempo a razonar problemas complejos. Actívelo a través del menú de comandos (`/`). El razonamiento de Claude aparece en la conversación como bloques contraídos: haga clic en un bloque para leerlo, o presione `Ctrl+O` para expandir o contraer cada bloque de pensamiento en la sesión. Consulte [Extended thinking](/docs/es/model-config#extended-thinking) para obtener más detalles.

127* **Multi-line input**: presione `Shift+Enter` para agregar una nueva línea sin enviar. Esto también funciona en la entrada de texto libre "Other" de los diálogos de preguntas.134* **Multi-line input**: presione `Shift+Enter` para agregar una nueva línea sin enviar. Esto también funciona en la entrada de texto libre "Other" de los diálogos de preguntas.

128 135 


139 146 

140Para archivos PDF grandes, puede pedirle a Claude que lea páginas específicas en lugar del archivo completo: una sola página, un rango como páginas 1-10, o un rango abierto como página 3 en adelante.147Para archivos PDF grandes, puede pedirle a Claude que lea páginas específicas en lugar del archivo completo: una sola página, un rango como páginas 1-10, o un rango abierto como página 3 en adelante.

141 148 

142Cuando selecciona texto en el editor, Claude puede ver su código resaltado automáticamente. El pie de página del cuadro de solicitud muestra cuántas líneas están seleccionadas. Presione `Option+K` (Mac) / `Alt+K` (Windows/Linux) para insertar una mención con @ con la ruta del archivo y números de línea (por ejemplo, `@app.ts#5-10`). Haga clic en el indicador de selección para alternar si Claude puede ver su texto resaltado: el icono de barra diagonal significa que la selección está oculta de Claude.149Cuando selecciona texto en el editor, Claude puede ver su código resaltado automáticamente. El pie de página del cuadro de solicitud muestra cuántas líneas están seleccionadas. Presione `Option+K` (Mac) / `Alt+K` (Windows/Linux) para insertar una mención con @ con la ruta del archivo y números de línea (por ejemplo, `@app.ts#5-10`). Haga clic en la **X** en el indicador de selección para eliminarlo para que Claude no reciba la selección. El indicador vuelve cuando selecciona otro texto o cambia a un archivo diferente.

143 150 

144Para adjuntar una imagen, péguelo desde su portapapeles en el cuadro de solicitud. También puede mantener presionado `Shift` mientras arrastra archivos al cuadro de solicitud para agregarlos como adjuntos. Haga clic en la X en cualquier adjunto para eliminarlo del contexto.151Para adjuntar una imagen, péguelo desde su portapapeles en el cuadro de solicitud. También puede mantener presionado `Shift` mientras arrastra archivos al cuadro de solicitud para agregarlos como adjuntos. Haga clic en la X en cualquier adjunto para eliminarlo del contexto.

145 152 


193 200 

194Ejecute `/usage` para abrir el diálogo Account & usage. El diálogo requiere un inicio de sesión en claude.ai, por lo que no se ofrece en un [proveedor de terceros](#use-third-party-providers). Muestra su cuenta conectada, su plan y barras de uso para los límites de su plan, como la sesión actual y la semana. Cada barra muestra cuánto tiempo falta para que se reinicie su límite.201Ejecute `/usage` para abrir el diálogo Account & usage. El diálogo requiere un inicio de sesión en claude.ai, por lo que no se ofrece en un [proveedor de terceros](#use-third-party-providers). Muestra su cuenta conectada, su plan y barras de uso para los límites de su plan, como la sesión actual y la semana. Cada barra muestra cuánto tiempo falta para que se reinicie su límite.

195 202 

196El diálogo también desglosa qué está contribuyendo a los límites de su plan. Marca comportamientos que representan el 10% o más del uso reciente, como fallos de caché, contexto largo, sesiones con muchos subagentes o altamente paralelas, cada una con un consejo para reducirlo. Las tablas de atribución muestran cuánto uso provino de cada skill, subagente, plugin y servidor MCP. Requiere Claude Code v2.1.174 o posterior.203El diálogo también desglosa qué está contribuyendo a los límites de su plan. Marca comportamientos que representan el 10% o más del uso reciente, como fallos de caché, contexto largo, sesiones con muchos subagentes o altamente paralelas, cada una con un consejo para reducirlo. Las tablas de atribución muestran cuánto uso provino de cada skill, subagente, plugin y servidor MCP.

197 204 

198Use el conmutador Day y Week para cambiar entre las últimas 24 horas y los últimos 7 días. Las cifras son aproximadas y se calculan a partir de sesiones locales en esta máquina, por lo que el uso de otros dispositivos o claude.ai no se incluye. Para obtener más información sobre cómo rastrear y reducir el uso, consulte [Track your costs](/docs/es/costs#track-your-costs).205Use el conmutador Day y Week para cambiar entre las últimas 24 horas y los últimos 7 días. Las cifras son aproximadas y se calculan a partir de sesiones locales en esta máquina, por lo que el uso de otros dispositivos o claude.ai no se incluye. Para obtener más información sobre cómo rastrear y reducir el uso, consulte [Track your costs](/docs/es/costs#track-your-costs).

199 206 


238 245 

239* **Agrupar o desagrupar una sesión**: haz clic derecho en una sesión para crear un grupo a partir de ella, moverla a un grupo existente o eliminarla de su grupo. Cada sesión pertenece a un grupo a la vez, por lo que moverla a otro grupo la elimina del primero.246* **Agrupar o desagrupar una sesión**: haz clic derecho en una sesión para crear un grupo a partir de ella, moverla a un grupo existente o eliminarla de su grupo. Cada sesión pertenece a un grupo a la vez, por lo que moverla a otro grupo la elimina del primero.

240* **Mover varias sesiones a la vez**: `Cmd`-clic (Mac) / `Ctrl`-clic (Windows/Linux) en cada sesión, o `Shift`-clic para seleccionar un rango, luego haz clic derecho en la selección.247* **Mover varias sesiones a la vez**: `Cmd`-clic (Mac) / `Ctrl`-clic (Windows/Linux) en cada sesión, o `Shift`-clic para seleccionar un rango, luego haz clic derecho en la selección.

241* **Agrupar una sesión desde su pestaña**: ejecuta **Claude Code: Add Session Tab to Group** desde la Command Palette, o haz clic derecho en la pestaña del editor de la sesión, luego elige o crea un grupo. Requiere Claude Code v2.1.257 o posterior.248* **Agrupar una sesión desde su pestaña**: ejecuta **Claude Code: Add Session Tab to Group** desde la Command Palette, luego elige o crea un grupo. Requiere Claude Code v2.1.257 o posterior.

242* **Renombrar o eliminar un grupo**: haz clic derecho en un encabezado de grupo. Eliminar un grupo solo elimina el grupo, y sus sesiones vuelven a la lista sin agrupar.249* **Renombrar o eliminar un grupo**: haz clic derecho en un encabezado de grupo. Eliminar un grupo solo elimina el grupo, y sus sesiones vuelven a la lista sin agrupar.

243 250 

244La extensión guarda grupos por carpeta de espacio de trabajo, por lo que sobreviven a recargas de ventana y aparecen en cada ventana donde abres la misma carpeta. Cuando buscas en la lista, la extensión muestra coincidencias en una lista plana única en todos los grupos.251La extensión guarda grupos por carpeta de espacio de trabajo, por lo que sobreviven a recargas de ventana y aparecen en cada ventana donde abres la misma carpeta. Cuando buscas en la lista, la extensión muestra coincidencias en una lista plana única en todos los grupos.


359| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | Reabrir la pestaña de sesión de Claude cerrada más recientemente. Se remite a la reapertura normal de editor cerrado de VS Code cuando la última pestaña cerrada no era una sesión de Claude. Deshabilitar con `enableReopenClosedSessionShortcut` |366| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | Reabrir la pestaña de sesión de Claude cerrada más recientemente. Se remite a la reapertura normal de editor cerrado de VS Code cuando la última pestaña cerrada no era una sesión de Claude. Deshabilitar con `enableReopenClosedSessionShortcut` |

360| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Insertar una referencia al archivo actual y la selección (requiere que el editor esté enfocado) |367| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Insertar una referencia al archivo actual y la selección (requiere que el editor esté enfocado) |

361| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Ocultar o mostrar la actividad de herramientas en la conversación. Funciona mientras un panel de Claude o la barra lateral sea visible. Requiere Claude Code v2.1.221 o posterior |368| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Ocultar o mostrar la actividad de herramientas en la conversación. Funciona mientras un panel de Claude o la barra lateral sea visible. Requiere Claude Code v2.1.221 o posterior |

362| Rename Session Tab | - | Cambiar el nombre de la sesión en la pestaña activa de Claude. El comando también aparece en el menú de clic derecho de la pestaña. Requiere Claude Code v2.1.257 o posterior |369| Rename Session Tab | - | Cambiar el nombre de la sesión en la pestaña activa de Claude. Requiere Claude Code v2.1.257 o posterior |

363| Add Session Tab to Group | - | Agregar la sesión en la pestaña activa de Claude a un [grupo de sesiones](#organize-sessions-into-groups) que elija o cree. El comando también aparece en el menú de clic derecho de la pestaña. Requiere Claude Code v2.1.257 o posterior |370| Add Session Tab to Group | - | Agregar la sesión en la pestaña activa de Claude a un [grupo de sesiones](#organize-sessions-into-groups) que elija o cree. Requiere Claude Code v2.1.257 o posterior |

364| Mark Session as Unread | - | Marcar la sesión en la pestaña activa de Claude como no leída en la lista de sesiones. El comando también aparece en el menú de clic derecho de la pestaña. Requiere Claude Code v2.1.257 o posterior |371| Mark Session as Unread | - | Marcar la sesión en la pestaña activa de Claude como no leída en la lista de sesiones. Requiere Claude Code v2.1.257 o posterior |

365| Show Logs | - | Ver registros de depuración de la extensión |372| Show Logs | - | Ver registros de depuración de la extensión |

366| Logout | - | Cerrar sesión en su cuenta de Anthropic |373| Logout | - | Cerrar sesión en su cuenta de Anthropic |

367 374 


424 431 

425La extensión tiene dos tipos de ajustes:432La extensión tiene dos tipos de ajustes:

426 433 

427* **Ajustes de extensión** en VS Code: controlan el comportamiento de la extensión dentro de VS Code. Abra con `Cmd+,` (Mac) o `Ctrl+,` (Windows/Linux), luego vaya a Extensiones → Claude Code. También puede escribir `/` y seleccionar **General Config** para abrir los ajustes.434* **Ajustes de extensión** en VS Code: controlan el comportamiento de la extensión dentro de VS Code. Abra con `Cmd+,` (Mac) o `Ctrl+,` (Windows/Linux), luego vaya a Extensiones → Claude Code. También puede escribir `/` y seleccionar **General config…** para abrir los ajustes.

428* **Ajustes de Claude Code** en `~/.claude/settings.json`: compartidos entre la extensión y CLI. Úselo para comandos permitidos, variables de entorno, hooks y servidores MCP. En los planes Pro, Max y Team, también es una entrada al modo de permisos en el que comienzan las conversaciones. [Switch permission modes](/docs/es/permission-modes#switch-permission-modes) enumera el orden. Consulte [Settings](/docs/es/settings) para obtener detalles.435* **Ajustes de Claude Code** en `~/.claude/settings.json`: compartidos entre la extensión y CLI. Úselo para comandos permitidos, variables de entorno, hooks y servidores MCP. En los planes Pro, Max y Team, también es una entrada al modo de permisos en el que comienzan las conversaciones. [Switch permission modes](/docs/es/permission-modes#switch-permission-modes) enumera el orden. Consulte [Settings](/docs/es/settings) para obtener detalles.

429 436 

430<Tip>437<Tip>


6594. **Desactive extensiones conflictivas**: Desactive temporalmente otras extensiones de IA (Cline, Continue, etc.)6664. **Desactive extensiones conflictivas**: Desactive temporalmente otras extensiones de IA (Cline, Continue, etc.)

6605. **Verifique la confianza del espacio de trabajo**: La extensión no funciona en Modo restringido6675. **Verifique la confianza del espacio de trabajo**: La extensión no funciona en Modo restringido

661 668 

662Alternativamente, si ha establecido [`preferredLocation`](#extension-settings) en `sidebar`, o ha abierto Claude con **Claude Code: Open in Side Bar**, haga clic en "✱ Claude Code" en la **Barra de estado** (esquina inferior derecha). Esto funciona incluso sin un archivo abierto. También puede usar la **Paleta de comandos** (`Cmd+Shift+P` / `Ctrl+Shift+P`) y escribir "Claude Code".669Alternativamente, si ha establecido [`preferredLocation`](#extension-settings) en `sidebar`, o ha abierto Claude con **Claude Code: Open in Side Bar**, haga clic en "✻ Claude Code" en la **Barra de estado** (esquina inferior derecha). Esto funciona incluso sin un archivo abierto. También puede usar la **Paleta de comandos** (`Cmd+Shift+P` / `Ctrl+Shift+P`) y escribir "Claude Code".

663 670 

664<h3 id="cmd-esc-does-nothing-on-macos">671<h3 id="cmd-esc-does-nothing-on-macos">

665 Cmd+Esc no hace nada en macOS672 Cmd+Esc no hace nada en macOS

Details

93 Conecta desde tu terminal93 Conecta desde tu terminal

94</h3>94</h3>

95 95 

96Si ya usas la CLI de GitHub (`gh`), puedes configurar Claude Code en la web sin abrir un navegador. Esto requiere la [CLI de Claude Code](/docs/es/quickstart). En planes Team y Enterprise, `/web-setup` está disponible solo después de que un Propietario active [Configuración rápida de web](/docs/es/claude-code-on-the-web#github-authentication-options).96Si ya usas la CLI de GitHub (`gh`), puedes configurar Claude Code en la web desde tu terminal. Esto requiere la [CLI de Claude Code](/docs/es/quickstart). En planes Team y Enterprise, `/web-setup` está disponible solo después de que un Propietario active [Configuración rápida de web](/docs/es/claude-code-on-the-web#github-authentication-options).

97 97 

98Cuando ejecutas `/web-setup`, Claude Code lee el token que `gh auth token` imprime, te pide que confirmes y envía el token a Anthropic. Anthropic lo almacena cifrado con tu cuenta de claude.ai, y tus sesiones en la nube lo usan para acceso a GitHub hasta que [lo elimines](#remove-the-web-setup-token). Una sesión en la nube puede entonces acceder a cualquier repositorio que ese token pueda acceder, sin instalación de la aplicación Claude GitHub.98Cuando ejecutas `/web-setup`, Claude Code lee el token que `gh auth token` imprime, te pide que confirmes y envía el token a Anthropic. Anthropic lo almacena cifrado con tu cuenta de claude.ai, y tus sesiones en la nube lo usan para acceso a GitHub hasta que [lo elimines](#remove-the-web-setup-token). Una sesión en la nube puede entonces acceder a cualquier repositorio que ese token pueda acceder, sin instalación de la aplicación Claude GitHub.

99 99 

worktrees.md +1 −1

Details

9Un [git worktree](https://git-scm.com/docs/git-worktree) es un directorio de trabajo separado con sus propios archivos y rama, compartiendo el mismo historial de repositorio y remoto que su checkout principal. Ejecutar cada sesión de Claude Code en su propio worktree significa que las ediciones en una sesión nunca tocan archivos en otra, por lo que una sesión puede construir una característica mientras una segunda corrige un error.9Un [git worktree](https://git-scm.com/docs/git-worktree) es un directorio de trabajo separado con sus propios archivos y rama, compartiendo el mismo historial de repositorio y remoto que su checkout principal. Ejecutar cada sesión de Claude Code en su propio worktree significa que las ediciones en una sesión nunca tocan archivos en otra, por lo que una sesión puede construir una característica mientras una segunda corrige un error.

10 10 

11<Note>11<Note>

12 Los worktrees requieren un repositorio de git; para otros sistemas de control de versiones, [configure hooks para reemplazar la lógica de git](#non-git-version-control). En la [aplicación de escritorio](/docs/es/desktop#work-in-parallel-with-sessions), cada nueva sesión obtiene su propio worktree automáticamente.12 Los worktrees requieren un repositorio de git; para otros sistemas de control de versiones, [configure hooks para reemplazar la lógica de git](#non-git-version-control). En la [aplicación de escritorio](/docs/es/desktop#work-in-parallel-with-sessions), seleccione la opción **worktree** cuando inicie una sesión para darle su propio worktree.

13</Note>13</Note>

14 14 

15Los worktrees son una de varias formas de ejecutar Claude en paralelo. Aíslan ediciones de archivos. Los [subagentes](/docs/es/sub-agents) dividen el trabajo dentro de una sesión, y la [mensajería entre sesiones](/docs/es/cross-session-messaging) permite que Claude pase hallazgos entre las sesiones en sus worktrees. Consulte [Ejecutar agentes en paralelo](/docs/es/agents) para comparar los enfoques, o salte directamente a [Aislar subagentes con worktrees](#isolate-subagents-with-worktrees) para usar worktrees y subagentes juntos.15Los worktrees son una de varias formas de ejecutar Claude en paralelo. Aíslan ediciones de archivos. Los [subagentes](/docs/es/sub-agents) dividen el trabajo dentro de una sesión, y la [mensajería entre sesiones](/docs/es/cross-session-messaging) permite que Claude pase hallazgos entre las sesiones en sus worktrees. Consulte [Ejecutar agentes en paralelo](/docs/es/agents) para comparar los enfoques, o salte directamente a [Aislar subagentes con worktrees](#isolate-subagents-with-worktrees) para usar worktrees y subagentes juntos.