SpyBara
Go Premium

Documentation 2026-11-02 23:57 UTC to 2026-11-03 23:58 UTC

36 files changed +232 −74. View all changes and history on the product overview
2026
Thu 12 21:00 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57

admin-setup.md +5 −3

Details

79* Despliega `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.79* Despliega `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.

80* Verifica ejecutando `/status` dentro de una sesión de WSL y leyendo la línea `Setting sources`. Para interpretar lo que enumera, consulta [Leer la fuente en /status](https://code.claude.com/docs/es/managed-settings.md#read-the-source-in-/status).80* Verifica ejecutando `/status` dentro de una sesión de WSL y leyendo la línea `Setting sources`. Para interpretar lo que enumera, consulta [Leer la fuente en /status](https://code.claude.com/docs/es/managed-settings.md#read-the-source-in-/status).

81 81 

82Si una sesión de WSL se inicia en un dispositivo con la lista [`allowedWorkspaceFolders`](https://claude.com/docs/third-party/claude-desktop/configuration#allowedworkspacefolders) de Claude Desktop, una entrada `~` se refiere al directorio home dentro de la distribución.

83 

82Los procesos dentro de la máquina virtual de utilidad de WSL 2 no son visibles para los sensores de detección de endpoints del lado de Windows. Para observar la actividad de procesos y archivos dentro de la distribución, consulta la guía de WSL de tu proveedor de detección de endpoints para encontrar un sensor de Linux que puedas ejecutar dentro de la distribución y las exclusiones que necesita. La [telemetría de ejecución de herramientas de OpenTelemetry](https://code.claude.com/docs/es/monitoring-usage.md) de Claude Code se emite de forma idéntica para sesiones de WSL y nativas.84Los procesos dentro de la máquina virtual de utilidad de WSL 2 no son visibles para los sensores de detección de endpoints del lado de Windows. Para observar la actividad de procesos y archivos dentro de la distribución, consulta la guía de WSL de tu proveedor de detección de endpoints para encontrar un sensor de Linux que puedas ejecutar dentro de la distribución y las exclusiones que necesita. La [telemetría de ejecución de herramientas de OpenTelemetry](https://code.claude.com/docs/es/monitoring-usage.md) de Claude Code se emite de forma idéntica para sesiones de WSL y nativas.

83 85 

84## Decidir qué aplicar86## Decidir qué aplicar


127 129 

128### Cuentas de GitHub conectadas130### Cuentas de GitHub conectadas

129 131 

130En los planes Team y Enterprise, la sección de GitHub de [**Organization settings > Git providers**](https://claude.ai/admin-settings/source-control) enumera las organizaciones de GitHub y las cuentas personales vinculadas a tu organización de Claude a través de la [Claude GitHub App](https://github.com/apps/claude). Claude Code, [Claude Tag](https://claude.com/docs/claude-tag/admins/configure-github) y Claude Security comparten la lista. Abrir la página requiere un rol de administrador en tu organización de Claude.132En los planes Team y Enterprise, la sección de GitHub de [**Organization settings > Git providers**](https://claude.ai/admin-settings/source-control) enumera las organizaciones de GitHub y las cuentas personales vinculadas a tu organización de Claude a través de la [Claude GitHub App](https://github.com/apps/claude). Claude Code, [Claude Tag](https://claude.com/docs/claude-tag/admins/configure-github) y Claude Security comparten la lista. Abrir la página requiere un [rol de Owner](https://code.claude.com/docs/es/server-managed-settings.md#access-control) en tu organización de Claude. El rol de Admin no puede abrirla.

131 133 

132Un administrador o un miembro puede vincular una cuenta:134Alguien puede vincular una cuenta desde la página de proveedores de Git o conectando GitHub a Claude:

133 135 

134* **Conexión de administrador**: un administrador hace clic en **Connect** en esa sección, o en **Add organization** una vez que hay una cuenta conectada, e instala la Claude GitHub App en una organización de GitHub. Vincular una organización de esta manera requiere a alguien que sea a la vez propietario de la organización de GitHub y administrador de tu organización de Claude.136* **Conexión de Owner**: un Owner hace clic en **Connect** en esa sección, o en **Add organization** una vez que hay una cuenta conectada, e instala la Claude GitHub App en una organización de GitHub. Vincular una organización de esta manera requiere un Owner de tu organización de Claude que también sea propietario de la organización de GitHub.

135* **Conexión de miembro**: cuando un miembro conecta su cuenta de GitHub a Claude, por ejemplo al [configurar sesiones en la nube](https://code.claude.com/docs/es/web-quickstart.md#connect-github), Claude vincula las cuentas de GitHub de las que ese miembro es propietario y en las que la Claude GitHub App ya está instalada. Eso puede incluir su cuenta personal y las organizaciones de GitHub de las que es propietario.137* **Conexión de miembro**: cuando un miembro conecta su cuenta de GitHub a Claude, por ejemplo al [configurar sesiones en la nube](https://code.claude.com/docs/es/web-quickstart.md#connect-github), Claude vincula las cuentas de GitHub de las que ese miembro es propietario y en las que la Claude GitHub App ya está instalada. Eso puede incluir su cuenta personal y las organizaciones de GitHub de las que es propietario.

136 138 

137Una fila marcada como **Not linked** proviene de tu propio inicio de sesión en GitHub. Es una cuenta que puedes ver en GitHub en la que está instalada la Claude GitHub App.139Una fila marcada como **Not linked** proviene de tu propio inicio de sesión en GitHub. Es una cuenta que puedes ver en GitHub en la que está instalada la Claude GitHub App.

Details

222>222>

223> `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](https://code.claude.com/docs/es/agent-sdk/python.md#thinkingconfig) o [TypeScript](https://code.claude.com/docs/es/agent-sdk/typescript.md#thinkingconfig) controla si recibe su texto. Son independientes: puede establecer `effort: "low"` con extended thinking habilitado, o `effort: "max"` sin él.223> `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](https://code.claude.com/docs/es/agent-sdk/python.md#thinkingconfig) o [TypeScript](https://code.claude.com/docs/es/agent-sdk/typescript.md#thinkingconfig) controla si recibe su texto. Son independientes: puede establecer `effort: "low"` con extended thinking habilitado, o `effort: "max"` sin él.

224 224 

225Use esfuerzo más bajo para agentes que realizan tareas simples y bien delimitadas (como listar archivos o ejecutar un único grep) para reducir costo y latencia. Establezca `effort` en las opciones de nivel superior `query()` para toda la sesión, o por subagente con el campo `effort` en [`AgentDefinition`](https://code.claude.com/docs/es/agent-sdk/subagents#agentdefinition-configuration) para anular el nivel de sesión.225Usa un esfuerzo más bajo para agentes que realizan tareas simples y bien delimitadas, como listar archivos o ejecutar un único grep, para reducir costo y latencia. Establece `effort` en las opciones de nivel superior de `query()` para la [sesión](https://code.claude.com/docs/es/sub-agents.md#choose-an-effort-level), o por subagente con el campo `effort` en [`AgentDefinition`](https://code.claude.com/docs/es/agent-sdk/subagents#agentdefinition-configuration) para sobrescribir el nivel de la sesión.

226 226 

227### Modo de permiso227### Modo de permiso

228 228 

Details

224| `matcher` | `string` | `undefined` | Patrón coincidido contra el campo de filtro del evento, siguiendo las [reglas para matchers en archivos de configuración](https://code.claude.com/docs/es/hooks.md#matcher-patterns). Para hooks de herramientas, ese campo es el nombre de la herramienta. Las herramientas integradas incluyen `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent` y otras. Consulta [Tipos de entrada de herramienta](https://code.claude.com/docs/es/agent-sdk/typescript.md#tool-input-types) para la lista completa. Las herramientas MCP usan el patrón `mcp__<server>__<action>`, donde `<server>` es la clave que usas en la configuración `mcpServers`, escrita como describe la [convención de nomenclatura de herramientas](https://code.claude.com/docs/es/agent-sdk/mcp.md#tool-naming-convention). |224| `matcher` | `string` | `undefined` | Patrón coincidido contra el campo de filtro del evento, siguiendo las [reglas para matchers en archivos de configuración](https://code.claude.com/docs/es/hooks.md#matcher-patterns). Para hooks de herramientas, ese campo es el nombre de la herramienta. Las herramientas integradas incluyen `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent` y otras. Consulta [Tipos de entrada de herramienta](https://code.claude.com/docs/es/agent-sdk/typescript.md#tool-input-types) para la lista completa. Las herramientas MCP usan el patrón `mcp__<server>__<action>`, donde `<server>` es la clave que usas en la configuración `mcpServers`, escrita como describe la [convención de nomenclatura de herramientas](https://code.claude.com/docs/es/agent-sdk/mcp.md#tool-naming-convention). |

225| `hooks` | `HookCallback[]` | - | Requerido. Matriz de funciones de devolución de llamada a ejecutar cuando el patrón coincide |225| `hooks` | `HookCallback[]` | - | Requerido. Matriz de funciones de devolución de llamada a ejecutar cuando el patrón coincide |

226| `timeout` | `number` | `undefined` | Tiempo de espera en segundos. Cuando se omite, Claude Code aplica el [tiempo de espera predeterminado del evento](#hook-timeout). Tus devoluciones de llamada del SDK siguen los valores predeterminados del hook `command` |226| `timeout` | `number` | `undefined` | Tiempo de espera en segundos. Cuando se omite, Claude Code aplica el [tiempo de espera predeterminado del evento](#hook-timeout). Tus devoluciones de llamada del SDK siguen los valores predeterminados del hook `command` |

227| `onFailure` | `"continue" \| "block"` | `undefined` | Qué ocurre cuando falla una devolución de llamada. Establece `"block"` para [bloquear la acción cuando falla una devolución de llamada](#block-the-action-when-a-callback-fails). En Python, usa `on_failure` |

227 228 

228Usa el patrón `matcher` para dirigirte a herramientas específicas siempre que sea posible. Un matcher con `'Bash'` solo se ejecuta para comandos Bash, mientras que omitir el patrón ejecuta tus devoluciones de llamada para cada ocurrencia del evento.229Usa el patrón `matcher` para dirigirte a herramientas específicas siempre que sea posible. Un matcher con `'Bash'` solo se ejecuta para comandos Bash, mientras que omitir el patrón ejecuta tus devoluciones de llamada para cada ocurrencia del evento.

229 230 


283>284>

284> Las salidas asincrónicas no pueden bloquear, modificar o inyectar contexto en la operación ya que el agente ya ha avanzado. Úsalas solo para efectos secundarios como registro, métricas o notificaciones.285> Las salidas asincrónicas no pueden bloquear, modificar o inyectar contexto en la operación ya que el agente ya ha avanzado. Úsalas solo para efectos secundarios como registro, métricas o notificaciones.

285 286 

287### Bloquear la acción cuando falla una devolución de llamada

288 

289En la mayoría de los eventos, si una devolución de llamada lanza una excepción o devuelve una salida que no pasa la validación, la acción continúa y tu aplicación recibe una advertencia [`SDKInformationalMessage`](https://code.claude.com/docs/es/agent-sdk/typescript#sdkinformationalmessage) cuyo `tag` es `hook_callback_failed`. Así, una protección `PreToolUse` que falla deja que la llamada a herramienta llegue al flujo de permisos normal. Una devolución de llamada que no devuelve nada, como una ruta sin `return`, también cuenta como fallida. En Python, lee `tag` desde `SystemMessage.data`.

290 

291Para bloquear la acción en su lugar, establece `onFailure: "block"` en TypeScript o `on_failure="block"` en Python en el matcher. Requiere TypeScript Agent SDK v0.3.317 o posterior, o Python Agent SDK v0.2.177 o posterior. Este ejemplo bloquea una llamada a Bash cuando falla `check_policy` en Python o `checkPolicy` en TypeScript:

292 

293```python Python theme={null}

294options = ClaudeAgentOptions(

295 hooks={

296 "PreToolUse": [

297 HookMatcher(matcher="Bash", hooks=[check_policy], on_failure="block")

298 ]

299 }

300)

301```

302 

303```typescript TypeScript theme={null}

304import type { Options } from "@anthropic-ai/claude-agent-sdk";

305 

306const options: Options = {

307 hooks: {

308 PreToolUse: [{ matcher: "Bash", hooks: [checkPolicy], onFailure: "block" }]

309 }

310};

311```

312 

313Para probarlo, haz que la devolución de llamada lance un error y pídele a Claude que ejecute un comando Bash. El resultado de la herramienta incluye `failed; blocking because onFailure is "block"`, y Claude no ve el texto de tu error.

314 

315Devuelve `{}` cuando la devolución de llamada no tiene opinión. Con `"block"` establecido, una ruta sin `return` bloquea la acción. Una devolución de llamada que captura su propio error y devuelve `{}` no está fallando, así que deja que el error se propague desde una protección.

316 

317#### Eventos que se comportan de forma diferente

318 

319Estos eventos no siempre bloquean con `"block"` establecido:

320 

321* **`Stop`, `SubagentStop`, `TaskCompleted` y `TeammateIdle`**: estos eventos ignoran la opción, así que la acción continúa.

322* **`PermissionRequest`**: el bloqueo solo cuenta si llega antes de que responda tu devolución de llamada `canUseTool`.

323* **`PostToolUse`**: la herramienta ya se ejecutó, así que Claude recibe el fallo como retroalimentación.

324 

325Una devolución de llamada que excede su tiempo de espera sigue lo descrito en [Tiempo de espera del hook](#hook-timeout). Con `"block"` establecido, agotar el tiempo de espera también bloquea `PreCompact`, `Elicitation` y `WorktreeCreate`.

326 

327#### Errores de inicio para `onFailure`

328 

329Con `"block"` establecido, la consulta falla al iniciar y no envía ningún prompt cuando no puede respetar la opción:

330 

331* **Claude Code no admite la opción**: el error incluye `does not honor`. Actualiza Claude Code o elimina la opción.

332* **La sesión ya se estaba ejecutando y no registró tus hooks**: el error incluye `did not register your hooks`. Inicia una nueva sesión.

333 

286## Ejemplos334## Ejemplos

287 335 

288Varios ejemplos en esta sección muestran solo la función de devolución de llamada. Para ejecutar uno, registre la devolución de llamada bajo el evento coincidente en el campo `hooks` de sus opciones, como se muestra en [Configurar hooks](#configure-hooks).336Varios ejemplos en esta sección muestran solo la función de devolución de llamada. Para ejecutar uno, registre la devolución de llamada bajo el evento coincidente en el campo `hooks` de sus opciones, como se muestra en [Configurar hooks](#configure-hooks).


779* `Stop` y `SubagentStop`: la devolución de llamada con tiempo de espera agotado cuenta como no devolver ninguna decisión. El agente o subagente se detiene como si esa devolución de llamada lo hubiera permitido, y una decisión de tus otros hooks en el evento aún se aplica. Antes de Claude Code v2.1.273, una devolución de llamada `Stop` o `SubagentStop` con tiempo de espera agotado contaba como una ejecución de hook fallida, y Claude Code descartaba las decisiones de tus otros hooks en el evento.827* `Stop` y `SubagentStop`: la devolución de llamada con tiempo de espera agotado cuenta como no devolver ninguna decisión. El agente o subagente se detiene como si esa devolución de llamada lo hubiera permitido, y una decisión de tus otros hooks en el evento aún se aplica. Antes de Claude Code v2.1.273, una devolución de llamada `Stop` o `SubagentStop` con tiempo de espera agotado contaba como una ejecución de hook fallida, y Claude Code descartaba las decisiones de tus otros hooks en el evento.

780* `SessionStart`: la devolución de llamada con tiempo de espera agotado cuenta como no devolver ninguna salida, y la sesión continúa con la salida de tus otros hooks `SessionStart`.828* `SessionStart`: la devolución de llamada con tiempo de espera agotado cuenta como no devolver ninguna salida, y la sesión continúa con la salida de tus otros hooks `SessionStart`.

781* `PreModelSwitch`: Claude Code bloquea el cambio de modelo. Un hook que no responde no ha aprobado el cambio.829* `PreModelSwitch`: Claude Code bloquea el cambio de modelo. Un hook que no responde no ha aprobado el cambio.

782* Otros eventos, como `Notification`, `PreCompact` y `PostModelSwitch`: Claude Code registra el fallo y continúa.830* Otros eventos, como `Notification`, `PreCompact` y `PostModelSwitch`: Claude Code registra el fallo y continúa. Con [`onFailure: "block"`](#block-the-action-when-a-callback-fails), que se agote el tiempo de espera en `PreCompact`, `Elicitation` o `WorktreeCreate` bloquea la acción.

783 831 

784La primera vez que se agota el tiempo de espera de una devolución de llamada `Stop` o `SessionStart` en la sesión principal, Claude Code también agrega un [`SDKInformationalMessage`](https://code.claude.com/docs/es/agent-sdk/typescript#sdkinformationalmessage) al flujo de mensajes diciendo que la aplicación que impulsa la sesión no respondió. Los tiempos de espera posteriores no repiten ese mensaje mientras tu aplicación permanece sin responder.832La primera vez que se agota el tiempo de espera de una devolución de llamada `Stop` o `SessionStart` en la sesión principal, Claude Code también agrega un [`SDKInformationalMessage`](https://code.claude.com/docs/es/agent-sdk/typescript#sdkinformationalmessage) al flujo de mensajes diciendo que la aplicación que impulsa la sesión no respondió. Los tiempos de espera posteriores no repiten ese mensaje mientras tu aplicación permanece sin responder.

785 833 

Details

2161 None # Timeout in seconds. When omitted, the per-event default applies:2161 None # Timeout in seconds. When omitted, the per-event default applies:

2162 # 600 for most events, 30 for UserPromptSubmit2162 # 600 for most events, 30 for UserPromptSubmit

2163 )2163 )

2164 on_failure: Literal["continue", "block"] | None = (

2165 None # "block" blocks the action when a callback fails

2166 )

2164```2167```

2165 2168 

2169Para decidir qué cubre `on_failure`, consulta [Bloquear la acción cuando falla una devolución de llamada](https://code.claude.com/docs/es/agent-sdk/hooks.md#block-the-action-when-a-callback-fails).

2170 

2166### `HookInput`2171### `HookInput`

2167 2172 

2168Tipo de unión de todos los tipos de entrada de hook. El tipo real depende del campo `hook_event_name`.2173Tipo de unión de todos los tipos de entrada de hook. El tipo real depende del campo `hook_event_name`.

Details

2183 level: "info" | "notice" | "suggestion" | "warning";2183 level: "info" | "notice" | "suggestion" | "warning";

2184 tool_use_id?: string;2184 tool_use_id?: string;

2185 prevent_continuation?: boolean;2185 prevent_continuation?: boolean;

2186 tag?: string;

2186 uuid: UUID;2187 uuid: UUID;

2187 session_id: string;2188 session_id: string;

2188};2189};


2557interface HookCallbackMatcher {2558interface HookCallbackMatcher {

2558 matcher?: string;2559 matcher?: string;

2559 hooks: HookCallback[];2560 hooks: HookCallback[];

2560 timeout?: number; // Tiempo de espera en segundos para todos los hooks en este coincididor2561 timeout?: number; // Tiempo de espera en segundos para todos los hooks de este matcher

2562 onFailure?: "continue" | "block"; // "block" bloquea la acción cuando falla una devolución de llamada

2561}2563}

2562```2564```

2563 2565 

2566Para decidir qué cubre `onFailure`, consulta [Bloquear la acción cuando falla una devolución de llamada](https://code.claude.com/docs/es/agent-sdk/hooks.md#block-the-action-when-a-callback-fails).

2567 

2564### `HookInput`2568### `HookInput`

2565 2569 

2566Tipo de unión de todos los tipos de entrada de hook.2570Tipo de unión de todos los tipos de entrada de hook.


3087 systemMessage?: string;3091 systemMessage?: string;

3088 /**3092 /**

3089 * Una secuencia de escape de terminal (p. ej. OSC 9 / OSC 777 notificación de escritorio)3093 * Una secuencia de escape de terminal (p. ej. OSC 9 / OSC 777 notificación de escritorio)

3090 * para que Claude Code emita en su nombre. Solo se permiten OSCs de notificación/título3094 * para que Claude Code emita en tu nombre. Solo se permiten OSCs de notificación/título

3091 * (0, 1, 2, 9, 99, 777) y BEL; un valor que contenga cualquier otra cosa se ignora en su totalidad. Solo la CLI interactiva lo emite;3095 * (0, 1, 2, 9, 99, 777) y BEL; un valor que contenga cualquier otra cosa se ignora en su totalidad. Solo la CLI interactiva lo emite;

3092 * el SDK ignora el campo.3096 * el SDK ignora el campo.

3093 */3097 */


3105 hookEventName: "UserPromptSubmit";3109 hookEventName: "UserPromptSubmit";

3106 additionalContext?: string;3110 additionalContext?: string;

3107 sessionTitle?: string;3111 sessionTitle?: string;

3108 /** Cuando la decisión es "block", omita el mensaje original del bloque. */3112 /** Cuando la decisión es "block", omite el prompt original del mensaje de bloqueo. */

3109 suppressOriginalPrompt?: boolean;3113 suppressOriginalPrompt?: boolean;

3110 }3114 }

3111 | {3115 | {


3119 sessionTitle?: string;3123 sessionTitle?: string;

3120 watchPaths?: string[];3124 watchPaths?: string[];

3121 /**3125 /**

3122 * Vuelva a escanear los directorios de skill y comando después de que se completen los hooks de SessionStart,3126 * Vuelve a escanear los directorios de skill y comando después de que se completen los hooks de SessionStart,

3123 * para que los skills instalados por el hook estén disponibles en la3127 * para que los skills instalados por el hook estén disponibles en la

3124 * misma sesión.3128 * misma sesión.

3125 */3129 */


3134 /**3138 /**

3135 * El mismo contrato que PreToolUse: "allow" procede, "deny" cancela3139 * El mismo contrato que PreToolUse: "allow" procede, "deny" cancela

3136 * el cambio, "ask" le pide al usuario que confirme. Solo /model en una3140 * el cambio, "ask" le pide al usuario que confirme. Solo /model en una

3137 * sesión interactiva muestra ese mensaje; todas las otras superficies,3141 * sesión interactiva muestra esa solicitud; todas las otras superficies,

3138 * incluidas las solicitudes set_model, tratan "ask" como un rechazo.3142 * incluidas las solicitudes set_model, tratan "ask" como un rechazo.

3139 */3143 */

3140 permissionDecision?: "allow" | "deny" | "ask";3144 permissionDecision?: "allow" | "deny" | "ask";


3153 hookEventName: "PostToolUse";3157 hookEventName: "PostToolUse";

3154 additionalContext?: string;3158 additionalContext?: string;

3155 /**3159 /**

3156 * Nota breve sobre el resultado de esta llamada de herramienta para el clasificador de permisos del modo automático. Limitado a 2000 caracteres, compartido entre3160 * Nota breve sobre el resultado de esta llamada a herramienta para el clasificador de permisos del modo automático. Limitado a 2000 caracteres, compartido entre

3157 * todos los hooks que responden a la misma llamada; honrado solo en respuestas de hooks síncronos. No copie salida de herramienta no confiable en él.3161 * todos los hooks que responden a la misma llamada; honrado solo en respuestas de hooks síncronos. No copies salida de herramienta no confiable en él.

3158 */3162 */

3159 classifierContext?: string;3163 classifierContext?: string;

3160 updatedToolOutput?: unknown;3164 updatedToolOutput?: unknown;


3223 }3227 }

3224 | {3228 | {

3225 hookEventName: "MessageDisplay";3229 hookEventName: "MessageDisplay";

3226 /** Texto mostrado en lugar del delta. Omita (o devuelva el delta sin cambios) para mostrar el original. */3230 /** Texto mostrado en lugar del delta. Omítelo (o devuelve el delta sin cambios) para mostrar el original. */

3227 displayContent?: string;3231 displayContent?: string;

3228 };3232 };

3229};3233};

agent-teams.md +13 −5

Details

158* **Alias de familia como `opus`**: en la API de Anthropic y en Claude Platform on AWS, Claude Code ejecuta el compañero de equipo con la versión más reciente de esa familia que permita la lista de permitidos. En proveedores con ID de modelo específicos del proveedor, donde la [sustitución no opera](https://code.claude.com/docs/es/model-config.md#restrict-model-selection), un alias bloqueado recurre a la alternativa como cualquier otro valor bloqueado, según el siguiente punto158* **Alias de familia como `opus`**: en la API de Anthropic y en Claude Platform on AWS, Claude Code ejecuta el compañero de equipo con la versión más reciente de esa familia que permita la lista de permitidos. En proveedores con ID de modelo específicos del proveedor, donde la [sustitución no opera](https://code.claude.com/docs/es/model-config.md#restrict-model-selection), un alias bloqueado recurre a la alternativa como cualquier otro valor bloqueado, según el siguiente punto

159* **Cualquier otro valor bloqueado, incluido un alias de familia en proveedores donde la sustitución no opera, o uno cuya familia no tiene ninguna versión permitida**: Claude Code ejecuta el compañero de equipo con el modelo del líder. Si estableces `CLAUDE_CODE_SUBAGENT_MODEL`, Claude Code prueba primero ese modelo, bajo estas mismas reglas159* **Cualquier otro valor bloqueado, incluido un alias de familia en proveedores donde la sustitución no opera, o uno cuya familia no tiene ninguna versión permitida**: Claude Code ejecuta el compañero de equipo con el modelo del líder. Si estableces `CLAUDE_CODE_SUBAGENT_MODEL`, Claude Code prueba primero ese modelo, bajo estas mismas reglas

160 160 

161De forma predeterminada, los compañeros de equipo heredan el [nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) del líder. En el modo de paneles divididos esto aplica a partir de v2.1.186; las versiones anteriores no pasaban el nivel de esfuerzo de la sesión del líder a los compañeros de equipo en paneles divididos.161De forma predeterminada, un compañero de equipo que usa el modelo del líder hereda el [nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) del líder. En el modo de paneles divididos esto aplica a partir de v2.1.186; las versiones anteriores no pasaban el nivel de esfuerzo de la sesión del líder a los compañeros de equipo en paneles divididos. Para un compañero de equipo que usa otro modelo, consulta [Nivel de esfuerzo de subagentes y compañeros de equipo](https://code.claude.com/docs/es/model-config.md#effort-level-of-subagents-and-teammates).

162 162 

163### Haz que los compañeros de equipo planifiquen antes de implementar163### Haz que los compañeros de equipo planifiquen antes de implementar

164 164 

165Para tareas complejas o riesgosas, puedes hacer que los compañeros de equipo planifiquen antes de implementar. Un compañero de equipo que Claude genera mientras el líder está en [modo plan](https://code.claude.com/docs/es/permission-modes.md#analyze-before-you-edit-with-plan-mode) trabaja en modo plan de solo lectura hasta que su plan esté listo. Primero cambia el líder a modo plan y luego pide el compañero de equipo:165Para tareas complejas o riesgosas, puedes hacer que los compañeros de equipo planifiquen antes de implementar. Un compañero de equipo que Claude genera mientras el líder está en [modo plan](https://code.claude.com/docs/es/permission-modes.md#analyze-before-you-edit-with-plan-mode) también trabaja en modo plan hasta que su plan esté listo. Primero cambia el líder a modo plan y luego pide el compañero de equipo:

166 166 

167```text wrap theme={null}167```text wrap theme={null}

168Spawn an architect teammate to refactor the authentication module.168Spawn an architect teammate to refactor the authentication module.

169```169```

170 170 

171Cuando ese compañero de equipo termina de planificar, envía una solicitud de aprobación del plan al líder. Si no has cambiado el modo de permisos de ese compañero de equipo desde que se generó, Claude Code aprueba el plan en cuanto llega la solicitud, sin que el líder lo revise. Las ediciones y comandos del compañero de equipo siguen pasando por las solicitudes de permiso descritas en [Permisos](#permissions). Una vez aprobado, el compañero de equipo sale del modo plan y comienza la implementación.171Cuando ese compañero de equipo termina de planificar, envía una solicitud de aprobación del plan al líder. Si no has cambiado el modo de permisos de ese compañero de equipo desde que se generó, Claude Code aprueba el plan en cuanto llega la solicitud, sin que el líder lo revise. Una vez aprobado, el compañero de equipo sale del modo plan y comienza la implementación. Claude Code le pasa el [modo de permisos](#permissions) actual del líder, o Manual si ese es el modo plan.

172 172 

173Si pones en modo plan a un compañero de equipo en proceso que está en ejecución presionando [`Shift+Tab`](https://code.claude.com/docs/es/permission-modes#switch-permission-modes) mientras ves su sesión, el líder revisa el plan de esa ejecución en lugar de que Claude Code lo apruebe. No se te pide que lo apruebes; el líder lo aprueba o lo devuelve para su revisión.173Si pones en modo plan a un compañero de equipo en proceso que está en ejecución presionando [`Shift+Tab`](https://code.claude.com/docs/es/permission-modes#switch-permission-modes) mientras ves su sesión, el líder revisa el plan de esa ejecución en lugar de que Claude Code lo apruebe. No se te pide que lo apruebes; el líder lo aprueba o lo devuelve para su revisión.

174 174 


288 288 

289### Permisos289### Permisos

290 290 

291Los compañeros de equipo comienzan con el modo de permiso del líder, excepto el [modo `dontAsk`](https://code.claude.com/docs/es/permission-modes#allow-only-pre-approved-tools-with-dontask-mode), que no heredan. Si el líder se ejecuta con `--dangerously-skip-permissions`, todos los compañeros de equipo también lo hacen. Después de generar, puede cambiar el modo de permiso de un compañero de equipo individual, pero no puede establecer modos de permiso por compañero de equipo en el momento de la generación.291Para alternar el modo de permisos de un compañero de equipo en ejecución, presiona [`Shift+Tab`](https://code.claude.com/docs/es/permission-modes#switch-permission-modes), aunque un compañero de equipo en proceso puede ejecutarse en el modo del líder en su lugar. Para un compañero de equipo de panel dividido, presiónalo en su panel. Para un compañero de equipo [en proceso](#choose-a-display-mode), presiónalo mientras [ves su sesión](#talk-to-teammates-directly), y el compañero de equipo comprueba su modo cuando inicia su siguiente turno.

292 

293> [!NOTE]

294>

295> Un compañero de equipo en proceso que no está en [modo plan](#have-teammates-plan-before-implementing) se ejecuta en el modo del líder mientras el líder está en el modo [`acceptEdits`](https://code.claude.com/docs/es/permission-modes#auto-approve-file-edits-with-acceptedits-mode), [`auto`](https://code.claude.com/docs/es/permission-modes#eliminate-prompts-with-auto-mode) o [`bypassPermissions`](https://code.claude.com/docs/es/permission-modes#skip-all-checks-with-bypasspermissions-mode). Cambiar el compañero de equipo a Manual no cambia eso, aunque su barra de estado muestre Manual.

296>

297> Para que pida confirmación antes de editar, presiona Enter en la fila `main` del panel de agentes y cambia también el líder al modo Manual. Entonces el líder también pide confirmación, al igual que cualquier otro compañero de equipo en modo Manual.

298 

299No puedes establecer modos de permisos por compañero de equipo en el momento de la generación. Un nuevo compañero de equipo comienza con el modo del líder, incluido el modo `bypassPermissions`, que activa `--dangerously-skip-permissions`. Si el líder está en el [modo `dontAsk`](https://code.claude.com/docs/es/permission-modes#allow-only-pre-approved-tools-with-dontask-mode), el compañero de equipo comienza en [modo Manual](https://code.claude.com/docs/es/permission-modes.md#available-modes) en su lugar.

292 300 

293Un compañero de equipo [en proceso](#choose-a-display-mode) se ejecuta bajo las reglas de permitir y denegar activas del líder, por lo que [`--disallowedTools`](https://code.claude.com/docs/es/cli-reference#cli-flags), `--tools` y `--allowedTools` se aplican a él. Para un compañero de equipo de panel dividido, revisa cada flag:301Un compañero de equipo [en proceso](#choose-a-display-mode) se ejecuta bajo las reglas de permitir y denegar activas del líder, por lo que [`--disallowedTools`](https://code.claude.com/docs/es/cli-reference#cli-flags), `--tools` y `--allowedTools` se aplican a él. Para un compañero de equipo de panel dividido, revisa cada flag:

294 302 


488* **Sin equipos anidados**: los compañeros de equipo no pueden generar sus propios compañeros de equipo. Solo el líder puede gestionar el equipo.496* **Sin equipos anidados**: los compañeros de equipo no pueden generar sus propios compañeros de equipo. Solo el líder puede gestionar el equipo.

489* **Sin subagentes en segundo plano desde compañeros de equipo en proceso**: los propios subagentes de un compañero de equipo en proceso se ejecutan en primer plano, porque el trabajo en segundo plano de un compañero de equipo no puede sobrevivir al proceso del líder. Claude Code devuelve un error cuando un compañero de equipo genera un subagente cuya definición establece `background: true`. Una solicitud `run_in_background: true` de un compañero de equipo también falla, ya sea con un error o ejecutándose silenciosamente en primer plano. Los subagentes lanzados desde la conversación principal siguen el [valor predeterminado de segundo plano](https://code.claude.com/docs/es/sub-agents.md#run-subagents-in-foreground-or-background).497* **Sin subagentes en segundo plano desde compañeros de equipo en proceso**: los propios subagentes de un compañero de equipo en proceso se ejecutan en primer plano, porque el trabajo en segundo plano de un compañero de equipo no puede sobrevivir al proceso del líder. Claude Code devuelve un error cuando un compañero de equipo genera un subagente cuya definición establece `background: true`. Una solicitud `run_in_background: true` de un compañero de equipo también falla, ya sea con un error o ejecutándose silenciosamente en primer plano. Los subagentes lanzados desde la conversación principal siguen el [valor predeterminado de segundo plano](https://code.claude.com/docs/es/sub-agents.md#run-subagents-in-foreground-or-background).

490* **El líder es fijo**: la sesión principal es el líder de por vida. No puede promover un compañero de equipo a líder ni transferir liderazgo.498* **El líder es fijo**: la sesión principal es el líder de por vida. No puede promover un compañero de equipo a líder ni transferir liderazgo.

491* **Permisos establecidos en la generación**: los compañeros de equipo comienzan con el modo de permiso descrito en [Permisos](#permissions). Puede cambiar el modo de permiso de un compañero de equipo individual después de generarlo, pero no puede establecer modos de permiso por compañero de equipo en el momento de la generación.499* **Sin modos de permisos por compañero de equipo en la generación**: los compañeros de equipo comienzan con el modo de permisos descrito en [Permisos](#permissions).

492* **Los paneles divididos requieren tmux o iTerm2**: el modo en proceso predeterminado funciona en cualquier terminal. El modo de panel dividido no es compatible con la terminal integrada de VS Code, Windows Terminal o Ghostty.500* **Los paneles divididos requieren tmux o iTerm2**: el modo en proceso predeterminado funciona en cualquier terminal. El modo de panel dividido no es compatible con la terminal integrada de VS Code, Windows Terminal o Ghostty.

493 501 

494## Próximos pasos502## Próximos pasos

agent-view.md +1 −1

Details

442 442 

443Ejecuta `/background` o su alias `/bg` para mover la conversación actual a una sesión en segundo plano. Pasa un prompt como `/bg run the test suite and fix any failures` para dar antes una instrucción más. Si Claude está respondiendo cuando ejecutas `/bg`, la respuesta continúa en la sesión en segundo plano.443Ejecuta `/background` o su alias `/bg` para mover la conversación actual a una sesión en segundo plano. Pasa un prompt como `/bg run the test suite and fix any failures` para dar antes una instrucción más. Si Claude está respondiendo cuando ejecutas `/bg`, la respuesta continúa en la sesión en segundo plano.

444 444 

445Salir de una sesión que aún tiene trabajo en segundo plano en ejecución, como subagentes, comandos de shell en segundo plano, flujos de trabajo o [monitores](https://code.claude.com/docs/es/tools-reference.md#monitor-tool), muestra un diálogo `Background work is running` en lugar de salir inmediatamente. Elige `Move to background and exit` para enviar la sesión al segundo plano de la misma manera que lo hace `/background` y volver a tu shell. La opción no se muestra cuando la vista de agentes está [desactivada](#turn-off-agent-view).445Si sales de una sesión mientras se ejecutan algunos tipos de trabajo en segundo plano, como subagentes o flujos de trabajo, un diálogo `Background work is running` advierte que ese trabajo se detiene. Elige `Move to background and exit` para enviar la sesión al segundo plano de la misma manera que lo hace `/background` y volver a tu shell. La opción no se muestra cuando la vista de agentes está [desactivada](#turn-off-agent-view).

446 446 

447Si una sesión en segundo plano de la lista ya tiene el nombre de la conversación, Claude Code numera el nombre de la nueva fila, como `my-session (2)`, y deja sin cambios el nombre de la fila existente. Para cambiar el nombre de la nueva fila, selecciónala en la vista de agentes y presiona `Ctrl+R`.447Si una sesión en segundo plano de la lista ya tiene el nombre de la conversación, Claude Code numera el nombre de la nueva fila, como `my-session (2)`, y deja sin cambios el nombre de la fila existente. Para cambiar el nombre de la nueva fila, selecciónala en la vista de agentes y presiona `Ctrl+R`.

448 448 

Details

315* Una fijación en el bloque `env` de la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md)315* Una fijación en el bloque `env` de la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md)

316* Una fijación que apunta a un [ARN de perfil de inferencia de aplicación](#map-each-model-version-to-an-inference-profile), ya que la administra tu administrador316* Una fijación que apunta a un [ARN de perfil de inferencia de aplicación](#map-each-model-version-to-an-inference-profile), ya que la administra tu administrador

317 317 

318Si la solicitud de actualización sigue apareciendo para una fijación en la configuración administrada, actualiza Claude Code a v2.1.314 o posterior. Antes de v2.1.314, la fijación administrada seguía vigente después de que aceptabas, por lo que la solicitud volvía a aparecer en el siguiente inicio.

319 

318Si no fijaste un modelo y el predeterminado actual no está disponible en tu cuenta, Claude Code recurre a una alternativa para la sesión actual y muestra un aviso. Primero intenta versiones anteriores del modelo predeterminado y, cuando el predeterminado es un modelo Opus y no hay ninguna versión de Opus disponible, recurre al modelo Sonnet predeterminado. La alternativa no se guarda de forma persistente. Habilita el modelo más nuevo en tu cuenta de Amazon Bedrock o [fija una versión](#4-pin-model-versions) para que la elección sea permanente.320Si no fijaste un modelo y el predeterminado actual no está disponible en tu cuenta, Claude Code recurre a una alternativa para la sesión actual y muestra un aviso. Primero intenta versiones anteriores del modelo predeterminado y, cuando el predeterminado es un modelo Opus y no hay ninguna versión de Opus disponible, recurre al modelo Sonnet predeterminado. La alternativa no se guarda de forma persistente. Habilita el modelo más nuevo en tu cuenta de Amazon Bedrock o [fija una versión](#4-pin-model-versions) para que la elección sea permanente.

319 321 

322### Iniciar una sesión con un modelo específico

323 

320Cuando inicias la sesión con una versión específica de Sonnet u Opus, por ejemplo con `--model`, `ANTHROPIC_MODEL` o el [ajuste `model`](https://code.claude.com/docs/es/settings-reference#model), esa versión actúa como el predeterminado fijado de la sesión para el alias `sonnet` u `opus` correspondiente. Claude Code omite la verificación de disponibilidad del predeterminado integrado que tu modelo reemplaza e inicia con el modelo que configuraste, sin aviso de respaldo.324Cuando inicias la sesión con una versión específica de Sonnet u Opus, por ejemplo con `--model`, `ANTHROPIC_MODEL` o el [ajuste `model`](https://code.claude.com/docs/es/settings-reference#model), esa versión actúa como el predeterminado fijado de la sesión para el alias `sonnet` u `opus` correspondiente. Claude Code omite la verificación de disponibilidad del predeterminado integrado que tu modelo reemplaza e inicia con el modelo que configuraste, sin aviso de respaldo.

321 325 

322Estos no actúan como fijaciones cuando inicias una sesión con ellos:326Estos no actúan como fijaciones cuando inicias una sesión con ellos:


324* Un alias de modelo como `opus`328* Un alias de modelo como `opus`

325* Un ID de modelo que Claude Code no reconoce, como un ARN de perfil de inferencia de aplicación329* Un ID de modelo que Claude Code no reconoce, como un ARN de perfil de inferencia de aplicación

326 330 

327Cuando estas verificaciones encuentran un modelo que tu cuenta no puede invocar, Claude Code recuerda el rechazo en esta máquina durante hasta un día, y los inicios durante ese tiempo omiten el modelo recordado sin volver a consultar a Amazon Bedrock. Claude Code vuelve a verificar al iniciar un rechazo recordado de un modelo predeterminado actual una vez que han pasado diez minutos desde la última verificación, de modo que un predeterminado que tu administrador vuelve a habilitar regresa. Para desactivar esta memoria, establece [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](https://code.claude.com/docs/es/env-vars).331### Rechazos de modelo recordados

332 

333Cuando las verificaciones de modelo al iniciar encuentran un modelo que tu cuenta no puede invocar, Claude Code puede recordar el rechazo en esta máquina durante hasta un día. Una vez que han pasado diez minutos desde la última verificación, Claude Code vuelve a verificar al iniciar un rechazo recordado de un modelo predeterminado actual. Así, un predeterminado que tu administrador vuelve a habilitar regresa. Para desactivar esta memoria, establece [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](https://code.claude.com/docs/es/env-vars).

328 334 

329### Cuando tu organización aplica una lista de modelos permitidos335### Cuando tu organización aplica una lista de modelos permitidos

330 336 


457 463 

458## AWS Guardrails464## AWS Guardrails

459 465 

460[Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) le permite implementar filtrado de contenido para Claude Code. Cree un Guardrail en la [consola de Amazon Bedrock](https://console.aws.amazon.com/bedrock/), publique una versión, luego agregue los encabezados de Guardrail a su [archivo de configuración](https://code.claude.com/docs/es/settings.md). Habilite la inferencia entre regiones en su Guardrail si está utilizando perfiles de inferencia entre regiones.466[Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) te permite implementar filtrado de contenido para Claude Code. Crea un Guardrail en la [consola de Amazon Bedrock](https://console.aws.amazon.com/bedrock/) y publica una versión. Habilita la inferencia entre regiones en tu Guardrail si estás utilizando perfiles de inferencia entre regiones.

461 467 

462Configuración de ejemplo:468Para aplicar el Guardrail a través de un [gateway de aplicaciones de Claude](https://code.claude.com/docs/es/claude-apps-gateway), sigue [Aplicar un guardrail de Amazon Bedrock](https://code.claude.com/docs/es/claude-apps-gateway-config.md#apply-an-amazon-bedrock-guardrail). Sin un gateway de aplicaciones de Claude, agrega los encabezados de Guardrail a tu [archivo de configuración](https://code.claude.com/docs/es/settings.md).

469 

470Ejemplo de configuración en el archivo de configuración:

463 471 

464```json theme={null}472```json theme={null}

465{473{


469}477}

470```478```

471 479 

472Si su organización entrega los encabezados de guardrail a través de una política de [puerta de enlace de aplicaciones Claude](https://code.claude.com/docs/es/claude-apps-gateway) en su lugar, cuentan como [configuración que necesita aprobación](https://code.claude.com/docs/es/server-managed-settings.md#environment-variables-and-the-approval-dialog).

473 

474Cuando el guardrail bloquea una respuesta a mitad de camino, el texto transmitido hasta ese momento se conserva y la respuesta termina con el mensaje configurado en el guardrail para las respuestas bloqueadas.480Cuando el guardrail bloquea una respuesta a mitad de camino, el texto transmitido hasta ese momento se conserva y la respuesta termina con el mensaje configurado en el guardrail para las respuestas bloqueadas.

475 481 

476## Usar el punto final de Mantle482## Usar el punto final de Mantle

Details

2512. Variable de entorno `ANTHROPIC_AUTH_TOKEN`. Se envía como encabezado `Authorization: Bearer`. Use esto cuando enrute a través de una [puerta de enlace LLM o proxy](https://code.claude.com/docs/es/llm-gateway) que se autentica con tokens de portador en lugar de claves API de Anthropic.2512. Variable de entorno `ANTHROPIC_AUTH_TOKEN`. Se envía como encabezado `Authorization: Bearer`. Use esto cuando enrute a través de una [puerta de enlace LLM o proxy](https://code.claude.com/docs/es/llm-gateway) que se autentica con tokens de portador en lugar de claves API de Anthropic.

2523. Variable de entorno `ANTHROPIC_API_KEY`. Se envía como encabezado `X-Api-Key`. Use esto para acceso directo a la API de Anthropic con una clave de [Claude Console](https://platform.claude.com). En modo interactivo, se le solicita una vez que apruebe o rechace la clave, y su elección se recuerda. Para cambiarla más tarde, use el botón de alternancia "Use custom API key" en `/config`. El botón de alternancia solo aparece mientras `ANTHROPIC_API_KEY` está establecido en su entorno. En modo no interactivo (`-p`), la clave siempre se usa cuando está presente.2523. Variable de entorno `ANTHROPIC_API_KEY`. Se envía como encabezado `X-Api-Key`. Use esto para acceso directo a la API de Anthropic con una clave de [Claude Console](https://platform.claude.com). En modo interactivo, se le solicita una vez que apruebe o rechace la clave, y su elección se recuerda. Para cambiarla más tarde, use el botón de alternancia "Use custom API key" en `/config`. El botón de alternancia solo aparece mientras `ANTHROPIC_API_KEY` está establecido en su entorno. En modo no interactivo (`-p`), la clave siempre se usa cuando está presente.

2534. Salida del script [`apiKeyHelper`](https://code.claude.com/docs/es/settings-reference#apikeyhelper). Use esto para credenciales dinámicas o rotativas, como tokens de corta duración obtenidos de un almacén.2534. Salida del script [`apiKeyHelper`](https://code.claude.com/docs/es/settings-reference#apikeyhelper). Use esto para credenciales dinámicas o rotativas, como tokens de corta duración obtenidos de un almacén.

2545. Variable de entorno `CLAUDE_CODE_OAUTH_TOKEN`. Un token OAuth de larga duración generado por [`claude setup-token`](#generate-a-long-lived-token). Use esto para canalizaciones de CI y scripts donde el inicio de sesión del navegador no está disponible. Si ejecuta `/login` mientras la variable está establecida, Claude Code cambia la sesión actual al nuevo inicio de sesión, pero lee la variable nuevamente en cada nueva sesión hasta que la elimine del perfil de su shell o del bloque `env` de un [archivo de configuración](https://code.claude.com/docs/es/settings.md).2545. Variable de entorno `CLAUDE_CODE_OAUTH_TOKEN`. Un token OAuth de larga duración generado por [`claude setup-token`](#generate-a-long-lived-token). Usa esto para canalizaciones de CI y scripts donde el inicio de sesión del navegador no está disponible. Si ejecutas `/login` mientras la variable está establecida, Claude Code cambia la sesión actual al nuevo inicio de sesión. Para conservar ese inicio de sesión en nuevas sesiones, elimina la variable del perfil de tu shell y de los [archivos de configuración que pueden establecerla](https://code.claude.com/docs/es/settings-reference.md#variables-claude-code-ignores-in-env), como tu configuración de usuario.

2556. Credenciales de perfil de Anthropic y de federación, las credenciales que utiliza la CLI `ant` y Workload Identity Federation. Un perfil que `ant auth login` escribió se clasifica aquí solo cuando lo nombra en `ANTHROPIC_PROFILE`; de lo contrario, se clasifica por debajo de `/login`. Consulte [Perfiles de Anthropic y credenciales de federación](#anthropic-profiles-and-federation-credentials).2556. Credenciales de perfil de Anthropic y de federación, las credenciales que utiliza la CLI `ant` y Workload Identity Federation. Un perfil que `ant auth login` escribió se clasifica aquí solo cuando lo nombra en `ANTHROPIC_PROFILE`; de lo contrario, se clasifica por debajo de `/login`. Consulte [Perfiles de Anthropic y credenciales de federación](#anthropic-profiles-and-federation-credentials).

2567. Credenciales OAuth de suscripción de `/login`. Esta es la opción predeterminada para los usuarios de Claude Pro, Max, Ultra, Team y Enterprise.2567. Credenciales OAuth de suscripción de `/login`. Esta es la opción predeterminada para los usuarios de Claude Pro, Max, Ultra, Team y Enterprise.

257 257 

Details

603>603>

604> Una ejecución `claude -p --worktree` es una que limpias tú mismo, ya que termina sin preguntar. Elimínalas con `git worktree remove <path>` y, si git se niega porque el worktree está bloqueado, primero ejecuta `git worktree unlock <path>`.604> Una ejecución `claude -p --worktree` es una que limpias tú mismo, ya que termina sin preguntar. Elimínalas con `git worktree remove <path>` y, si git se niega porque el worktree está bloqueado, primero ejecuta `git worktree unlock <path>`.

605 605 

606Para un gran cambio mecánico en muchos archivos, [`/batch migrate every handler to the v2 response helpers`](https://code.claude.com/docs/es/commands) divide el trabajo en entre 5 y 30 unidades y te muestra el plan. Luego ejecuta cada unidad en su propio worktree y abre un PR para ella. Desde tu shell, [`claude agents`](https://code.claude.com/docs/es/agent-view) (todavía en vista previa de investigación) te da una sola pantalla para todo lo que se ejecuta en segundo plano en tu máquina.606Para un gran cambio mecánico en muchos archivos, [`/batch migrate every handler to the v2 response helpers`](https://code.claude.com/docs/es/commands) divide el trabajo en entre 5 y 30 unidades y te muestra el plan. Una vez que lo apruebas, cada unidad obtiene su propio worktree y abre un PR o informa lo que ocurrió. Desde tu shell, [`claude agents`](https://code.claude.com/docs/es/agent-view) (todavía en vista previa de investigación) te da una sola pantalla para todo lo que se ejecuta en segundo plano en tu máquina.

607 607 

608Una segunda sesión es también el revisor independiente más fácil que puedes conseguir. Una sesión escribe el limitador de velocidad, otra revisa `@src/middleware/rateLimiter.ts` sin haber visto cómo se escribía, y tú pegas los hallazgos de vuelta en la primera. Es la misma idea que `/code-review`, pero eres tú quien lleva los mensajes.608Una segunda sesión es también el revisor independiente más fácil que puedes conseguir. Una sesión escribe el limitador de velocidad, otra revisa `@src/middleware/rateLimiter.ts` sin haber visto cómo se escribía, y tú pegas los hallazgos de vuelta en la primera. Es la misma idea que `/code-review`, pero eres tú quien lleva los mensajes.

609 609 

Details

85| `--desktop` | Abre la [aplicación Claude Desktop](https://code.claude.com/docs/es/desktop.md) en el directorio actual y sale sin iniciar una sesión en la terminal. Añade `--continue`, o `--resume` con un ID de sesión, para [abrir esa sesión en Desktop](https://code.claude.com/docs/es/desktop.md#coming-from-the-cli) en su lugar. `--resume` aquí toma solo un ID de sesión, no un nombre o ruta de transcripción. No toma indicador ni otras banderas excepto `--verbose` y las banderas `--debug`, ya que la aplicación inicia la sesión por sí misma. Disponible en macOS y Windows x64 cuando estés conectado con una suscripción de Claude. Requiere Claude Code v2.1.285 o posterior | `claude --desktop` |85| `--desktop` | Abre la [aplicación Claude Desktop](https://code.claude.com/docs/es/desktop.md) en el directorio actual y sale sin iniciar una sesión en la terminal. Añade `--continue`, o `--resume` con un ID de sesión, para [abrir esa sesión en Desktop](https://code.claude.com/docs/es/desktop.md#coming-from-the-cli) en su lugar. `--resume` aquí toma solo un ID de sesión, no un nombre o ruta de transcripción. No toma indicador ni otras banderas excepto `--verbose` y las banderas `--debug`, ya que la aplicación inicia la sesión por sí misma. Disponible en macOS y Windows x64 cuando estés conectado con una suscripción de Claude. Requiere Claude Code v2.1.285 o posterior | `claude --desktop` |

86| `--disable-slash-commands` | Deshabilita todos los skills y comandos para esta sesión | `claude --disable-slash-commands` |86| `--disable-slash-commands` | Deshabilita todos los skills y comandos para esta sesión | `claude --disable-slash-commands` |

87| `--disallowedTools`, `--disallowed-tools` | Reglas de negación. Un nombre de herramienta desnudo elimina las herramientas coincidentes del contexto de Claude: `"Edit"` elimina Edit, `"*"` elimina todas las herramientas, y `"mcp__*"` elimina todas las herramientas MCP. Una regla con alcance como `Bash(rm *)` deja la herramienta disponible y niega solo llamadas que coincidan [como se escriben](https://code.claude.com/docs/es/permissions.md#bash-rule-limits). Una regla que nombra [`EndConversation`](https://code.claude.com/docs/es/tools-reference#endconversation-tool-behavior) no puede eliminarla mientras cualquier otra herramienta permanezca | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |87| `--disallowedTools`, `--disallowed-tools` | Reglas de negación. Un nombre de herramienta desnudo elimina las herramientas coincidentes del contexto de Claude: `"Edit"` elimina Edit, `"*"` elimina todas las herramientas, y `"mcp__*"` elimina todas las herramientas MCP. Una regla con alcance como `Bash(rm *)` deja la herramienta disponible y niega solo llamadas que coincidan [como se escriben](https://code.claude.com/docs/es/permissions.md#bash-rule-limits). Una regla que nombra [`EndConversation`](https://code.claude.com/docs/es/tools-reference#endconversation-tool-behavior) no puede eliminarla mientras cualquier otra herramienta permanezca | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |

88| `--effort` | Establece el [nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) para la sesión actual. Opciones: `low`, `medium`, `high`, `xhigh`, `max`, o `ultracode`. Los niveles disponibles dependen del modelo. `ultracode` solicita esfuerzo `xhigh` con [ultracode](https://code.claude.com/docs/es/workflows.md#let-claude-decide-with-ultracode) activado, y requiere Claude Code v2.1.203 o posterior. Anula la configuración [`modelSettings`](https://code.claude.com/docs/es/settings-reference#modelsettings) y [`effortLevel`](https://code.claude.com/docs/es/settings-reference#effortlevel) para esta sesión y no persiste | `claude --effort high` |88| `--effort` | Establece el [nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) para la sesión actual. Opciones: `low`, `medium`, `high`, `xhigh`, `max`, o `ultracode`. Los niveles disponibles dependen del modelo. `ultracode` solicita esfuerzo `xhigh` con [ultracode](https://code.claude.com/docs/es/workflows.md#let-claude-decide-with-ultracode) activado, y requiere Claude Code v2.1.203 o posterior. En el modelo de la conversación principal, sobrescribe los ajustes [`modelSettings`](https://code.claude.com/docs/es/settings-reference#modelsettings) y [`effortLevel`](https://code.claude.com/docs/es/settings-reference#effortlevel) para esta sesión y no persiste | `claude --effort high` |

89| `--enable-auto-mode` | Eliminado en v2.1.111. El modo automático ahora está en el ciclo `Shift+Tab` por defecto; usa `--permission-mode auto` para comenzar en él | `claude --permission-mode auto` |89| `--enable-auto-mode` | Eliminado en v2.1.111. El modo automático ahora está en el ciclo `Shift+Tab` por defecto; usa `--permission-mode auto` para comenzar en él | `claude --permission-mode auto` |

90| `--environment <environment-id>` | Crea una nueva sesión en la nube que se ejecuta en el [entorno autohospedado](https://code.claude.com/docs/es/self-hosted-environments) con el ID dado. Los IDs de entorno comienzan con `ccpool_`. Consulta [comportamiento de envío de `--environment`](https://code.claude.com/docs/es/self-hosted-environments-testing#environment-dispatch-behavior) para el comportamiento de envío y las combinaciones de banderas que rechaza. Requiere Claude Code v2.1.224 o posterior | `claude -p "Fix the login bug" --environment ccpool_abc123` |90| `--environment <environment-id>` | Crea una nueva sesión en la nube que se ejecuta en el [entorno autohospedado](https://code.claude.com/docs/es/self-hosted-environments) con el ID dado. Los IDs de entorno comienzan con `ccpool_`. Consulta [comportamiento de envío de `--environment`](https://code.claude.com/docs/es/self-hosted-environments-testing#environment-dispatch-behavior) para el comportamiento de envío y las combinaciones de banderas que rechaza. Requiere Claude Code v2.1.224 o posterior | `claude -p "Fix the login bug" --environment ccpool_abc123` |

91| `--exclude-dynamic-system-prompt-sections` | Mueve contexto por usuario, como la ubicación de memoria automática, fuera del indicador del sistema y hacia el primer mensaje del usuario. Mejora la reutilización de caché de indicadores entre diferentes usuarios y máquinas que ejecutan la misma tarea. Solo se aplica con el indicador del sistema predeterminado; se ignora cuando se establece `--system-prompt` o `--system-prompt-file`. Usa con `-p` para cargas de trabajo con script y multiusuario | `claude -p --exclude-dynamic-system-prompt-sections "query"` |91| `--exclude-dynamic-system-prompt-sections` | Mueve contexto por usuario, como la ubicación de memoria automática, fuera del indicador del sistema y hacia el primer mensaje del usuario. Mejora la reutilización de caché de indicadores entre diferentes usuarios y máquinas que ejecutan la misma tarea. Solo se aplica con el indicador del sistema predeterminado; se ignora cuando se establece `--system-prompt` o `--system-prompt-file`. Usa con `-p` para cargas de trabajo con script y multiusuario | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

Details

33 33 

34**2. Sigue trabajando**34**2. Sigue trabajando**

35 35 

36La revisión se ejecuta como un [subagente](https://code.claude.com/docs/es/sub-agents.md) en segundo plano con su propia ventana de contexto, así que no llena tu conversación. Los hallazgos llegan a tu conversación cuando la revisión termina.36En una sesión de terminal, la revisión se ejecuta como un [subagente](https://code.claude.com/docs/es/sub-agents.md) en segundo plano con su propia ventana de contexto, así que no llena tu conversación. Los hallazgos llegan a tu conversación cuando la revisión termina.

37 37 

38**3. Actúa sobre los hallazgos**38**3. Actúa sobre los hallazgos**

39 39 

commands.md +1 −1

Details

59| `/autocompact [auto\|<tokens>]` | Establece la ventana de compactación automática: qué tan llena se pone la ventana de contexto antes de que Claude Code compacte automáticamente. Pasa un tamaño como `500k`, o `auto` para volver a la ventana ajustada para tu modelo. Claude Code guarda el valor en la configuración de usuario y lo aplica a la sesión actual. Consulta [Establecer la ventana de compactación automática](https://code.claude.com/docs/es/model-config.md#set-the-auto-compact-window) para ver los valores aceptados y qué lo sobrescribe. Sin argumento, abre un diálogo que muestra la ventana actual. Requiere Claude Code v2.1.221 o posterior |59| `/autocompact [auto\|<tokens>]` | Establece la ventana de compactación automática: qué tan llena se pone la ventana de contexto antes de que Claude Code compacte automáticamente. Pasa un tamaño como `500k`, o `auto` para volver a la ventana ajustada para tu modelo. Claude Code guarda el valor en la configuración de usuario y lo aplica a la sesión actual. Consulta [Establecer la ventana de compactación automática](https://code.claude.com/docs/es/model-config.md#set-the-auto-compact-window) para ver los valores aceptados y qué lo sobrescribe. Sin argumento, abre un diálogo que muestra la ventana actual. Requiere Claude Code v2.1.221 o posterior |

60| `/autofix-pr [prompt]` | Inicia una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md#auto-fix-pull-requests) que vigila el PR de la rama actual y envía correcciones cuando falla la CI o los revisores dejan comentarios. Detecta el PR abierto desde tu rama activa con `gh pr view`; para vigilar otro PR, primero cambia a su rama. De forma predeterminada, se le indica a la sesión en la nube que corrija cada falla de CI y cada comentario de revisión; pasa un prompt para darle instrucciones diferentes, por ejemplo `/autofix-pr only fix lint and type errors`. Requiere la CLI `gh` y acceso a [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) |60| `/autofix-pr [prompt]` | Inicia una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md#auto-fix-pull-requests) que vigila el PR de la rama actual y envía correcciones cuando falla la CI o los revisores dejan comentarios. Detecta el PR abierto desde tu rama activa con `gh pr view`; para vigilar otro PR, primero cambia a su rama. De forma predeterminada, se le indica a la sesión en la nube que corrija cada falla de CI y cada comentario de revisión; pasa un prompt para darle instrucciones diferentes, por ejemplo `/autofix-pr only fix lint and type errors`. Requiere la CLI `gh` y acceso a [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) |

61| `/background [prompt]` | Separa la sesión actual para que se ejecute como un [agente en segundo plano](https://code.claude.com/docs/es/agent-view.md) y libera esta terminal. Pasa un prompt para enviar una instrucción más antes de separarla. Supervisa la sesión con `claude agents`. Para copiar la conversación en una nueva sesión en segundo plano mientras esta sigue ejecutándose, usa `/fork`. Alias: `/bg` |61| `/background [prompt]` | Separa la sesión actual para que se ejecute como un [agente en segundo plano](https://code.claude.com/docs/es/agent-view.md) y libera esta terminal. Pasa un prompt para enviar una instrucción más antes de separarla. Supervisa la sesión con `claude agents`. Para copiar la conversación en una nueva sesión en segundo plano mientras esta sigue ejecutándose, usa `/fork`. Alias: `/bg` |

62| `/batch <instruction>` | **[Skill](https://code.claude.com/docs/es/skills.md#bundled-skills).** Orquesta cambios a gran escala en una base de código en paralelo. Investiga la base de código, descompone el trabajo en entre 5 y 30 unidades independientes y presenta un plan. Una vez aprobado, inicia un [subagente en segundo plano](https://code.claude.com/docs/es/sub-agents.md#run-subagents-in-foreground-or-background) por unidad en un [worktree](https://code.claude.com/docs/es/worktrees.md) aislado. Cada subagente implementa su unidad, ejecuta pruebas y publica su cambio. Requiere un repositorio git o un [hook `WorktreeCreate`](https://code.claude.com/docs/es/worktrees#non-git-version-control) que cree los worktrees. Fuera de un repositorio git, `/batch` requiere Claude Code v2.1.281 o posterior. Ejemplo: `/batch migrate src/ from JavaScript to TypeScript` |62| `/batch <instruction>` | **[Skill](https://code.claude.com/docs/es/skills.md#bundled-skills).** Orquesta cambios a gran escala en una base de código en paralelo. Investiga la base de código, descompone el trabajo en entre 5 y 30 unidades independientes y presenta un plan. Una vez aprobado, inicia un [subagente en segundo plano](https://code.claude.com/docs/es/sub-agents.md#run-subagents-in-foreground-or-background) por unidad en un [worktree](https://code.claude.com/docs/es/worktrees.md) aislado. Cada subagente implementa su unidad, ejecuta pruebas y abre un PR o informa lo que sucedió. Requiere un repositorio git o un [hook `WorktreeCreate`](https://code.claude.com/docs/es/worktrees#non-git-version-control) que cree los worktrees. Fuera de un repositorio git, `/batch` requiere Claude Code v2.1.281 o posterior. Ejemplo: `/batch migrate src/ from JavaScript to TypeScript` |

63| `/branch [name]` | Crea una rama de la conversación actual en este punto, para que puedas probar una dirección diferente sin perder la conversación tal como está. Te cambia a la rama y conserva la original, a la que puedes volver con `/resume`. Para ejecutar una copia como una [sesión en segundo plano](https://code.claude.com/docs/es/agent-view.md) separada en lugar de cambiarte a ella, usa `/fork`; para entregar una tarea secundaria a un [subagente](https://code.claude.com/docs/es/sub-agents.md) que informe de vuelta en esta conversación, usa `/subtask` |63| `/branch [name]` | Crea una rama de la conversación actual en este punto, para que puedas probar una dirección diferente sin perder la conversación tal como está. Te cambia a la rama y conserva la original, a la que puedes volver con `/resume`. Para ejecutar una copia como una [sesión en segundo plano](https://code.claude.com/docs/es/agent-view.md) separada en lugar de cambiarte a ella, usa `/fork`; para entregar una tarea secundaria a un [subagente](https://code.claude.com/docs/es/sub-agents.md) que informe de vuelta en esta conversación, usa `/subtask` |

64| `/btw [question]` | Haz una [pregunta secundaria](https://code.claude.com/docs/es/interactive-mode.md#side-questions-with-%2Fbtw) sobre la sesión actual sin agregarla a la conversación. Si ejecutas `/btw` sin una pregunta, Claude Code muestra tu pregunta secundaria más reciente para que puedas explorar respuestas anteriores; si aún no has hecho ninguna, Claude Code imprime una línea de uso |64| `/btw [question]` | Haz una [pregunta secundaria](https://code.claude.com/docs/es/interactive-mode.md#side-questions-with-%2Fbtw) sobre la sesión actual sin agregarla a la conversación. Si ejecutas `/btw` sin una pregunta, Claude Code muestra tu pregunta secundaria más reciente para que puedas explorar respuestas anteriores; si aún no has hecho ninguna, Claude Code imprime una línea de uso |

65| `/bug [report]` | Informa un error o comparte tu conversación. Eliges cuánto historial de la sesión incluir y confirmas en una pantalla de consentimiento antes de que se envíe nada. Cuando iniciaste sesión en Anthropic con una conexión de primera parte, el informe va a Anthropic; con un proveedor externo, o sin credenciales de Anthropic, Claude Code escribe el informe en un [archivo local en `~/.claude/feedback-bundles/`](https://code.claude.com/docs/es/data-usage#telemetry-services) que reenvías tú mismo. En la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md#use-the-prompt-box), `/bug` abre en su lugar el diálogo de comentarios propio de la extensión; requiere Claude Code v2.1.229 o posterior. Cuando lo ejecutas mientras Claude está respondiendo, Claude Code abre el diálogo de inmediato. Antes de v2.1.232, Claude Code ponía el comando en cola hasta que terminaba el turno. Alias: `/share`. Antes de v2.1.212, `/bug` y `/share` eran alias de `/feedback` |65| `/bug [report]` | Informa un error o comparte tu conversación. Eliges cuánto historial de la sesión incluir y confirmas en una pantalla de consentimiento antes de que se envíe nada. Cuando iniciaste sesión en Anthropic con una conexión de primera parte, el informe va a Anthropic; con un proveedor externo, o sin credenciales de Anthropic, Claude Code escribe el informe en un [archivo local en `~/.claude/feedback-bundles/`](https://code.claude.com/docs/es/data-usage#telemetry-services) que reenvías tú mismo. En la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md#use-the-prompt-box), `/bug` abre en su lugar el diálogo de comentarios propio de la extensión; requiere Claude Code v2.1.229 o posterior. Cuando lo ejecutas mientras Claude está respondiendo, Claude Code abre el diálogo de inmediato. Antes de v2.1.232, Claude Code ponía el comando en cola hasta que terminaba el turno. Alias: `/share`. Antes de v2.1.212, `/bug` y `/share` eran alias de `/feedback` |

env-vars.md +3 −3

Details

335| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Establécela en `1` para escribir la salida de la terminal a través de un segundo descriptor de archivo no bloqueante, de modo que una terminal que deja de leer, como un panel de tmux en modo de control en pausa o una conexión SSH detenida, no pueda congelar Claude Code a mitad de la sesión. Se aplica en macOS, Linux y WSL cuando stdout es una terminal. Requiere Claude Code v2.1.261 o posterior |335| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Establécela en `1` para escribir la salida de la terminal a través de un segundo descriptor de archivo no bloqueante, de modo que una terminal que deja de leer, como un panel de tmux en modo de control en pausa o una conexión SSH detenida, no pueda congelar Claude Code a mitad de la sesión. Se aplica en macOS, Linux y WSL cuando stdout es una terminal. Requiere Claude Code v2.1.261 o posterior |

336| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Limita cuántas veces Claude Code vuelve a enviar una [solicitud sin streaming](https://code.claude.com/docs/es/errors.md#streaming-response-ended-before-any-complete-data-was-received) cuyo tiempo de espera se agota. Con `0`, la solicitud falla al primer agotamiento del tiempo de espera. Consulta [Ajustar el comportamiento de reintento](https://code.claude.com/docs/es/errors.md#tune-retry-behavior) para el tiempo de espera. Requiere Claude Code v2.1.285 o posterior |336| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Limita cuántas veces Claude Code vuelve a enviar una [solicitud sin streaming](https://code.claude.com/docs/es/errors.md#streaming-response-ended-before-any-complete-data-was-received) cuyo tiempo de espera se agota. Con `0`, la solicitud falla al primer agotamiento del tiempo de espera. Consulta [Ajustar el comportamiento de reintento](https://code.claude.com/docs/es/errors.md#tune-retry-behavior) para el tiempo de espera. Requiere Claude Code v2.1.285 o posterior |

337| `CLAUDE_CODE_NO_FLICKER` | Establécela en `1` para habilitar la [representación en pantalla completa](https://code.claude.com/docs/es/fullscreen.md), una vista previa de investigación que reduce el parpadeo y mantiene estable el uso de memoria en conversaciones largas. Sobrescribe el ajuste [`tui`](https://code.claude.com/docs/es/settings-reference#tui); también puedes cambiar con `/tui fullscreen` |337| `CLAUDE_CODE_NO_FLICKER` | Establécela en `1` para habilitar la [representación en pantalla completa](https://code.claude.com/docs/es/fullscreen.md), una vista previa de investigación que reduce el parpadeo y mantiene estable el uso de memoria en conversaciones largas. Sobrescribe el ajuste [`tui`](https://code.claude.com/docs/es/settings-reference#tui); también puedes cambiar con `/tui fullscreen` |

338| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token de actualización de OAuth para la autenticación de Claude.ai. Cuando se establece, `claude auth login` intercambia este token directamente en lugar de abrir un navegador. Requiere `CLAUDE_CODE_OAUTH_SCOPES`. Útil para aprovisionar la autenticación en entornos automatizados |338| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Token de actualización de OAuth para la autenticación de claude.ai. Cuando se establece, `claude auth login` intercambia este token directamente en lugar de abrir un navegador. Requiere `CLAUDE_CODE_OAUTH_SCOPES`. Útil para aprovisionar la autenticación en entornos automatizados. Se ignora en la [configuración de proyecto y local](https://code.claude.com/docs/es/settings-reference.md#variables-claude-code-ignores-in-env) |

339| `CLAUDE_CODE_OAUTH_SCOPES` | Alcances de OAuth separados por espacios con los que se emitió el token de actualización, como `"user:profile user:inference user:sessions:claude_code"`. Necesaria cuando se establece `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` |339| `CLAUDE_CODE_OAUTH_SCOPES` | Alcances de OAuth separados por espacios con los que se emitió el token de actualización, como `"user:profile user:inference user:sessions:claude_code"`. Obligatoria cuando se establece `CLAUDE_CODE_OAUTH_REFRESH_TOKEN`. Se ignora en la [configuración de proyecto y local](https://code.claude.com/docs/es/settings-reference.md#variables-claude-code-ignores-in-env) |

340| `CLAUDE_CODE_OAUTH_TOKEN` | Token de acceso de OAuth para la autenticación de claude.ai. Alternativa a `/login` para el SDK y entornos automatizados. Tiene precedencia sobre las credenciales almacenadas en el llavero. Genera uno con [`claude setup-token`](https://code.claude.com/docs/es/authentication#generate-a-long-lived-token). A menos que ejecutes [`/login`](https://code.claude.com/docs/es/authentication#authentication-precedence), Claude Code usa el token que estableces durante toda la sesión. Para reemplazar un token caducado, genera uno nuevo y reinicia |340| `CLAUDE_CODE_OAUTH_TOKEN` | Token de acceso de OAuth para la autenticación de claude.ai. Alternativa a `/login` para entornos de SDK y automatizados. Se ignora en la [configuración de proyecto y local](https://code.claude.com/docs/es/settings-reference.md#variables-claude-code-ignores-in-env). Tiene precedencia sobre las credenciales almacenadas en el llavero. Genera uno con [`claude setup-token`](https://code.claude.com/docs/es/authentication#generate-a-long-lived-token). A menos que ejecutes [`/login`](https://code.claude.com/docs/es/authentication#authentication-precedence), Claude Code usa el token que estableciste durante toda la sesión. Para reemplazar un token caducado, genera uno nuevo y reinicia |

341| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Eliminada en la v2.1.160 y ahora no tiene efecto. Antes fijaba el [modo rápido](https://code.claude.com/docs/es/fast-mode.md) en Claude Opus 4.6 en lugar del valor predeterminado actual. Opus 4.6 ya no admite el modo rápido |341| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Eliminada en la v2.1.160 y ahora no tiene efecto. Antes fijaba el [modo rápido](https://code.claude.com/docs/es/fast-mode.md) en Claude Opus 4.6 en lugar del valor predeterminado actual. Opus 4.6 ya no admite el modo rápido |

342| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Longitud máxima de los atributos de OpenTelemetry que contienen contenido (respuestas del modelo, contenido de herramientas, prompts del sistema, cuerpos sin procesar de la API), incluido el marcador de truncamiento, en unidades de código UTF-16 (predeterminado: 61440, es decir, 60 KB). Auméntala solo si tu backend de telemetría acepta valores de atributos de más de 64 KB, o redúcela para disminuir el volumen de telemetría. Requiere Claude Code v2.1.214 o posterior. Consulta [Monitoreo](https://code.claude.com/docs/es/monitoring-usage.md) |342| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Longitud máxima de los atributos de OpenTelemetry que contienen contenido (respuestas del modelo, contenido de herramientas, prompts del sistema, cuerpos sin procesar de la API), incluido el marcador de truncamiento, en unidades de código UTF-16 (predeterminado: 61440, es decir, 60 KB). Auméntala solo si tu backend de telemetría acepta valores de atributos de más de 64 KB, o redúcela para disminuir el volumen de telemetría. Requiere Claude Code v2.1.214 o posterior. Consulta [Monitoreo](https://code.claude.com/docs/es/monitoring-usage.md) |

343| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Establécela en `1` para escribir en stderr los errores de diagnóstico del exportador de OpenTelemetry. De forma predeterminada, estos errores solo aparecen con `--debug`, por lo que un exportador mal configurado, como una colisión de puertos de Prometheus, falla silenciosamente en otro caso. Requiere Claude Code v2.1.179 o posterior. Consulta [Monitoreo](https://code.claude.com/docs/es/monitoring-usage.md) |343| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Establécela en `1` para escribir en stderr los errores de diagnóstico del exportador de OpenTelemetry. De forma predeterminada, estos errores solo aparecen con `--debug`, por lo que un exportador mal configurado, como una colisión de puertos de Prometheus, falla silenciosamente en otro caso. Requiere Claude Code v2.1.179 o posterior. Consulta [Monitoreo](https://code.claude.com/docs/es/monitoring-usage.md) |

errors.md +25 −6

Details

66| `This organization has been disabled` | [Autenticación](#this-organization-has-been-disabled) |66| `This organization has been disabled` | [Autenticación](#this-organization-has-been-disabled) |

67| `Your organization has disabled API key authentication` | [Autenticación](#your-organization-has-disabled-api-key-authentication) |67| `Your organization has disabled API key authentication` | [Autenticación](#your-organization-has-disabled-api-key-authentication) |

68| `Your organization has disabled Claude subscription access` | [Autenticación](#your-organization-has-disabled-claude-subscription-access) |68| `Your organization has disabled Claude subscription access` | [Autenticación](#your-organization-has-disabled-claude-subscription-access) |

69| `Routines are disabled by your organization's policy` | [Autenticación](#routines-are-disabled-by-your-organizations-policy) |69| `Scheduled tasks are off for your organization` | [Autenticación](#routines-are-disabled-by-your-organizations-policy) |

70| `Routines are off for your organization` | [Autenticación](#routines-are-disabled-by-your-organizations-policy) |

70| `Remote Control is only available when using Claude via api.anthropic.com` | [Autenticación](#remote-control-requires-the-anthropic-api) |71| `Remote Control is only available when using Claude via api.anthropic.com` | [Autenticación](#remote-control-requires-the-anthropic-api) |

71| `OAuth token refresh failed — run /login to re-authenticate` | [Autenticación](#remote-control-couldnt-refresh-your-login) |72| `OAuth token refresh failed — run /login to re-authenticate` | [Autenticación](#remote-control-couldnt-refresh-your-login) |

72| `JWT refresh failed: no OAuth token — run /login` | [Autenticación](#remote-control-couldnt-refresh-your-login) |73| `JWT refresh failed: no OAuth token — run /login` | [Autenticación](#remote-control-couldnt-refresh-your-login) |


755Auto mode is unavailable — the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode.756Auto mode is unavailable — the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode.

756```757```

757 758 

759Algunas denegaciones no cuentan para las diez, incluida [una denegación por el cambio de un hook o mod](#hook-changed-input-after-review).

760 

758El mensaje de detención aparece en un lugar distinto en cada tipo de sesión:761El mensaje de detención aparece en un lugar distinto en cada tipo de sesión:

759 762 

760* En una sesión interactiva, el mensaje aparece como advertencia en la transcripción y el turno termina763* En una sesión interactiva, el mensaje aparece como advertencia en la transcripción y el turno termina


774 777 

775Antes de v2.1.302, en una conexión directa a la API de Anthropic, Claude Code no compactaba una conversación que se había vuelto demasiado larga para la verificación del servidor.778Antes de v2.1.302, en una conexión directa a la API de Anthropic, Claude Code no compactaba una conversación que se había vuelto demasiado larga para la verificación del servidor.

776 779 

780#### `a hook changed this call's input after auto mode reviewed it`

781 

782Esta denegación significa que un hook o mod [cambió la entrada de la llamada](https://code.claude.com/docs/es/hooks.md#pretooluse-updatedinput-in-auto-mode) después de que el servidor la revisó, así que la revisión no cubre lo que se ejecutaría. No es un juicio de que la acción sea insegura.

783 

784Las llamadas posteriores en la misma respuesta de Claude pueden denegarse con este motivo:

785 

786```text theme={null}

787another call in this response was changed by a hook after auto mode reviewed it, or could not be confirmed unchanged

788```

789 

790Claude puede entonces volver a emitir cada llamada denegada para que el servidor la revise. Si se abre una solicitud de permiso, respóndela. No necesitas hacer nada más, a menos que Claude diga en su respuesta que el modo automático no pudo verificar la llamada. En ese caso, detén el cambio o aprueba la llamada tú mismo, y pídele a Claude que vuelva a intentar la llamada:

791 

792* **Detener el cambio**: desactiva el [hook](https://code.claude.com/docs/es/hooks.md#disable-or-remove-hooks) o [mod](https://code.claude.com/docs/es/plugins/mods/overview.md#turn-mods-on-or-off) que cambió la llamada o una llamada anterior en la misma respuesta de Claude, o pídele a tu administrador que lo desactive. Para buscar un hook, ejecuta [`/hooks`](https://code.claude.com/docs/es/hooks#the-%2Fhooks-menu) en el prompt de Claude Code. En una sesión de terminal, ejecuta `/plugin` para ver los mods activos.

793* **Aprobar la llamada tú mismo**: [cambia al modo Manual](https://code.claude.com/docs/es/permission-modes.md#switch-permission-modes)

794 

777### Was not reviewed and did not run795### Was not reviewed and did not run

778 796 

779Una denegación `was not reviewed and did not run` significa que la conversación es demasiado larga para que el clasificador del [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode) verifique la acción, así que la acción no se ejecutó. Claude Code le devuelve este mensaje a Claude:797Una denegación `was not reviewed and did not run` significa que la conversación es demasiado larga para que el clasificador del [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode) verifique la acción, así que la acción no se ejecutó. Claude Code le devuelve este mensaje a Claude:


1188* Autentícate con una clave de API de Console en lugar de tu suscripción. Consulta [Autenticación con Claude Console](https://code.claude.com/docs/es/authentication.md#claude-console-authentication) para configurarla.1206* Autentícate con una clave de API de Console en lugar de tu suscripción. Consulta [Autenticación con Claude Console](https://code.claude.com/docs/es/authentication.md#claude-console-authentication) para configurarla.

1189* Si eres el administrador y no ves ninguna opción para habilitar el acceso, contacta con el [soporte de Anthropic](https://support.claude.com)1207* Si eres el administrador y no ves ninguna opción para habilitar el acceso, contacta con el [soporte de Anthropic](https://support.claude.com)

1190 1208 

1191### Las rutinas están deshabilitadas por la política de tu organización1209### Scheduled tasks are off for your organization

1192 1210 

1193Un Owner de tu organización Team o Enterprise desactivó las [tareas programadas en la nube](https://code.claude.com/docs/es/routines.md), antes llamadas rutinas, a nivel de organización. El error aparece cuando intentas crear o ejecutar una, por ejemplo, en [claude.ai/code/routines](https://claude.ai/code/routines). En Claude Code v2.1.227 o posterior, el mismo ajuste también [oculta `/schedule`](https://code.claude.com/docs/es/routines#troubleshooting) en la CLI.1211Las [tareas programadas en la nube](https://code.claude.com/docs/es/routines.md) están desactivadas para tu organización, así que no puedes crearlas ni ejecutarlas. El mensaje de claude.ai las llama tareas programadas o rutinas, y le sigue una frase sobre tu administrador:

1194 1212 

1195```text theme={null}1213```text theme={null}

1196Routines are disabled by your organization's policy.1214Scheduled tasks are off for your organization. …

1215Routines are off for your organization. …

1197```1216```

1198 1217 

1199Se trata de un ajuste del lado del servidor, así que no se puede sobrescribir desde la configuración local, las variables de entorno ni los flags de la CLI.1218No puedes activarlas con la configuración local, las variables de entorno ni los flags de la CLI.

1200 1219 

1201**Qué hacer:**1220**Qué hacer:**

1202 1221 

1203* Pide a un Owner de tu organización que active el interruptor **Scheduled tasks (Was Routines)** en [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities)1222* Pregunta al Owner de tu plan Team o Enterprise si puede activar el interruptor con la etiqueta **Scheduled tasks (Was Routines)** o **Routines** en [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities)

1204 1223 

1205### Remote Control requiere la API de Anthropic1224### Remote Control requiere la API de Anthropic

1206 1225 

Details

197* **Si aceptas**: Claude Code escribe el nuevo ID de modelo en tu [archivo de configuración de usuario](https://code.claude.com/docs/es/settings.md) y se reinicia197* **Si aceptas**: Claude Code escribe el nuevo ID de modelo en tu [archivo de configuración de usuario](https://code.claude.com/docs/es/settings.md) y se reinicia

198* **Si rechazas**: Claude Code recuerda tu elección hasta el próximo cambio de versión predeterminada198* **Si rechazas**: Claude Code recuerda tu elección hasta el próximo cambio de versión predeterminada

199 199 

200Para una fijación en el bloque `env` de la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md), Claude Code no ejecuta ninguna verificación ni muestra ninguna solicitud.200Para una fijación en el bloque `env` de la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md), Claude Code no ejecuta ninguna verificación ni muestra ninguna solicitud. Si la solicitud de actualización sigue apareciendo para esta fijación, actualiza Claude Code a la v2.1.314 o posterior. Antes de la v2.1.314, la fijación administrada seguía vigente después de que aceptabas, por lo que la solicitud volvía a aparecer en el siguiente inicio.

201 201 

202Si no ha fijado un modelo y el valor predeterminado actual no está disponible en su proyecto, Claude Code retrocede para la sesión actual y muestra un aviso. Intenta primero versiones anteriores del modelo predeterminado y, cuando el valor predeterminado es un modelo Opus y no hay ninguna versión de Opus disponible, retrocede al modelo Sonnet predeterminado. El retroceso no se persiste. Habilite el modelo más reciente en [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) o [fije una versión](#5-pin-model-versions) para hacer la opción permanente.202Si no ha fijado un modelo y el valor predeterminado actual no está disponible en su proyecto, Claude Code retrocede para la sesión actual y muestra un aviso. Intenta primero versiones anteriores del modelo predeterminado y, cuando el valor predeterminado es un modelo Opus y no hay ninguna versión de Opus disponible, retrocede al modelo Sonnet predeterminado. El retroceso no se persiste. Habilite el modelo más reciente en [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) o [fije una versión](#5-pin-model-versions) para hacer la opción permanente.

203 203 

204### Iniciar una sesión en un modelo específico

205 

204Cuando inicia la sesión en una versión específica de Sonnet u Opus, por ejemplo con `--model`, `ANTHROPIC_MODEL`, o la [configuración `model`](https://code.claude.com/docs/es/settings-reference#model), esa versión actúa como el valor predeterminado fijado de la sesión para el alias `sonnet` u `opus` correspondiente. Claude Code omite la verificación de disponibilidad para el valor predeterminado integrado que su modelo reemplaza e inicia en el modelo que configuró, sin aviso de retroceso.206Cuando inicia la sesión en una versión específica de Sonnet u Opus, por ejemplo con `--model`, `ANTHROPIC_MODEL`, o la [configuración `model`](https://code.claude.com/docs/es/settings-reference#model), esa versión actúa como el valor predeterminado fijado de la sesión para el alias `sonnet` u `opus` correspondiente. Claude Code omite la verificación de disponibilidad para el valor predeterminado integrado que su modelo reemplaza e inicia en el modelo que configuró, sin aviso de retroceso.

205 207 

206Los alias de modelo como `opus` no actúan como fijaciones, ni tampoco un ID de modelo que Claude Code no reconoce.208Cuando inicias una sesión en un alias de modelo como `opus` o en un ID de modelo que Claude Code no reconoce, ese valor no actúa como fijación.

209 

210### Rechazos de modelo recordados

207 211 

208Cuando estas verificaciones encuentran un modelo que su proyecto no puede invocar, Claude Code recuerda el rechazo en esta máquina durante hasta un día, e inicia durante ese tiempo omitiendo el modelo recordado sin preguntar a Agent Platform nuevamente. Claude Code verifica un rechazo recordado de un modelo predeterminado actual nuevamente al iniciar una vez que han pasado diez minutos desde la última verificación, por lo que un valor predeterminado que su administrador vuelve a habilitar regresa. Para desactivar la memoria, establezca [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](https://code.claude.com/docs/es/env-vars).212Cuando las verificaciones de modelo al inicio encuentran un modelo que tu proyecto no puede invocar, Claude Code puede recordar el rechazo en esta máquina durante hasta un día. Una vez que han pasado diez minutos desde la última verificación, Claude Code vuelve a verificar al iniciar un rechazo recordado de un modelo predeterminado actual. Así, un valor predeterminado que tu administrador vuelve a habilitar regresa. Para desactivar la memoria, establece [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](https://code.claude.com/docs/es/env-vars).

209 213 

210### Cuando tu organización aplica una lista de modelos permitidos214### Cuando tu organización aplica una lista de modelos permitidos

211 215 

hooks.md +19 −2

Details

901 901 

902#### Bloquear la acción cuando un hook falla902#### Bloquear la acción cuando un hook falla

903 903 

904En la mayoría de los eventos, cuando un hook falla o se agota su tiempo de espera, Claude Code sigue llevando a cabo la acción. Así, un hook de política con una ruta incorrecta o un script que se bloquea deja pasar todo. Para bloquear la acción en su lugar, establece `"onFailure": "block"` en un hook `command` o `http`. Requiere Claude Code v2.1.295 o posterior.904En la mayoría de los eventos, cuando un hook falla o se agota su tiempo de espera, Claude Code sigue llevando a cabo la acción. Así, un hook de política con una ruta incorrecta o un script que se bloquea deja pasar todo. Para bloquear la acción en su lugar, establece `"onFailure": "block"` en un hook `command` o `http`. Requiere Claude Code v2.1.295 o posterior. Para los hooks de callback del Agent SDK, consulta [Bloquear la acción cuando falla un callback](https://code.claude.com/docs/es/agent-sdk/hooks.md#block-the-action-when-a-callback-fails).

905 905 

906> [!NOTE]906> [!NOTE]

907>907>


1960| :- | :- |1960| :- | :- |

1961| `permissionDecision` | `"allow"` omite la solicitud de permiso, excepto para las [acciones que ningún modo aprueba automáticamente](https://code.claude.com/docs/es/permission-modes.md#actions-no-mode-auto-approves) y las [lecturas desde rutas de red](https://code.claude.com/docs/es/permissions.md#network-paths). Tampoco omite la aprobación de llamadas a [herramientas que una aplicación del Agent SDK marca como `always_ask`](https://code.claude.com/docs/es/agent-sdk/custom-tools#require-approval-for-specific-tools), a menos que el [modo de permisos apruebe la llamada](https://code.claude.com/docs/es/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call). `AskUserQuestion` y `ExitPlanMode` necesitan [`updatedInput` junto con `"allow"`](#allow-with-updatedinput). Para el modo plan, consulta [Aprobaciones de hooks en modo plan](https://code.claude.com/docs/es/permissions.md#hook-approvals-in-plan-mode). `"deny"` impide la llamada a herramienta. `"ask"` pide al usuario que confirme. `"defer"` termina el turno para que la herramienta pueda reanudarse más adelante, y requiere el [modo no interactivo](#defer-a-tool-call-for-later) con el flag `-p`. Las [reglas de denegación y de pregunta](https://code.claude.com/docs/es/permissions.md#manage-permissions) se siguen evaluando independientemente de lo que devuelva el hook |1961| `permissionDecision` | `"allow"` omite la solicitud de permiso, excepto para las [acciones que ningún modo aprueba automáticamente](https://code.claude.com/docs/es/permission-modes.md#actions-no-mode-auto-approves) y las [lecturas desde rutas de red](https://code.claude.com/docs/es/permissions.md#network-paths). Tampoco omite la aprobación de llamadas a [herramientas que una aplicación del Agent SDK marca como `always_ask`](https://code.claude.com/docs/es/agent-sdk/custom-tools#require-approval-for-specific-tools), a menos que el [modo de permisos apruebe la llamada](https://code.claude.com/docs/es/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call). `AskUserQuestion` y `ExitPlanMode` necesitan [`updatedInput` junto con `"allow"`](#allow-with-updatedinput). Para el modo plan, consulta [Aprobaciones de hooks en modo plan](https://code.claude.com/docs/es/permissions.md#hook-approvals-in-plan-mode). `"deny"` impide la llamada a herramienta. `"ask"` pide al usuario que confirme. `"defer"` termina el turno para que la herramienta pueda reanudarse más adelante, y requiere el [modo no interactivo](#defer-a-tool-call-for-later) con el flag `-p`. Las [reglas de denegación y de pregunta](https://code.claude.com/docs/es/permissions.md#manage-permissions) se siguen evaluando independientemente de lo que devuelva el hook |

1962| `permissionDecisionReason` | Para `"ask"`, se muestra al usuario en la solicitud de permiso. Cuando Claude Code [deniega la llamada](https://code.claude.com/docs/es/headless.md#turn-off-permission-prompts-in-unattended-runs) en una ejecución `-p` en la que nadie puede responder esa solicitud, Claude lee el motivo en el resultado de la herramienta. Para `"deny"`, se muestra a Claude. Para `"allow"` y `"defer"`, solo se escribe en el [registro de depuración](#debug-hooks) |1962| `permissionDecisionReason` | Para `"ask"`, se muestra al usuario en la solicitud de permiso. Cuando Claude Code [deniega la llamada](https://code.claude.com/docs/es/headless.md#turn-off-permission-prompts-in-unattended-runs) en una ejecución `-p` en la que nadie puede responder esa solicitud, Claude lee el motivo en el resultado de la herramienta. Para `"deny"`, se muestra a Claude. Para `"allow"` y `"defer"`, solo se escribe en el [registro de depuración](#debug-hooks) |

1963| `updatedInput` | Modifica los parámetros de entrada de la herramienta antes de la ejecución. Reemplaza el objeto de entrada completo, así que incluye los campos sin cambios junto con los modificados. Claude Code evalúa las reglas de permisos y la [elegibilidad para pasar automáticamente a segundo plano](https://code.claude.com/docs/es/tools-reference.md#foreground-commands-that-move-to-the-background) de un comando de Bash con la entrada que devuelve tu hook, no con la entrada que envió Claude. Combínalo con `"allow"` para aprobar automáticamente o con `"ask"` para mostrar la entrada modificada al usuario. Para `"defer"`, se ignora |1963| `updatedInput` | Modifica los parámetros de entrada de la herramienta antes de la ejecución. Reemplaza el objeto de entrada completo, así que incluye los campos sin cambios junto con los modificados. Claude Code evalúa las reglas de permisos y la [aptitud para pasar automáticamente a segundo plano](https://code.claude.com/docs/es/tools-reference.md#foreground-commands-that-move-to-the-background) de un comando de Bash con la entrada que devuelve tu hook, no con la entrada que envió Claude. Combínalo con `"allow"` para aprobar automáticamente, o con `"ask"` para mostrar la entrada modificada al usuario. Para `"defer"`, se ignora. Sin `permissionDecision`, [el modo automático puede denegar la llamada modificada](#pretooluse-updatedinput-in-auto-mode) |

1964| `additionalContext` | Cadena que se agrega al contexto de Claude junto con el resultado de la herramienta. Se ignora cuando `permissionDecision` es `"defer"`. Consulta [Agregar contexto para Claude](#add-context-for-claude) |1964| `additionalContext` | Cadena que se agrega al contexto de Claude junto con el resultado de la herramienta. Se ignora cuando `permissionDecision` es `"defer"`. Consulta [Agregar contexto para Claude](#add-context-for-claude) |

1965 1965 

1966Cuando varios hooks PreToolUse devuelven decisiones diferentes, la precedencia es `deny` > `defer` > `ask` > `allow`.1966Cuando varios hooks PreToolUse devuelven decisiones diferentes, la precedencia es `deny` > `defer` > `ask` > `allow`.


1987>1987>

1988> PreToolUse usaba anteriormente los campos de nivel superior `decision` y `reason`, pero están obsoletos para este evento. Usa `hookSpecificOutput.permissionDecision` y `hookSpecificOutput.permissionDecisionReason` en su lugar. Los valores obsoletos `"approve"` y `"block"` se asignan a `"allow"` y `"deny"`, respectivamente. Otros eventos como PostToolUse y Stop siguen usando `decision` y `reason` de nivel superior como su formato actual.1988> PreToolUse usaba anteriormente los campos de nivel superior `decision` y `reason`, pero están obsoletos para este evento. Usa `hookSpecificOutput.permissionDecision` y `hookSpecificOutput.permissionDecisionReason` en su lugar. Los valores obsoletos `"approve"` y `"block"` se asignan a `"allow"` y `"deny"`, respectivamente. Otros eventos como PostToolUse y Stop siguen usando `decision` y `reason` de nivel superior como su formato actual.

1989 1989 

1990#### `updatedInput` de PreToolUse en modo automático

1991 

1992Cuando tu hook devuelve `updatedInput` sin `permissionDecision` en el [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode), Claude Code puede denegar la llamada modificada. [El servidor revisó](https://code.claude.com/docs/es/permission-modes.md#server-side-classifier-review) la entrada que escribió Claude, no la entrada que devolvió tu hook. En las sesiones interactivas de terminal y en las sesiones de VS Code con conexión directa a la API de Anthropic, la denegación incluye este texto:

1993 

1994```text theme={null}

1995a hook changed this call's input after auto mode reviewed it

1996```

1997 

1998Después de una denegación con este texto, Claude puede volver a emitir la llamada modificada para que el servidor la revise. Si Claude repite exactamente la entrada modificada en su siguiente respuesta, tu hook se sigue ejecutando:

1999 

2000* Puede denegar la llamada o enviarla a la solicitud de permiso

2001* Cualquier `updatedInput` que devuelva se descarta, así que lo que se ejecuta es lo que revisó el servidor

2002 

2003No necesitas cambiar tu hook por esta denegación, a menos que [Claude te indique en su respuesta que el modo automático no pudo comprobar la llamada](https://code.claude.com/docs/es/errors.md#hook-changed-input-after-review).

2004 

2005En las sesiones que muestran este texto, un [hook `command`](#command-hook-fields) en la configuración o en el archivo de hooks de un plugin puede cambiar las llamadas a Bash, PowerShell, Monitor, Edit, Write y NotebookEdit sin esta denegación. La denegación puede seguir apareciendo, por ejemplo cuando algún hook cambió una llamada anterior en la misma respuesta de Claude o cuando un comando de Bash pide ejecutarse fuera del sandbox.

2006 

1990#### Decisiones `ask` de PreToolUse en modo automático2007#### Decisiones `ask` de PreToolUse en modo automático

1991 2008 

1992En el [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode), el `"ask"` de un hook PreToolUse normalmente envía la llamada a herramienta a la solicitud de permiso, y el [clasificador](https://code.claude.com/docs/es/permission-modes.md#how-the-classifier-evaluates-actions) no la decide. Algunas llamadas siguen otro camino:2009En el [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode), el `"ask"` de un hook PreToolUse normalmente envía la llamada a herramienta a la solicitud de permiso, y el [clasificador](https://code.claude.com/docs/es/permission-modes.md#how-the-classifier-evaluates-actions) no la decide. Algunas llamadas siguen otro camino:

Details

287 287 

288### Búsqueda inversa con Ctrl+R288### Búsqueda inversa con Ctrl+R

289 289 

290Presiona `Ctrl+R` para buscar de forma interactiva en tu historial de comandos. En la [renderización a pantalla completa](https://code.claude.com/docs/es/fullscreen.md), `Ctrl+R` abre en su lugar un cuadro de diálogo de búsqueda: escribe para filtrar, presiona `Up` y `Down` para moverte entre las coincidencias y presiona `Ctrl+S` para alternar el alcance entre esta sesión, este proyecto y todos los proyectos. Presiona `Enter` o `Tab` para colocar una coincidencia en la entrada del prompt, o `Esc` para cancelar. Los pasos siguientes describen la búsqueda en línea del renderizador clásico:290Presiona `Ctrl+R` para buscar de forma interactiva en tu historial de comandos. En la [renderización a pantalla completa](https://code.claude.com/docs/es/fullscreen.md), `Ctrl+R` abre en su lugar un cuadro de diálogo de búsqueda. Escribe para filtrar en el cuadro de diálogo y presiona `Up` y `Down` para moverte por la lista de coincidencias, con un panel de vista previa que muestra el inicio de la coincidencia resaltada.

291 

292En el cuadro de diálogo, presiona `Ctrl+S` para alternar el alcance entre esta sesión, este proyecto y todos los proyectos. Presiona `Enter` o `Tab` para colocar una coincidencia en la entrada del prompt, o `Esc` para cancelar. Los pasos siguientes describen la búsqueda en línea del renderizador clásico:

291 293 

2921. **Iniciar la búsqueda**: presiona `Ctrl+R` para activar la búsqueda inversa en el historial2941. **Iniciar la búsqueda**: presiona `Ctrl+R` para activar la búsqueda inversa en el historial

2932. **Escribir la consulta**: ingresa el texto que quieres buscar en los comandos anteriores. El término de búsqueda se resalta en los resultados coincidentes2952. **Escribir la consulta**: ingresa el texto que quieres buscar en los comandos anteriores. La coincidencia actual aparece en la entrada del prompt.

2943. **Navegar por las coincidencias**: presiona `Ctrl+R` de nuevo para recorrer las coincidencias más antiguas2963. **Navegar por las coincidencias**: presiona `Ctrl+R` de nuevo para recorrer las coincidencias más antiguas

2954. **Alcance de la búsqueda**: la búsqueda en línea siempre busca prompts de todos los proyectos2974. **Alcance de la búsqueda**: la búsqueda en línea siempre busca prompts de todos los proyectos

2965. **Aceptar la coincidencia**:2985. **Aceptar la coincidencia**:


300 * Presiona `Ctrl+C` para cancelar y restaurar tu entrada original302 * Presiona `Ctrl+C` para cancelar y restaurar tu entrada original

301 * Presiona `Backspace` con la búsqueda vacía para cancelar303 * Presiona `Backspace` con la búsqueda vacía para cancelar

302 304 

303La búsqueda en línea recorre todo tu historial de prompts, empezando por los más recientes, y agrupa los duplicados en su aparición más reciente. El cuadro de diálogo a pantalla completa busca en todo tu historial de prompts dentro del alcance seleccionado, empezando por los más recientes, y agrupa los duplicados en su aparición más reciente: los prompts más recientes aparecen de inmediato, y las coincidencias de prompts más antiguos se van agregando a medida que Claude Code carga el resto. Los prompts coincidentes se muestran con el término de búsqueda resaltado, para que puedas encontrar y reutilizar entradas anteriores.

304 

305Aceptar una coincidencia o cancelar la búsqueda surte efecto de inmediato, incluso mientras Claude Code todavía está cargando el historial.305Aceptar una coincidencia o cancelar la búsqueda surte efecto de inmediato, incluso mientras Claude Code todavía está cargando el historial.

306 306 

307## Comandos Bash en segundo plano307## Comandos Bash en segundo plano

jetbrains.md +6 −2

Details

33 33 

34**1. Instalar Claude Code CLI**34**1. Instalar Claude Code CLI**

35 35 

36Siga la [guía de inicio rápido](https://code.claude.com/docs/es/quickstart.md) para instalar la CLI si aún no lo ha hecho. El plugin muestra una notificación "No se puede iniciar Claude Code" cuando `claude` no está en su PATH.36Sigue la [guía de inicio rápido](https://code.claude.com/docs/es/quickstart.md) para instalar la CLI si aún no lo has hecho. El plugin muestra una notificación "Cannot launch Claude Code" cuando `claude` no está en tu PATH.

37 37 

38**2. Instalar el plugin de JetBrains**38**2. Instalar el plugin de JetBrains**

39 39 

40Instale el [plugin de Claude Code](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) desde el Marketplace de JetBrains y reinicie su IDE.40Instala el [plugin de Claude Code](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) desde el Marketplace de JetBrains y reinicia tu IDE.

41 

42> [!NOTE]

43>

44> El Marketplace de JetBrains es software de terceros que Anthropic no respalda, mantiene ni audita. Anthropic envía el plugin de Claude Code para su publicación en el Marketplace de JetBrains.

41 45 

42Si `claude` está instalado en algún lugar que su IDE no puede encontrar, establezca la ruta completa en la [configuración del comando Claude](#general-settings) del plugin.46Si `claude` está instalado en algún lugar que su IDE no puede encontrar, establezca la ruta completa en la [configuración del comando Claude](#general-settings) del plugin.

43 47 

Details

278 278 

279En v2.1.305 o posterior, Claude Code reenvía una solicitud sin [campos `defer_loading` y bloques `tool_reference`](https://code.claude.com/docs/es/mcp#tool-search-through-a-gateway) después de un `400` o `422` que nombra la búsqueda de herramientas o cuya causa no reconoce. Después de un reintento exitoso, las solicitudes posteriores de esa conversación también los omiten.279En v2.1.305 o posterior, Claude Code reenvía una solicitud sin [campos `defer_loading` y bloques `tool_reference`](https://code.claude.com/docs/es/mcp#tool-search-through-a-gateway) después de un `400` o `422` que nombra la búsqueda de herramientas o cuya causa no reconoce. Después de un reintento exitoso, las solicitudes posteriores de esa conversación también los omiten.

280 280 

281Las solicitudes del desarrollador siguen funcionando sin ningún cambio en el gateway, con sus herramientas MCP cargadas de antemano. Cuando Claude Code vuelve a intentar la búsqueda de herramientas, el gateway ve otra solicitud rechazada seguida de su reintento. Para la búsqueda de herramientas en sí, Claude Code espera que el gateway reenvíe los campos `defer_loading` y los bloques `tool_reference` con su valor `anthropic-beta`.281Las solicitudes del desarrollador siguen funcionando sin ningún cambio en el gateway, con sus herramientas MCP cargadas de antemano. Cuando Claude Code vuelve a intentar la búsqueda de herramientas, el gateway puede ver otra solicitud rechazada seguida de su reintento. Para la búsqueda de herramientas en sí, Claude Code espera que el gateway reenvíe los campos `defer_loading` y los bloques `tool_reference` con su valor `anthropic-beta`.

282 282 

283### Deshabilitar capacidades de pre-lanzamiento283### Deshabilitar capacidades de pre-lanzamiento

284 284 

Details

171* Las rutas binarias de sandbox `sandbox.bwrapPath` y `sandbox.socatPath`171* Las rutas binarias de sandbox `sandbox.bwrapPath` y `sandbox.socatPath`

172* El binario `ripgrep` de sandbox, [`sandbox.ripgrep`](https://code.claude.com/docs/es/settings-reference#sandbox-ripgrep)172* El binario `ripgrep` de sandbox, [`sandbox.ripgrep`](https://code.claude.com/docs/es/settings-reference#sandbox-ripgrep)

173* `sandbox.filesystem.disabled` y `sandbox.network.strictAllowlist`173* `sandbox.filesystem.disabled` y `sandbox.network.strictAllowlist`

174* [`useAutoModeDuringPlan`](https://code.claude.com/docs/es/settings-reference#useautomodeduringplan), [`syncClaudeAiSkills`](https://code.claude.com/docs/es/settings-reference#syncclaudeaiskills) y [`syncClaudeAiPlugins`](https://code.claude.com/docs/es/settings-reference#syncclaudeaiplugins), donde un `false` de cualquier fuente de administrador desactiva el comportamiento. Un `false` en la configuración de usuario o local del desarrollador también lo desactiva; cada clave solo puede denegar174* [`useAutoModeDuringPlan`](https://code.claude.com/docs/es/settings-reference#useautomodeduringplan), [`syncClaudeAiSkills`](https://code.claude.com/docs/es/settings-reference#syncclaudeaiskills) y [`syncClaudeAiPlugins`](https://code.claude.com/docs/es/settings-reference#syncclaudeaiplugins), donde un `false` de cualquier fuente de administrador desactiva el comportamiento. Cada clave solo puede denegar:

175 * Un `false` en la configuración de usuario o local del desarrollador también lo desactiva

176 * Para `useAutoModeDuringPlan`, no cuenta un `false` en un archivo de usuario o local que el desarrollador deja fuera con una opción como [`--setting-sources`](https://code.claude.com/docs/es/cli-reference#cli-flags). Ignorar un archivo excluido requiere Claude Code v2.1.314 o posterior

175* [`enableArtifact`](https://code.claude.com/docs/es/settings-reference#enableartifact), donde un `false` de cualquier fuente de administrador desactiva la [herramienta Artifact](https://code.claude.com/docs/es/artifacts.md). Un `false` en la configuración de usuario, de proyecto o local del desarrollador también la desactiva, y ninguna fuente la vuelve a activar; consulta [qué valores de nivel inferior aún cuentan](https://code.claude.com/docs/es/settings.md#exceptions-to-managed-settings-precedence). Requiere Claude Code v2.1.242 o posterior177* [`enableArtifact`](https://code.claude.com/docs/es/settings-reference#enableartifact), donde un `false` de cualquier fuente de administrador desactiva la [herramienta Artifact](https://code.claude.com/docs/es/artifacts.md). Un `false` en la configuración de usuario, de proyecto o local del desarrollador también la desactiva, y ninguna fuente la vuelve a activar; consulta [qué valores de nivel inferior aún cuentan](https://code.claude.com/docs/es/settings.md#exceptions-to-managed-settings-precedence). Requiere Claude Code v2.1.242 o posterior

176* [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel), donde se aplica el límite más bajo de cualquier fuente de administrador. Si un desarrollador establece un límite más bajo en su propia configuración o con `--settings`, Claude Code aplica ese; ninguna fuente puede aumentar el límite. Requiere Claude Code v2.1.267 o posterior178* [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel), donde se aplica el límite más bajo de cualquier fuente de administrador. Si un desarrollador establece un límite más bajo en su propia configuración o con `--settings`, Claude Code aplica ese; ninguna fuente puede aumentar el límite. Requiere Claude Code v2.1.267 o posterior

177* Una exclusión del trailer de commit en `attribution`, o en el obsoleto `includeCoAuthoredBy`, desde cualquier nivel179* Una exclusión del trailer de commit en `attribution`, o en el obsoleto `includeCoAuthoredBy`, desde cualquier nivel

model-config.md +5 −1

Details

6134. Tu configuración: el nivel que guardaste para el modelo o una clave [`effortLevel`](https://code.claude.com/docs/es/settings-reference#effortlevel), con la precedencia entre ellos y entre archivos de configuración indicada en [`modelSettings`](https://code.claude.com/docs/es/settings-reference#modelsettings)6134. Tu configuración: el nivel que guardaste para el modelo o una clave [`effortLevel`](https://code.claude.com/docs/es/settings-reference#effortlevel), con la precedencia entre ellos y entre archivos de configuración indicada en [`modelSettings`](https://code.claude.com/docs/es/settings-reference#modelsettings)

6145. El esfuerzo predeterminado del modelo: `high` en cada modelo que admite esfuerzo, excepto que Opus 5.5, Sonnet 5.5 y Haiku 5.5 por defecto son `medium` y Opus 4.7 por defecto es `xhigh`. Si tu organización establece un nivel de esfuerzo predeterminado para su [modelo predeterminado de la organización](#organization-default-model), ese nivel es el predeterminado cuando ejecutas ese modelo.6145. El esfuerzo predeterminado del modelo: `high` en cada modelo que admite esfuerzo, excepto que Opus 5.5, Sonnet 5.5 y Haiku 5.5 por defecto son `medium` y Opus 4.7 por defecto es `xhigh`. Si tu organización establece un nivel de esfuerzo predeterminado para su [modelo predeterminado de la organización](#organization-default-model), ese nivel es el predeterminado cuando ejecutas ese modelo.

615 615 

616Después de un respaldo automático de modelo, consulta [Nivel de esfuerzo después de un respaldo](#effort-level-after-a-fallback) para ver el nivel que se aplica.616Después de un respaldo automático de modelo, consulta [Nivel de esfuerzo después de un respaldo](#effort-level-after-a-fallback) para ver el nivel que se aplica. Para subagentes y compañeros de equipo, consulta [Nivel de esfuerzo de subagentes y compañeros de equipo](#effort-level-of-subagents-and-teammates).

617 617 

618Opus 5.5 empieza en `medium` a menos que alguna de las fuentes anteriores establezca un nivel para él, y un `effortLevel` de nivel superior en tu archivo de configuración de usuario no cuenta para Opus 5.5. Esa clave es la forma antigua que `/effort` escribía antes de que Claude Code guardara niveles por modelo: se sigue aplicando donde se aplicaba antes, en Opus 5, Fable 5.1 y modelos anteriores, mientras que Opus 5.5 y los modelos lanzados después empiezan en su propio valor predeterminado hasta que elijas un nivel para ellos con `/effort` o con el selector de `/model`. Un `effortLevel` de nivel superior en la configuración de proyecto, local o administrada, o uno pasado con `--settings`, se aplica a todos los modelos.618Opus 5.5 empieza en `medium` a menos que alguna de las fuentes anteriores establezca un nivel para él, y un `effortLevel` de nivel superior en tu archivo de configuración de usuario no cuenta para Opus 5.5. Esa clave es la forma antigua que `/effort` escribía antes de que Claude Code guardara niveles por modelo: se sigue aplicando donde se aplicaba antes, en Opus 5, Fable 5.1 y modelos anteriores, mientras que Opus 5.5 y los modelos lanzados después empiezan en su propio valor predeterminado hasta que elijas un nivel para ellos con `/effort` o con el selector de `/model`. Un `effortLevel` de nivel superior en la configuración de proyecto, local o administrada, o uno pasado con `--settings`, se aplica a todos los modelos.

619 619 


700 700 

701Un [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel) o un [límite de esfuerzo de la organización](#organization-effort-limits) sigue limitando el nivel con el que se ejecuta el skill o subagente. Si estableces `effortLevel` en la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md), Claude Code lo aplica en el paso de configuración del [orden de resolución del esfuerzo](#adjust-effort-level), y los usuarios aún pueden cambiar el nivel con `/effort` o `--effort`. Para mantener a los usuarios en un nivel o por debajo de él, establece [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel).701Un [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel) o un [límite de esfuerzo de la organización](#organization-effort-limits) sigue limitando el nivel con el que se ejecuta el skill o subagente. Si estableces `effortLevel` en la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md), Claude Code lo aplica en el paso de configuración del [orden de resolución del esfuerzo](#adjust-effort-level), y los usuarios aún pueden cambiar el nivel con `/effort` o `--effort`. Para mantener a los usuarios en un nivel o por debajo de él, establece [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel).

702 702 

703#### Nivel de esfuerzo de subagentes y compañeros de equipo

704 

705En el modelo de la conversación principal, un [subagente](https://code.claude.com/docs/es/sub-agents.md#choose-an-effort-level) o un [compañero de equipo](https://code.claude.com/docs/es/agent-teams.md#specify-teammates-and-models) sin un `effort` propio se ejecuta con el nivel que eliges en la sesión o que estableces con `--effort`. En otro modelo, ese nivel no se aplica. Para elegir el nivel de un subagente, establece `effort` en su definición.

706 

703#### Comprobar el nivel de esfuerzo que estableciste707#### Comprobar el nivel de esfuerzo que estableciste

704 708 

705El control deslizante de esfuerzo aparece en `/model` cuando se selecciona un modelo compatible. Un nivel en el encabezado de la sesión, por ejemplo "with low effort", proviene de tu ajuste de esfuerzo, aunque Claude [siga trabajando con el nivel anterior](#when-a-new-effort-level-starts). Al iniciar y cuando lo cambias, el pie de página también muestra brevemente el nivel establecido para tu sesión.709El control deslizante de esfuerzo aparece en `/model` cuando se selecciona un modelo compatible. Un nivel en el encabezado de la sesión, por ejemplo "with low effort", proviene de tu ajuste de esfuerzo, aunque Claude [siga trabajando con el nivel anterior](#when-a-new-effort-level-starts). Al iniciar y cuando lo cambias, el pie de página también muestra brevemente el nivel establecido para tu sesión.

Details

330 330 

331En sesiones de CLI interactivas, el tracing beta detallado también requiere que su organización esté en la lista de permitidos para la función. Las sesiones del SDK de Agent y no interactivas `-p` no requieren lista de permitidos.331En sesiones de CLI interactivas, el tracing beta detallado también requiere que su organización esté en la lista de permitidos para la función. Las sesiones del SDK de Agent y no interactivas `-p` no requieren lista de permitidos.

332 332 

333> [!WARNING]

334>

335> Establece `ENABLE_BETA_TRACING_DETAILED` solo para depuración, no en producción. El tracing beta detallado tiene un volumen de exportación alto, y sus [atributos de contenido](#new-context-gates) no forman parte del esquema de tramo estable.

336 

333| Atributo | Descripción | Controlado por |337| Atributo | Descripción | Controlado por |

334| - | - | - |338| - | - | - |

335| `hook_event` | Tipo de evento de hook, como `PreToolUse` | |339| `hook_event` | Tipo de evento de hook, como `PreToolUse` | |

Details

131 131 

132Claude Code anota cada clave ignorada en el registro de depuración de la sesión.132Claude Code anota cada clave ignorada en el registro de depuración de la sesión.

133 133 

134En sesiones de [Claude Desktop](https://code.claude.com/docs/es/desktop.md) donde la aplicación administra la conexión del proveedor, como la pestaña Code en un [proveedor de terceros](https://code.claude.com/docs/es/third-party-integrations.md) y sesiones de Cowork, Claude Code lee estas variables y las variables proxy `HTTP_PROXY`, `HTTPS_PROXY` y `NO_PROXY` solo desde [configuración administrada](https://code.claude.com/docs/es/managed-settings.md) y `~/.claude/settings.json`: las ignora en los archivos de configuración propios de un repositorio, por lo que un repositorio extraído no puede redirigir la ruta TLS o proxy de una sesión cuyas credenciales provienen de la aplicación. En una sesión de pestaña Code local, SSH o WSL con sesión iniciada a través de claude.ai, la aplicación no administra la conexión, y Claude Code lee estas variables desde cada ámbito de configuración, como cualquier sesión de terminal; [las sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) siguen las reglas de sesión en la nube anteriores dondequiera que las inicie. Antes de v2.1.217, Claude Code ignoraba estas variables en cada archivo de configuración cuando la aplicación administraba la conexión.134En sesiones de [Claude Desktop](https://code.claude.com/docs/es/desktop.md) donde la aplicación administra la conexión del proveedor, como la pestaña Code en un [proveedor de terceros](https://code.claude.com/docs/es/third-party-integrations.md) y las sesiones de Cowork, Claude Code lee estas variables, excepto `CLAUDE_CODE_OAUTH_SCOPES`, y las variables de proxy `HTTP_PROXY`, `HTTPS_PROXY` y `NO_PROXY` solo desde la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md) y `~/.claude/settings.json`. Las ignora en los archivos de configuración propios de un repositorio, por lo que un repositorio extraído no puede redirigir la ruta TLS o de proxy de una sesión cuyas credenciales provienen de la aplicación. Antes de v2.1.217, Claude Code ignoraba estas variables en cada archivo de configuración cuando la aplicación administraba la conexión.

135 

136En una sesión local, SSH o WSL de la pestaña Code con sesión iniciada a través de claude.ai, puedes establecer estas variables y las variables de proxy en cualquier archivo de configuración, salvo `CLAUDE_CODE_OAUTH_SCOPES`. Desktop establece `CLAUDE_CODE_OAUTH_SCOPES` por sí mismo en las sesiones de la pestaña Code y de Cowork, por lo que no puedes establecerla.

137 

138Cuando el entorno de inicio de la sesión ya establece una variable, Claude Code [ignora el valor del archivo de configuración](https://code.claude.com/docs/es/settings-reference.md#how-env-values-interact-with-your-shell) e indica el nombre de la variable en el [registro de depuración](https://code.claude.com/docs/es/debug-your-config.md). Para usar tu propio valor de proxy o de certificado en una sesión local, [agrégalo a un entorno local guardado](https://code.claude.com/docs/es/desktop.md#set-environment-variables-for-local-sessions). Las [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) siguen las reglas de sesión en la nube anteriores dondequiera que las inicies.

135 139 

136## Verificar su configuración140## Verificar su configuración

137 141 

Details

383* **El servidor no revisa la sesión**: una respuesta se completa sin resultados de revisión, o el servidor responde que no revisa esta sesión. Las causas más comunes son un gateway o proxy de LLM que descarta la solicitud de revisión o los resultados, y una plataforma, región o credencial que aún no tiene comprobaciones del lado del servidor. Claude Code recurre a sus propias solicitudes al clasificador. Una vez que esa alternativa se mantiene durante el resto de la sesión, muestra un [aviso sobre los cargos por solicitudes al clasificador](https://code.claude.com/docs/es/auto-mode-classifier-billing.md) en las cuentas donde esas solicitudes se facturan.383* **El servidor no revisa la sesión**: una respuesta se completa sin resultados de revisión, o el servidor responde que no revisa esta sesión. Las causas más comunes son un gateway o proxy de LLM que descarta la solicitud de revisión o los resultados, y una plataforma, región o credencial que aún no tiene comprobaciones del lado del servidor. Claude Code recurre a sus propias solicitudes al clasificador. Una vez que esa alternativa se mantiene durante el resto de la sesión, muestra un [aviso sobre los cargos por solicitudes al clasificador](https://code.claude.com/docs/es/auto-mode-classifier-billing.md) en las cuentas donde esas solicitudes se facturan.

384* **El servidor no da ningún veredicto para una acción**: Claude Code deniega la acción en lugar de ejecutarla sin revisión. En cualquier conexión, esto ocurre cuando la respuesta termina antes de que lleguen los resultados de la revisión o los resultados llegan en un formato que Claude Code no puede leer. Un gateway o proxy de LLM que acorta las respuestas o reescribe los resultados puede causar cualquiera de los dos. En una conexión directa a la API de Anthropic, también ocurre cuando la comprobación del servidor falla para la acción, por ejemplo, por tiempo de espera agotado. [The server returned no safety verdict](https://code.claude.com/docs/es/errors.md#the-server-returned-no-safety-verdict) explica el mensaje de denegación, qué sucede cuando las denegaciones se repiten y qué hacer.384* **El servidor no da ningún veredicto para una acción**: Claude Code deniega la acción en lugar de ejecutarla sin revisión. En cualquier conexión, esto ocurre cuando la respuesta termina antes de que lleguen los resultados de la revisión o los resultados llegan en un formato que Claude Code no puede leer. Un gateway o proxy de LLM que acorta las respuestas o reescribe los resultados puede causar cualquiera de los dos. En una conexión directa a la API de Anthropic, también ocurre cuando la comprobación del servidor falla para la acción, por ejemplo, por tiempo de espera agotado. [The server returned no safety verdict](https://code.claude.com/docs/es/errors.md#the-server-returned-no-safety-verdict) explica el mensaje de denegación, qué sucede cuando las denegaciones se repiten y qué hacer.

385 385 

386 Si un [hook](https://code.claude.com/docs/es/hooks.md#pretooluse-updatedinput-in-auto-mode) o un [mod](https://code.claude.com/docs/es/plugins/mods/overview.md) cambia la entrada de una acción después de la revisión del servidor, Claude Code puede denegar la acción sin veredicto. En las sesiones interactivas de la terminal y de VS Code con una conexión directa a la API de Anthropic, el texto de la denegación incluye `a hook changed this call's input after auto mode reviewed it`. [Su entrada de error](https://code.claude.com/docs/es/errors.md#hook-changed-input-after-review) explica qué hacer.

387 

386Para no pedírselo al servidor y usar siempre las propias solicitudes al clasificador de Claude Code, configura [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](https://code.claude.com/docs/es/env-vars). En una conexión directa a la API de Anthropic, la variable requiere Claude Code v2.1.281 o posterior. Configurarla como `1` allí activa la revisión del servidor en una sesión que aún no la tiene, a menos que también hayas configurado `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Si configuras `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` y dejas `CLAUDE_CODE_AUTO_MODE_SERVER` sin configurar, Claude Code también deja de pedírselo al servidor, salvo en los casos que describe [Desactivar capacidades previas al lanzamiento](https://code.claude.com/docs/es/llm-gateway-protocol.md#disable-pre-release-capabilities).388Para no pedírselo al servidor y usar siempre las propias solicitudes al clasificador de Claude Code, configura [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](https://code.claude.com/docs/es/env-vars). En una conexión directa a la API de Anthropic, la variable requiere Claude Code v2.1.281 o posterior. Configurarla como `1` allí activa la revisión del servidor en una sesión que aún no la tiene, a menos que también hayas configurado `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Si configuras `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` y dejas `CLAUDE_CODE_AUTO_MODE_SERVER` sin configurar, Claude Code también deja de pedírselo al servidor, salvo en los casos que describe [Desactivar capacidades previas al lanzamiento](https://code.claude.com/docs/es/llm-gateway-protocol.md#disable-pre-release-capabilities).

387 389 

388### Modelo clasificador predeterminado390### Modelo clasificador predeterminado


557* **Una acción bloqueada**: Claude Code muestra una notificación y enumera la acción en `/permissions` en la pestaña **Recently blocked**, donde puedes [aprobar la acción para que Claude pueda reintentarla](https://code.claude.com/docs/es/auto-mode-config.md#review-denials).559* **Una acción bloqueada**: Claude Code muestra una notificación y enumera la acción en `/permissions` en la pestaña **Recently blocked**, donde puedes [aprobar la acción para que Claude pueda reintentarla](https://code.claude.com/docs/es/auto-mode-config.md#review-denials).

558* **Bloqueos repetidos**: si el clasificador bloquea una acción 3 veces seguidas o 20 veces en total, el modo automático se pausa y Claude Code vuelve a pedir permiso. Aprobar la acción solicitada reanuda el modo automático. Consulta [Umbrales de bloqueos repetidos](#repeated-block-thresholds) para ver cómo se cuentan los bloqueos.560* **Bloqueos repetidos**: si el clasificador bloquea una acción 3 veces seguidas o 20 veces en total, el modo automático se pausa y Claude Code vuelve a pedir permiso. Aprobar la acción solicitada reanuda el modo automático. Consulta [Umbrales de bloqueos repetidos](#repeated-block-thresholds) para ver cómo se cuentan los bloqueos.

559* **Sin veredicto del clasificador**: cuando una comprobación de seguridad independiente del modo automático rechaza la propia solicitud del clasificador, o la respuesta del clasificador no se puede analizar, Claude Code bloquea la acción sin la notificación ni la entrada en **Recently blocked**. Consulta [Auto mode cannot determine the safety of an action](https://code.claude.com/docs/es/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) para ver el mensaje que muestra cada caso y qué hacer.561* **Sin veredicto del clasificador**: cuando una comprobación de seguridad independiente del modo automático rechaza la propia solicitud del clasificador, o la respuesta del clasificador no se puede analizar, Claude Code bloquea la acción sin la notificación ni la entrada en **Recently blocked**. Consulta [Auto mode cannot determine the safety of an action](https://code.claude.com/docs/es/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) para ver el mensaje que muestra cada caso y qué hacer.

560* **Sin veredicto del servidor**: con la [revisión del clasificador del lado del servidor](#server-side-classifier-review), Claude Code deniega una acción para la que el servidor no da veredicto, y detiene el turno después de diez respuestas seguidas sin veredicto. Consulta [The server returned no safety verdict](https://code.claude.com/docs/es/errors.md#the-server-returned-no-safety-verdict).562* **Sin veredicto del servidor**: con la [revisión del clasificador del lado del servidor](#server-side-classifier-review), Claude Code deniega una acción para la que el servidor no da veredicto, y puede detener el turno después de diez respuestas seguidas sin veredicto. Consulta [The server returned no safety verdict](https://code.claude.com/docs/es/errors.md#the-server-returned-no-safety-verdict).

561* **Un cambio de modo durante una comprobación**: si cambias de modo de permisos mientras hay una comprobación del clasificador pendiente, Claude Code descarta un veredicto que el nuevo modo no habría solicitado. En su lugar, se te pide aprobación, o la acción se deniega automáticamente en el [modo `dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode).563* **Un cambio de modo durante una comprobación**: si cambias de modo de permisos mientras hay una comprobación del clasificador pendiente, Claude Code descarta un veredicto que el nuevo modo no habría solicitado. En su lugar, se te pide aprobación, o la acción se deniega automáticamente en el [modo `dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode).

562 564 

563#### Umbrales de bloqueos repetidos565#### Umbrales de bloqueos repetidos

Details

199 199 

200El mensaje le indica a Claude que emita la llamada una vez más tal como quedó registrada. Si también se deniega, el hook cambia la entrada cada vez, así que desactiva el mod o el hook, o sal del modo automático y aprueba la llamada tú mismo.200El mensaje le indica a Claude que emita la llamada una vez más tal como quedó registrada. Si también se deniega, el hook cambia la entrada cada vez, así que desactiva el mod o el hook, o sal del modo automático y aprueba la llamada tú mismo.

201 201 

202> [!NOTE]

203>

204> En [algunas sesiones interactivas de terminal y sesiones de VS Code](https://code.claude.com/docs/es/hooks.md#pretooluse-updatedinput-in-auto-mode), la misma denegación da el motivo `a hook changed this call's input after auto mode reviewed it`. Allí, la llamada repetida lleva el primer cambio del mod, y un hook `tool.call` todavía se ejecuta sobre ella, pero cualquier cambio adicional se descarta. No necesitas cambiar tu mod, a menos que Claude te diga en su respuesta que [el modo automático no pudo revisar la llamada](https://code.claude.com/docs/es/errors.md#hook-changed-input-after-review).

205 

202### Un mensaje sobre las reglas de denegación en tu configuración206### Un mensaje sobre las reglas de denegación en tu configuración

203 207 

204`tried to lift a deny rule in your settings` y `the deny rules in your settings could not be checked for this call, so it is refused` provienen ambos de la protección integrada.208`tried to lift a deny rule in your settings` y `the deny rules in your settings could not be checked for this call, so it is refused` provienen ambos de la protección integrada.

routines.md +4 −4

Details

31>31>

32> Otras dos funciones programan trabajo en tu máquina en lugar de en la nube: las [tareas programadas de escritorio](https://code.claude.com/docs/es/desktop-scheduled-tasks.md) y [`/loop`](https://code.claude.com/docs/es/scheduled-tasks). Para elegir entre las tres, consulta [Comparar opciones de programación](https://code.claude.com/docs/es/scheduled-tasks.md#compare-scheduling-options).32> Otras dos funciones programan trabajo en tu máquina en lugar de en la nube: las [tareas programadas de escritorio](https://code.claude.com/docs/es/desktop-scheduled-tasks.md) y [`/loop`](https://code.claude.com/docs/es/scheduled-tasks). Para elegir entre las tres, consulta [Comparar opciones de programación](https://code.claude.com/docs/es/scheduled-tasks.md#compare-scheduling-options).

33 33 

34Los Owners de Team y Enterprise pueden desactivar las tareas programadas para todos los miembros con el interruptor **Scheduled tasks (Was Routines)** en [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). Cuando el interruptor está desactivado, las tareas programadas existentes dejan de ejecutarse y los miembros no pueden crear nuevas.34Los Owners de Team y Enterprise pueden desactivar las tareas programadas para todos los miembros con el interruptor **Scheduled tasks (Was Routines)** o **Routines** en [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). Cuando el interruptor está desactivado, las tareas programadas existentes dejan de ejecutarse y los miembros no pueden crear nuevas.

35 35 

36Si tu organización Enterprise administra tu acceso con [roles personalizados](https://support.claude.com/en/articles/13930452), también necesitas un rol que incluya el permiso de tareas programadas. Un Owner puede agregarlo en la sección **Remote sessions** de un rol en [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).36Si tu organización Enterprise administra tu acceso con [roles personalizados](https://support.claude.com/en/articles/13930452), también necesitas un rol que incluya el permiso de tareas programadas. Un Owner puede agregarlo en la sección **Remote sessions** de un rol en [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

37 37 


485* **Dirección web**: `claude.ai/code/routines`485* **Dirección web**: `claude.ai/code/routines`

486* **CLI**: el alias `/routines` de `/schedule`, la descripción del comando y las respuestas de Claude mientras configura una tarea486* **CLI**: el alias `/routines` de `/schedule`, la descripción del comando y las respuestas de Claude mientras configura una tarea

487* **API**: la ruta del endpoint `/fire`, su encabezado beta, el `type` de su respuesta, la etiqueta `<routine-fire-payload>` y la página de referencia [Trigger a routine through the API](https://platform.claude.com/docs/en/api/claude-code/routines-fire)487* **API**: la ruta del endpoint `/fire`, su encabezado beta, el `type` de su respuesta, la etiqueta `<routine-fire-payload>` y la página de referencia [Trigger a routine through the API](https://platform.claude.com/docs/en/api/claude-code/routines-fire)

488* **Configuración de la organización**: el interruptor **Scheduled tasks (Was Routines)**488* **Configuración de la organización**: el interruptor **Scheduled tasks (Was Routines)** o **Routines**

489 489 

490## Solución de problemas490## Solución de problemas

491 491 


504 504 

505Si la causa es el inicio de sesión de tu CLI o estar dentro de una sesión en la nube, aún puedes crear y administrar tareas programadas en [claude.ai/code/routines](https://claude.ai/code/routines). Ahí necesitas una cuenta Pro, Max, Ultra, Team o Enterprise. Si las tareas programadas o las sesiones en la nube están desactivadas para tu organización o no figuran en tus roles, tampoco puedes crearlas en la web.505Si la causa es el inicio de sesión de tu CLI o estar dentro de una sesión en la nube, aún puedes crear y administrar tareas programadas en [claude.ai/code/routines](https://claude.ai/code/routines). Ahí necesitas una cuenta Pro, Max, Ultra, Team o Enterprise. Si las tareas programadas o las sesiones en la nube están desactivadas para tu organización o no figuran en tus roles, tampoco puedes crearlas en la web.

506 506 

507### "Routines are disabled by your organization's policy"507### Las tareas programadas están desactivadas para tu organización

508 508 

509Probablemente un Owner de tu organización de Team o Enterprise desactivó el interruptor **Scheduled tasks (Was Routines)** en [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). En Claude Code v2.1.227 o posterior, el mismo interruptor también oculta `/schedule` en la CLI. Es una configuración de la organización del lado del servidor, por lo que no se puede anular desde tu configuración local. Pídele a un Owner que vuelva a activar las tareas programadas para tu organización.509Las tareas programadas en la nube están desactivadas para tu organización, y no puedes cambiarlo desde tu configuración local. Pregúntale al Owner de tu organización de Team o Enterprise si puede activar el interruptor **Scheduled tasks (Was Routines)** o **Routines** en [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities).

510 510 

511### Advertencias "The last run"511### Advertencias "The last run"

512 512 

sandboxing.md +1 −0

Details

1074* **Escalada de permisos del sistema de archivos**: los permisos de escritura del sistema de archivos demasiado amplios pueden permitir ataques de escalada de privilegios. Permitir escrituras en directorios que contienen ejecutables en `$PATH`, directorios de configuración del sistema o archivos de configuración de shell del usuario como `.bashrc` o `.zshrc` puede llevar a ejecución de código en diferentes contextos de seguridad cuando otros usuarios o procesos del sistema acceden a estos archivos.1074* **Escalada de permisos del sistema de archivos**: los permisos de escritura del sistema de archivos demasiado amplios pueden permitir ataques de escalada de privilegios. Permitir escrituras en directorios que contienen ejecutables en `$PATH`, directorios de configuración del sistema o archivos de configuración de shell del usuario como `.bashrc` o `.zshrc` puede llevar a ejecución de código en diferentes contextos de seguridad cuando otros usuarios o procesos del sistema acceden a estos archivos.

1075* **Fortaleza del sandbox de Linux**: la implementación de Linux proporciona un fuerte aislamiento del sistema de archivos y la red pero incluye un modo `enableWeakerNestedSandbox` que le permite funcionar dentro de entornos Docker sin espacios de nombres privilegiados. Esta opción debilita considerablemente la seguridad y solo debe usarse cuando se aplica aislamiento adicional de otra manera.1075* **Fortaleza del sandbox de Linux**: la implementación de Linux proporciona un fuerte aislamiento del sistema de archivos y la red pero incluye un modo `enableWeakerNestedSandbox` que le permite funcionar dentro de entornos Docker sin espacios de nombres privilegiados. Esta opción debilita considerablemente la seguridad y solo debe usarse cuando se aplica aislamiento adicional de otra manera.

1076* **Apple Events en macOS**: el sandbox de macOS bloquea Apple Events de forma predeterminada. El ajuste `allowAppleEvents` levanta esta restricción para que herramientas como `open` y `osascript` funcionen, pero elimina el aislamiento de ejecución de código: los comandos aislados pueden lanzar otras aplicaciones sin aislar sin solicitud del usuario, y pueden enviar comandos AppleScript a aplicaciones en ejecución, sujeto a la solicitud de consentimiento de automatización por aplicación de macOS (TCC). Solo se honra desde configuración de usuario, administrada o CLI. La configuración del proyecto no puede habilitarlo.1076* **Apple Events en macOS**: el sandbox de macOS bloquea Apple Events de forma predeterminada. El ajuste `allowAppleEvents` levanta esta restricción para que herramientas como `open` y `osascript` funcionen, pero elimina el aislamiento de ejecución de código: los comandos aislados pueden lanzar otras aplicaciones sin aislar sin solicitud del usuario, y pueden enviar comandos AppleScript a aplicaciones en ejecución, sujeto a la solicitud de consentimiento de automatización por aplicación de macOS (TCC). Solo se honra desde configuración de usuario, administrada o CLI. La configuración del proyecto no puede habilitarlo.

1077* **Servicios Mach y XPC en macOS**: los comandos aislados pueden llegar fuera del sandbox a cada servicio que enumeres en [`network.allowMachLookup`](https://code.claude.com/docs/es/settings-reference#sandbox-network-allowmachlookup), y el sandbox no restringe lo que esos servicios hacen en nombre de esos comandos.

1077* **Espacios de nombres de usuario en Linux y WSL2**: de forma predeterminada, los comandos aislados no pueden crear espacios de nombres de usuario. Si estableces [`allowNestedUserNamespaces`](https://code.claude.com/docs/es/settings-reference#sandbox-allownestedusernamespaces) en `true`, desactivas un límite de seguridad: el código de un comando aislado puede terminar ejecutándose fuera del sandbox. Antes de activar este ajuste, lee la advertencia en [Chromium o Podman sin root falla dentro del sandbox en Linux](#chromium-or-rootless-podman-fails-inside-the-sandbox-on-linux).1078* **Espacios de nombres de usuario en Linux y WSL2**: de forma predeterminada, los comandos aislados no pueden crear espacios de nombres de usuario. Si estableces [`allowNestedUserNamespaces`](https://code.claude.com/docs/es/settings-reference#sandbox-allownestedusernamespaces) en `true`, desactivas un límite de seguridad: el código de un comando aislado puede terminar ejecutándose fuera del sandbox. Antes de activar este ajuste, lee la advertencia en [Chromium o Podman sin root falla dentro del sandbox en Linux](#chromium-or-rootless-podman-fails-inside-the-sandbox-on-linux).

1078 1079 

1079### Alcance1080### Alcance

Details

16 16 

17## Scripts contenedores17## Scripts contenedores

18 18 

19Usa un script contenedor cuando cada sesión necesite configuración que el ejecutor no puede hacer por sí solo: aprovisionamiento de credenciales de corta duración limitadas al creador de la sesión, exportación de secretos específicos del entorno, preparación de cadenas de herramientas de lenguaje o aplicación de límites de recursos alrededor del proceso secundario. El ejecutor inicia tu contenedor en lugar del binario de Claude Code, una vez por sesión. Termina el contenedor con `exec` en `$CLAUDE_RUNNER_CLAUDE_BIN`, el binario propio del ejecutor, para que las señales y los códigos de salida se propaguen correctamente.19Usa un script contenedor cuando cada sesión necesite configuración que el ejecutor no puede hacer por sí solo:

20 

21* Aprovisionamiento de credenciales de corta duración limitadas al creador de la sesión

22* Exportación de secretos específicos del entorno

23* Preparación de cadenas de herramientas de lenguaje

24* Aplicación de límites de recursos alrededor del proceso secundario

25 

26El ejecutor inicia tu contenedor en lugar del binario de Claude Code cada vez que inicia una sesión, incluso cuando una sesión se reanuda o se vuelve a poner en cola. Termina el contenedor con `exec` en `$CLAUDE_RUNNER_CLAUDE_BIN`, el binario propio del ejecutor, para que las señales y los códigos de salida se propaguen correctamente.

20 27 

21Apunta `--exec-path`, o `SELF_HOSTED_RUNNER_EXEC_PATH`, al contenedor cuando inicies el ejecutor, y reemplaza `<writable-dir>` como se describe en el [inicio rápido](https://code.claude.com/docs/es/self-hosted-environments-quickstart.md#set-up-manually):28Apunta `--exec-path`, o `SELF_HOSTED_RUNNER_EXEC_PATH`, al contenedor cuando inicies el ejecutor, y reemplaza `<writable-dir>` como se describe en el [inicio rápido](https://code.claude.com/docs/es/self-hosted-environments-quickstart.md#set-up-manually):

22 29 


139 146 

140### checkout147### checkout

141 148 

142Se ejecuta una vez por repositorio, en lugar del clon y fetch integrados del ejecutor. Usa el hook para clonar desde un espejo de lectura al que accedes por HTTPS o SSH, sembrar una copia de trabajo desde un archivo, o aplicar autenticación git por sesión. El ejecutor establece estas variables, y puede establecer otras variables `CLAUDE_RUNNER_` que la tabla no enumera:149Se ejecuta para cada repositorio cada vez que el ejecutor inicia una sesión, incluso cuando la sesión se reanuda o se vuelve a poner en cola, en lugar del clon y fetch integrados del ejecutor. Usa el hook para clonar desde un espejo de lectura al que accedes por HTTPS o SSH, sembrar una copia de trabajo desde un archivo, o aplicar autenticación git por sesión.

150 

151El ejecutor establece estas variables, y puede establecer otras variables `CLAUDE_RUNNER_` que la tabla no enumera:

143 152 

144| Variable | Descripción |153| Variable | Descripción |

145| :- | :- |154| :- | :- |


179 188 

180### post-session189### post-session

181 190 

182Se ejecuta una vez por sesión, después de que el hijo de Claude Code ha salido y antes de que el ejecutor desmonte el espacio de trabajo. Este hook es su única oportunidad para guardar trabajo no confirmado: en `--capacity` por encima de uno, el ejecutor elimina árboles de trabajo por sesión justo después de que el hook regresa, y en `--capacity 1` el [clon canónico](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) reutilizado se reinicia cuando la siguiente sesión comienza, por lo que los cambios rastreados no confirmados no sobreviven en ninguna ruta. Los usos típicos son enviar una rama de instantánea de cambios no confirmados, archivar registros o emitir un evento de fin de sesión a sus propios sistemas.191Se ejecuta después de que el hijo de Claude Code ha salido y antes de que el ejecutor desmonte el espacio de trabajo. Este hook es tu única oportunidad para guardar trabajo sin commit, porque los cambios rastreados sin commit no sobreviven en ninguna de las dos rutas:

192 

193* **Con `--capacity` por encima de uno**: el ejecutor elimina los worktrees por sesión justo después de que el hook regresa

194* **Con `--capacity 1`**: el [clon canónico](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) reutilizado se reinicia por completo (hard reset) cuando la siguiente sesión comienza

195 

196Los usos típicos son enviar una rama de instantánea de cambios sin commit, archivar registros o emitir un evento de fin de sesión a tus propios sistemas.

183 197 

184El hook se dispara en cada fin de sesión donde se generó un proceso hijo, sea cual sea la causa; los valores `CLAUDE_RUNNER_EXIT_REASON` a continuación enumeran los casos. No puede dispararse cuando el ejecutor termina abruptamente, como una preferencia de VM o una pérdida de energía; si necesita garantías contra terminación abrupta, tome instantáneas periódicamente desde dentro de la sesión con un hook `PostToolUse` de Claude Code en su lugar. El ejecutor establece:198El hook se dispara en cada fin de sesión donde se generó un proceso hijo, sea cual sea la causa; los valores `CLAUDE_RUNNER_EXIT_REASON` a continuación enumeran los casos. No puede dispararse cuando el ejecutor termina abruptamente, como una preferencia de VM o una pérdida de energía; si necesita garantías contra terminación abrupta, tome instantáneas periódicamente desde dentro de la sesión con un hook `PostToolUse` de Claude Code en su lugar. El ejecutor establece:

185 199 


275 289 

276### command290### command

277 291 

278Se ejecuta una vez por sesión después del checkout, en lugar de la generación de hijo integrada. El hook recibe el mismo entorno que un [script contenedor](#wrapper-scripts) y debe `exec` en `"$CLAUDE_RUNNER_CLAUDE_BIN"` de la misma manera. Use el hook `command` para mantener toda la personalización en un directorio de hooks; use `--exec-path` cuando el contenedor vive en otro lugar. Si `--exec-path` también se establece, la bandera tiene precedencia y el hook `command` se ignora.292Se ejecuta después del checkout cada vez que una sesión se inicia o se reanuda, en lugar de la generación de hijo integrada. El hook recibe el mismo entorno que un [script contenedor](#wrapper-scripts) y debe hacer `exec` en `"$CLAUDE_RUNNER_CLAUDE_BIN"` de la misma manera. Usa el hook `command` para mantener toda la personalización en un directorio de hooks; usa `--exec-path` cuando el contenedor vive en otro lugar. Si `--exec-path` también se establece, el flag tiene precedencia y el hook `command` se ignora.

279 293 

280Siempre `exec` el binario propio del ejecutor en lugar de un `claude` resuelto por PATH; de lo contrario, anula el [fijación de versión](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#pin-the-version).294Siempre `exec` el binario propio del ejecutor en lugar de un `claude` resuelto por PATH; de lo contrario, anula el [fijación de versión](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#pin-the-version).

281 295 


523 537 

524* **Endpoint de metadatos**: si les niegas por completo a las sesiones el [endpoint de metadatos de la nube](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#harden-your-deployment), las credenciales que se sirven desde él, como un perfil de instancia, tampoco llegan a Claude Code. Una identidad web basada en archivos, como IAM Roles for Service Accounts (IRSA) en Amazon EKS o un archivo de credenciales de Workload Identity Federation, no depende de él.538* **Endpoint de metadatos**: si les niegas por completo a las sesiones el [endpoint de metadatos de la nube](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#harden-your-deployment), las credenciales que se sirven desde él, como un perfil de instancia, tampoco llegan a Claude Code. Una identidad web basada en archivos, como IAM Roles for Service Accounts (IRSA) en Amazon EKS o un archivo de credenciales de Workload Identity Federation, no depende de él.

525* **Renovación**: una sesión puede durar más que una credencial, así que usa un método que se renueve solo, como una identidad web basada en archivos539* **Renovación**: una sesión puede durar más que una credencial, así que usa un método que se renueve solo, como una identidad web basada en archivos

526* **Script envoltorio**: el runner inicia tu [script envoltorio](#provision-credentials-scoped-to-the-session-creator) una vez por sesión, por lo que las credenciales que exporta no se renuevan. Claude Code lee las credenciales de AWS de su entorno, así que si tu script envoltorio ya exporta credenciales de AWS para otro trabajo, Claude Code puede firmar las solicitudes de modelo con ellas.540* **Script envoltorio**: los valores de credenciales que exporta tu [script envoltorio](#provision-credentials-scoped-to-the-session-creator) no se renuevan mientras Claude Code se ejecuta, así que para una sesión larga, usa un método que se renueve solo. Claude Code lee las credenciales de AWS de su entorno, así que si tu script envoltorio ya exporta credenciales de AWS para otro trabajo, Claude Code puede firmar las solicitudes de modelo con ellas.

527 541 

528**3. Establece las variables de un solo proveedor en el entorno del runner**542**3. Establece las variables de un solo proveedor en el entorno del runner**

529 543 

Details

827 827 

828### Algunas sesiones no cuentan como inactivas828### Algunas sesiones no cuentan como inactivas

829 829 

830Una sesión que mantiene una tarea de fondo que nunca termina no cuenta como inactiva, por lo que `--release-idle-session-min` no liberará la ranura de esa sesión. Una sesión que espera una aprobación solicitada desde dentro de una llamada de herramienta en ejecución tampoco cuenta como inactiva. Siempre establezca `--kill-session-after-min` junto con ella como un tope duro para que ninguna sesión pueda mantener una ranura indefinidamente.830Una sesión que mantiene una tarea en segundo plano que sigue ejecutándose no cuenta como inactiva, por lo que `--release-idle-session-min` no liberará la ranura de esa sesión. Una sesión que espera una aprobación solicitada desde dentro de una llamada a herramienta en ejecución tampoco cuenta como inactiva. Establece `--kill-session-after-min` junto con él como un tope estricto.

831 831 

832`--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`](https://code.claude.com/docs/es/self-hosted-environments-reference#environment-variable-only-settings):832`--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`](https://code.claude.com/docs/es/self-hosted-environments-reference#environment-variable-only-settings):

833 833 

Details

153}153}

154```154```

155 155 

156Use `last_poll_age_ms` como una señal de vivacidad en sondeos personalizados; un valor que crece sin límites indica que el bucle de sondeo está atascado. Tanto `last_poll_at` como `last_poll_age_ms` son `null` hasta que se completa el primer sondeo.156Configura alertas sobre `last_poll_age_ms`, pero no lo uses en un sondeo de vivacidad; mantén ese sondeo en el código de estado HTTP. El valor es el tiempo transcurrido desde el último sondeo exitoso, por lo que también aumenta mientras el runner no puede comunicarse con Anthropic. Tanto `last_poll_at` como `last_poll_age_ms` son `null` hasta que el primer sondeo tiene éxito. Para detectar sondeos que fallan desde el inicio, configura también alertas sobre `claude_code_self_hosted_runner_poll_errors_total`, que aparece en [Métricas de Prometheus](#prometheus-metrics).

157 157 

158El `/healthz` propio del orquestador, en su puerto de salud, siempre devuelve `200`. El cuerpo lleva un campo `connected` que reporta si el sondeo más reciente tuvo éxito, más conteos de cola de generación por estado en `queue_counts`. Para ver por qué `connected` es `false`, lee el campo de nivel superior `last_error`, que cada sondeo exitoso restablece a `null`. Basa la preparación y las alertas en `connected` en lugar del código de estado.158El `/healthz` propio del orquestador, en su puerto de salud, siempre devuelve `200`. El cuerpo lleva un campo `connected` que reporta si el sondeo más reciente tuvo éxito, más conteos de cola de generación por estado en `queue_counts`. Para ver por qué `connected` es `false`, lee el campo de nivel superior `last_error`, que cada sondeo exitoso restablece a `null`. Basa la preparación y las alertas en `connected` en lugar del código de estado.

159 159 

settings.md +1 −1

Details

313| [`autoMode.classifyAllShell`](https://code.claude.com/docs/es/settings-reference#automode-classifyallshell) | `true` desde `~/.claude/settings.json` o `--settings` | Se respeta incluso cuando una fuente administrada define `false` |313| [`autoMode.classifyAllShell`](https://code.claude.com/docs/es/settings-reference#automode-classifyallshell) | `true` desde `~/.claude/settings.json` o `--settings` | Se respeta incluso cuando una fuente administrada define `false` |

314| [`remoteControlAtStartup`](https://code.claude.com/docs/es/settings-reference#remotecontrolatstartup) | `false` desde `.claude/settings.json` o `.claude/settings.local.json` | Se respeta incluso cuando una fuente administrada define `true`; un `true` de proyecto o local se ignora |314| [`remoteControlAtStartup`](https://code.claude.com/docs/es/settings-reference#remotecontrolatstartup) | `false` desde `.claude/settings.json` o `.claude/settings.local.json` | Se respeta incluso cuando una fuente administrada define `true`; un `true` de proyecto o local se ignora |

315| [`crossSessionInbound`](https://code.claude.com/docs/es/settings-reference#crosssessioninbound) | Un valor más estricto desde `.claude/settings.json` o `.claude/settings.local.json`, en la escala `accept` \< `hold` \< `refuse` | Se respeta por encima de los valores administrados, de `--settings` y de usuario; un valor de proyecto o local que no sea más estricto se ignora |315| [`crossSessionInbound`](https://code.claude.com/docs/es/settings-reference#crosssessioninbound) | Un valor más estricto desde `.claude/settings.json` o `.claude/settings.local.json`, en la escala `accept` \< `hold` \< `refuse` | Se respeta por encima de los valores administrados, de `--settings` y de usuario; un valor de proyecto o local que no sea más estricto se ignora |

316| [`useAutoModeDuringPlan`](https://code.claude.com/docs/es/settings-reference#useautomodeduringplan) | `false` desde cualquier fuente administrada, `--settings`, `~/.claude/settings.json` o `.claude/settings.local.json` | Se respeta incluso cuando la fuente administrada ganadora define `true`; un `false` en `.claude/settings.json` se ignora |316| [`useAutoModeDuringPlan`](https://code.claude.com/docs/es/settings-reference#useautomodeduringplan) | `false` desde cualquier fuente administrada, `--settings`, `~/.claude/settings.json` o `.claude/settings.local.json` | Se respeta incluso cuando la fuente administrada ganadora define `true`; un `false` en `.claude/settings.json` se ignora. Consulta [la entrada de la clave](https://code.claude.com/docs/es/settings-reference.md#useautomodeduringplan) para el caso de un archivo que omites al iniciar |

317| [`syncClaudeAiSkills`](https://code.claude.com/docs/es/settings-reference#syncclaudeaiskills) | `false` desde cualquier fuente administrada, `--settings`, `~/.claude/settings.json` o `.claude/settings.local.json` | Se respeta incluso cuando la fuente administrada ganadora define `true`; un `false` en `.claude/settings.json` se ignora |317| [`syncClaudeAiSkills`](https://code.claude.com/docs/es/settings-reference#syncclaudeaiskills) | `false` desde cualquier fuente administrada, `--settings`, `~/.claude/settings.json` o `.claude/settings.local.json` | Se respeta incluso cuando la fuente administrada ganadora define `true`; un `false` en `.claude/settings.json` se ignora |

318| [`syncClaudeAiPlugins`](https://code.claude.com/docs/es/settings-reference#syncclaudeaiplugins) | `false` desde cualquier fuente administrada, `--settings`, `~/.claude/settings.json` o `.claude/settings.local.json` | Se respeta incluso cuando la fuente administrada ganadora define `true`; un `false` en `.claude/settings.json` se ignora |318| [`syncClaudeAiPlugins`](https://code.claude.com/docs/es/settings-reference#syncclaudeaiplugins) | `false` desde cualquier fuente administrada, `--settings`, `~/.claude/settings.json` o `.claude/settings.local.json` | Se respeta incluso cuando la fuente administrada ganadora define `true`; un `false` en `.claude/settings.json` se ignora |

319| [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel) | Un límite más bajo desde cualquier alcance, incluido `--settings` | Se respeta incluso cuando la configuración administrada que aplica Claude Code define un límite más alto; se aplica el límite más bajo. Requiere Claude Code v2.1.267 o posterior |319| [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel) | Un límite más bajo desde cualquier alcance, incluido `--settings` | Se respeta incluso cuando la configuración administrada que aplica Claude Code define un límite más alto; se aplica el límite más bajo. Requiere Claude Code v2.1.267 o posterior |

Details

925Elige si Claude Code usa el clasificador del modo automático para revisar comandos de shell en modo plan. Con el valor predeterminado `true`, el clasificador revisa cada comando durante la planificación cuando el modo automático está disponible y no ves ninguna solicitud, excepto para [eliminaciones de rutas críticas](https://code.claude.com/docs/es/permission-modes.md#critical-paths). Establece `false` para obtener una solicitud de permiso para cada comando fuera del conjunto integrado de solo lectura. Aparece en `/config` como **Use auto mode during plan**.925Elige si Claude Code usa el clasificador del modo automático para revisar comandos de shell en modo plan. Con el valor predeterminado `true`, el clasificador revisa cada comando durante la planificación cuando el modo automático está disponible y no ves ninguna solicitud, excepto para [eliminaciones de rutas críticas](https://code.claude.com/docs/es/permission-modes.md#critical-paths). Establece `false` para obtener una solicitud de permiso para cada comando fuera del conjunto integrado de solo lectura. Aparece en `/config` como **Use auto mode during plan**.

926 926 

927* **Scope**: [`User, local, or managed`](#scopes). Un repositorio no puede desactivarlo por ti.927* **Scope**: [`User, local, or managed`](#scopes). Un repositorio no puede desactivarlo por ti.

928 * Un `false` en cualquiera de estos archivos o en `--settings` lo desactiva, a menos que dejes fuera ese archivo de usuario o local con una opción como [`--setting-sources`](https://code.claude.com/docs/es/cli-reference#cli-flags). Ignorar un archivo que se dejó fuera requiere Claude Code v2.1.314 o posterior

928* **Type**: Boolean929* **Type**: Boolean

929 * `true`: lo mismo que sin establecer; cuando el modo automático está disponible, el clasificador revisa cada comando de shell durante la planificación en lugar de pedirte confirmación, excepto [eliminaciones de rutas críticas](https://code.claude.com/docs/es/permission-modes.md#critical-paths). Un `false` en cualquiera de estos archivos aún lo desactiva930 * `true`: lo mismo que sin establecer; cuando el modo automático está disponible, el clasificador revisa los comandos de shell durante la planificación

930 * `false`: obtienes una solicitud de permiso para cada comando fuera del conjunto integrado de solo lectura931 * `false`: obtienes una solicitud de permiso para cada comando fuera del conjunto integrado de solo lectura

931* **Default**: `true`932* **Default**: `true`

932 933 


2073 2074 

2074### `sandbox.network.allowMachLookup`2075### `sandbox.network.allowMachLookup`

2075 2076 

2076Indica nombres adicionales de servicios XPC y Mach que el sandbox de macOS puede buscar. Las herramientas que se comunican por XPC, como el simulador de iOS o Playwright, necesitan que sus servicios aparezcan aquí.2077Enumera nombres adicionales de servicios XPC y Mach que el sandbox de macOS puede buscar. Las herramientas que se comunican mediante XPC, como el iOS Simulator o Playwright, necesitan que sus servicios se incluyan aquí. Los comandos en el sandbox pueden acceder fuera del sandbox a cada servicio que incluyas, y el sandbox [no restringe lo que esos servicios hacen para esos comandos](https://code.claude.com/docs/es/sandboxing.md#security-limitations).

2077 2078 

2078* **Scope**: [`Any file`](#scopes), con [límites en la configuración de proyecto y local](https://code.claude.com/docs/es/sandboxing.md#repository-settings-under-an-admin-required-sandbox)2079* **Scope**: [`Any file`](#scopes), con [límites en la configuración de proyecto y local](https://code.claude.com/docs/es/sandboxing.md#repository-settings-under-an-admin-required-sandbox)

2079* **Type**: array de strings, cada uno un nombre de servicio; un único `*` final coincide con un prefijo, y `"*"` por sí solo coincide con todos los servicios2080* **Type**: array de strings, cada uno un nombre de servicio; un único `*` final coincide con un prefijo, y `"*"` por sí solo coincide con todos los servicios


2422 2423 

2423 Ignorar este grupo en la configuración del proyecto y local requiere Claude Code v2.1.282 o posterior.2424 Ignorar este grupo en la configuración del proyecto y local requiere Claude Code v2.1.282 o posterior.

2424 * Variables que cambian cómo Claude Code se inicia o se sincroniza, como `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR` y `CLAUDE_CODE_PLUGIN_SEED_DIR`.2425 * Variables que cambian cómo Claude Code se inicia o se sincroniza, como `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR` y `CLAUDE_CODE_PLUGIN_SEED_DIR`.

2426 * Variables que establecen tu inicio de sesión en claude.ai, como [`CLAUDE_CODE_OAUTH_TOKEN`, `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` y `CLAUDE_CODE_OAUTH_SCOPES`](https://code.claude.com/docs/es/env-vars#variables).

2425 * La variable del [modo de lector de pantalla](https://code.claude.com/docs/es/accessibility.md) `CLAUDE_AX_SCREEN_READER` y las demás variables cuyos nombres empiezan por `CLAUDE_AX_`, como [`CLAUDE_AX_STARTUP_QUIET_MS`](https://code.claude.com/docs/es/env-vars#variables).2427 * La variable del [modo de lector de pantalla](https://code.claude.com/docs/es/accessibility.md) `CLAUDE_AX_SCREEN_READER` y las demás variables cuyos nombres empiezan por `CLAUDE_AX_`, como [`CLAUDE_AX_STARTUP_QUIET_MS`](https://code.claude.com/docs/es/env-vars#variables).

2426 * [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`](https://code.claude.com/docs/es/env-vars#variables), que establece el temporizador de un diálogo sin respuesta.2428 * [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`](https://code.claude.com/docs/es/env-vars#variables), que establece el temporizador de un diálogo sin respuesta.

2427 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](https://code.claude.com/docs/es/env-vars#variables), que desactiva el procesamiento de archivos adjuntos.2429 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](https://code.claude.com/docs/es/env-vars#variables), que desactiva el procesamiento de archivos adjuntos.

setup.md +5 −5

Details

40>40>

41> **macOS, Linux, WSL:**41> **macOS, Linux, WSL:**

42>42>

43> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}43> ```bash theme={null}

44> curl -fsSL https://claude.ai/install.sh | bash44> curl -fsSL https://claude.ai/install.sh | bash

45> ```45> ```

46>46>


48>48>

49> **Windows PowerShell:**49> **Windows PowerShell:**

50>50>

51> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}51> ```powershell theme={null}

52> irm https://claude.ai/install.ps1 | iex52> irm https://claude.ai/install.ps1 | iex

53> ```53> ```

54>54>

55> **Windows CMD:**55> **Windows CMD:**

56>56>

57> ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}57> ```batch theme={null}

58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

59> ```59> ```

60>60>


72 72 

73> [tab] Homebrew73> [tab] Homebrew

74>74>

75> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}75> ```bash theme={null}

76> brew install --cask claude-code76> brew install --cask claude-code

77> ```77> ```

78>78>


84 84 

85> [tab] WinGet85> [tab] WinGet

86>86>

87> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}87> ```powershell theme={null}

88> winget install Anthropic.ClaudeCode88> winget install Anthropic.ClaudeCode

89> ```89> ```

90>90>

sub-agents.md +4 −0

Details

416 416 

417Cuando le pides a Claude que ejecute un subagente que no es una bifurcación con un nivel de esfuerzo concreto, también puede pasar un parámetro `effort` para esa invocación. El parámetro sobrescribe el campo `effort` y se mantiene cuando el subagente se [reanuda](#resume-subagents). La variable de entorno [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/es/env-vars#variables) tiene precedencia sobre ambos. El parámetro por invocación requiere Claude Code v2.1.292 o posterior.417Cuando le pides a Claude que ejecute un subagente que no es una bifurcación con un nivel de esfuerzo concreto, también puede pasar un parámetro `effort` para esa invocación. El parámetro sobrescribe el campo `effort` y se mantiene cuando el subagente se [reanuda](#resume-subagents). La variable de entorno [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/es/env-vars#variables) tiene precedencia sobre ambos. El parámetro por invocación requiere Claude Code v2.1.292 o posterior.

418 418 

419#### Cuando un subagente no tiene campo ni parámetro `effort`

420 

421En el modelo de la conversación principal, el subagente se ejecuta con el nivel que eliges en la sesión, por ejemplo con `/effort`, o que estableces con `--effort`. En otro modelo, [ese nivel no se aplica](https://code.claude.com/docs/es/model-config.md#effort-level-of-subagents-and-teammates). Para elegir su nivel, establece el campo `effort`.

422 

419### Controlar capacidades de subagentes423### Controlar capacidades de subagentes

420 424 

421Puede controlar qué pueden hacer los subagentes a través del acceso a herramientas, modos de permisos y reglas condicionales.425Puede controlar qué pueden hacer los subagentes a través del acceso a herramientas, modos de permisos y reglas condicionales.

Details

69 69 

70Con esta conexión, una sesión puede clonar cualquier repositorio público, pero puede trabajar en un repositorio privado solo cuando la aplicación Claude GitHub está instalada en él. [Instala la aplicación](https://github.com/apps/claude/installations/new) en cada cuenta de GitHub u organización cuyos repositorios privados desees usar. En una organización de GitHub, es posible que el propietario de la organización deba aprobar la instalación. Instalar la aplicación también habilita [Auto-fix](https://code.claude.com/docs/es/claude-code-on-the-web.md#auto-fix-pull-requests), que permite a Claude responder a fallos de CI y comentarios de revisión en solicitudes de extracción en esos repositorios.70Con esta conexión, una sesión puede clonar cualquier repositorio público, pero puede trabajar en un repositorio privado solo cuando la aplicación Claude GitHub está instalada en él. [Instala la aplicación](https://github.com/apps/claude/installations/new) en cada cuenta de GitHub u organización cuyos repositorios privados desees usar. En una organización de GitHub, es posible que el propietario de la organización deba aprobar la instalación. Instalar la aplicación también habilita [Auto-fix](https://code.claude.com/docs/es/claude-code-on-the-web.md#auto-fix-pull-requests), que permite a Claude responder a fallos de CI y comentarios de revisión en solicitudes de extracción en esos repositorios.

71 71 

72Cuando te conectas, Claude también vincula a tu organización de Claude las cuentas de GitHub que te pertenecen, si tienen instalada la aplicación Claude GitHub. En planes Team y Enterprise, los administradores ven esas cuentas en la [lista de cuentas de GitHub conectadas](https://code.claude.com/docs/es/admin-setup.md#connected-github-accounts).72Cuando te conectas, Claude también vincula a tu organización de Claude las cuentas de GitHub que te pertenecen, si tienen instalada la aplicación Claude GitHub. En planes Team y Enterprise, los Propietarios de tu organización de Claude ven esas cuentas en la [lista de cuentas de GitHub conectadas](https://code.claude.com/docs/es/admin-setup.md#connected-github-accounts).

73 73 

74Si la incorporación te solicita instalar la aplicación en este punto y prefieres hacerlo más tarde, haz clic en **Omitir**.74Si la incorporación te solicita instalar la aplicación en este punto y prefieres hacerlo más tarde, haz clic en **Omitir**.

75 75