SpyBara
Go Premium

Documentation 2026-10-27 22:59 UTC to 2026-10-28 23:57 UTC

64 files changed +1,926 −1,672. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

211. **Recibir prompt.** Claude recibe su prompt, junto con el prompt del sistema, las definiciones de herramientas e historial de conversación. El SDK produce un [`SystemMessage`](#message-types) con subtipo `"init"` que contiene metadatos de sesión.211. **Recibir prompt.** Claude recibe su prompt, junto con el prompt del sistema, las definiciones de herramientas e historial de conversación. El SDK produce un [`SystemMessage`](#message-types) con subtipo `"init"` que contiene metadatos de sesión.

222. **Evaluar y responder.** Claude evalúa el estado actual y determina cómo proceder. Puede responder con texto, solicitar una o más llamadas de herramientas, o ambas. El SDK produce uno o más objetos [`AssistantMessage`](#message-types), uno para cada bloque de contenido, como un bloque de texto o una solicitud de llamada de herramienta.222. **Evaluar y responder.** Claude evalúa el estado actual y determina cómo proceder. Puede responder con texto, solicitar una o más llamadas de herramientas, o ambas. El SDK produce uno o más objetos [`AssistantMessage`](#message-types), uno para cada bloque de contenido, como un bloque de texto o una solicitud de llamada de herramienta.

233. **Ejecutar herramientas.** El SDK ejecuta cada herramienta solicitada y recopila los resultados. Cada conjunto de resultados de herramientas se retroalimenta a Claude para la siguiente decisión. Puede usar [hooks](https://code.claude.com/docs/es/agent-sdk/hooks.md) para interceptar, modificar o bloquear llamadas de herramientas antes de que se ejecuten.233. **Ejecutar herramientas.** El SDK ejecuta cada herramienta solicitada y recopila los resultados. Cada conjunto de resultados de herramientas se retroalimenta a Claude para la siguiente decisión. Puede usar [hooks](https://code.claude.com/docs/es/agent-sdk/hooks.md) para interceptar, modificar o bloquear llamadas de herramientas antes de que se ejecuten.

244. **Repetir.** Los pasos 2 y 3 se repiten como un ciclo. Cada ciclo completo es un turno. Claude continúa llamando a herramientas y procesando resultados hasta que produce una respuesta sin llamadas de herramientas.244. **Repetir.** Los pasos 2 y 3 se repiten como un ciclo. Claude continúa llamando a herramientas y procesando resultados hasta que produce una respuesta sin llamadas a herramientas.

255. **Devolver resultado.** El SDK produce un [`AssistantMessage`](#message-types) final con la respuesta de texto (sin llamadas de herramientas), seguido de un [`ResultMessage`](#message-types) con el texto final, uso de tokens, costo e ID de sesión.255. **Devolver resultado.** El SDK produce un [`AssistantMessage`](#message-types) final con la respuesta de texto (sin llamadas de herramientas), seguido de un [`ResultMessage`](#message-types) con el texto final, uso de tokens, costo e ID de sesión.

26 26 

27Una pregunta rápida ("¿qué archivos hay aquí?") podría tomar uno o dos turnos llamando a `Glob` y respondiendo con los resultados. Una tarea compleja ("refactorizar el módulo de autenticación y actualizar las pruebas") puede encadenar docenas de llamadas de herramientas en muchos turnos, leyendo archivos, editando código y ejecutando pruebas, con Claude ajustando su enfoque basado en cada resultado.27Una pregunta rápida como "¿qué archivos hay aquí?" podría tomar dos o tres [turnos](#turns-and-messages): uno o dos llamando a `Glob` y luego uno respondiendo con los resultados. Una tarea compleja como "refactoriza el módulo de autenticación y actualiza las pruebas" puede encadenar docenas de llamadas a herramientas en muchos turnos, a medida que Claude se ajusta después de cada resultado.

28 28 

29## Turnos y mensajes29## Turnos y mensajes

30 30 

31Un turno es un viaje de ida y vuelta dentro del bucle: Claude produce una salida que incluye llamadas de herramientas, el SDK ejecuta esas herramientas y los resultados se devuelven a Claude automáticamente. Esto sucede sin ceder el control a su código. Los turnos continúan hasta que Claude produce una salida sin llamadas de herramientas, momento en el cual el bucle termina y se entrega el resultado final.31Un turno es una pasada por el bucle: Claude produce una salida y, si incluye llamadas a herramientas, el SDK las ejecuta y los resultados se devuelven a Claude automáticamente. Esto sucede sin ceder el control a tu código. Los turnos continúan hasta que Claude produce una salida sin llamadas a herramientas, momento en el cual el bucle termina y se entrega el resultado final.

32 32 

33Considere cómo podría verse una sesión completa para el prompt "Arregla las pruebas fallidas en auth.ts".33Considere cómo podría verse una sesión completa para el prompt "Arregla las pruebas fallidas en auth.ts".

34 34 

Details

1274| `updated_input` | `dict[str, Any] \| None` | `None` | Entrada modificada que se usa en lugar de la original |1274| `updated_input` | `dict[str, Any] \| None` | `None` | Entrada modificada que se usa en lugar de la original |

1275| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Actualizaciones de permisos que se aplican |1275| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Actualizaciones de permisos que se aplican |

1276 1276 

1277Si devuelves `PermissionResultAllow` con más de 4096 elementos en `updated_permissions`, Claude Code trata el resultado como no válido y deniega la llamada a herramienta. Cada [`PermissionUpdate`](#permissionupdate) cuenta como un elemento, al igual que cada entrada de su lista `rules` o `directories`. El mensaje de denegación termina con `updatedPermissions may hold at most 4096 updates, rules and directories in all.` Para evitar la denegación, devuelve 4096 elementos o menos.

1278 

1277### `PermissionResultDeny`1279### `PermissionResultDeny`

1278 1280 

1279Resultado que indica que la llamada a herramienta debe denegarse.1281Resultado que indica que la llamada a herramienta debe denegarse.

Details

1405 };1405 };

1406```1406```

1407 1407 

1408Si devuelves `allow` con más de 4096 elementos en `updatedPermissions`, Claude Code trata el resultado como no válido y deniega la llamada a herramienta. Cada actualización cuenta como un elemento, y también cada entrada de su lista `rules` o `directories`. El mensaje de denegación termina con `updatedPermissions may hold at most 4096 updates, rules and directories in all`. Para que la llamada se permita, devuelve 4096 elementos o menos.1408Si devuelves `allow` con más de 4,096 elementos en `updatedPermissions`, Claude Code trata el resultado como no válido y deniega la llamada a herramienta. Cada actualización cuenta como un elemento, al igual que cada entrada de su lista `rules` o `directories`. El mensaje de denegación termina con `updatedPermissions may hold at most 4096 updates, rules and directories in all.` Para que la llamada se permita, devuelve 4,096 elementos o menos.

1409 1409 

1410### `ToolConfig`1410### `ToolConfig`

1411 1411 


4703 humanSchedule: string;4703 humanSchedule: string;

4704 recurring: boolean;4704 recurring: boolean;

4705 durable?: boolean; // true when persisted to .claude/scheduled_tasks.json; false when session-only4705 durable?: boolean; // true when persisted to .claude/scheduled_tasks.json; false when session-only

4706 nextFireAt?: number;

4706};4707};

4707```4708```

4708 4709 

4709Devuelve el ID del trabajo y una descripción legible de la programación.4710Devuelve el ID del trabajo, una descripción legible de la programación y la próxima hora de ejecución. `nextFireAt` la indica en milisegundos desde epoch, con el [jitter](https://code.claude.com/docs/es/scheduled-tasks.md#jitter) ya aplicado, por lo que es el momento en que el trabajo está programado para ejecutarse. El campo requiere TypeScript Agent SDK v0.3.299 o posterior y Claude Code v2.1.299 o posterior.

4710 4711 

4711### CronDelete4712### CronDelete

4712 4713 


4733 prompt: string;4734 prompt: string;

4734 recurring?: boolean;4735 recurring?: boolean;

4735 durable?: boolean;4736 durable?: boolean;

4737 nextFireAt?: number;

4736 }[];4738 }[];

4737};4739};

4738```4740```

4739 4741 

4740Devuelve los trabajos cron programados: los trabajos duraderos de `.claude/scheduled_tasks.json` y los trabajos exclusivos de la sesión actual. Un trabajo exclusivo de la sesión incluye `durable: false`; los trabajos leídos del disco omiten el campo.4742Devuelve los trabajos cron programados: los trabajos duraderos de `.claude/scheduled_tasks.json` y los trabajos exclusivos de la sesión actual. Un trabajo exclusivo de la sesión incluye `durable: false`; los trabajos leídos del disco omiten el campo.

4741 4743 

4744`nextFireAt` es la próxima hora de ejecución del trabajo en milisegundos desde epoch, con el [jitter](https://code.claude.com/docs/es/scheduled-tasks.md#jitter) incluido. Ningún valor es anterior a la llamada a `CronList`: un trabajo cuya hora [pasó sin ejecutarse](https://code.claude.com/docs/es/scheduled-tasks.md#how-scheduled-tasks-run) contiene la hora de la llamada. El campo requiere TypeScript Agent SDK v0.3.299 o posterior y Claude Code v2.1.299 o posterior.

4745 

4742### ScheduleWakeup4746### ScheduleWakeup

4743 4747 

4744**Nombre de la herramienta:** `ScheduleWakeup`4748**Nombre de la herramienta:** `ScheduleWakeup`


5456};5460};

5457```5461```

5458 5462 

5463La promesa de `setMcpServers()` se resuelve después de que los servidores stdio, HTTP y SSE recién agregados se conecten o fallen, por lo que las herramientas de los servidores que se conectaron están disponibles en el siguiente turno.

5464 

5459Cuando llamas a `setMcpServers()`, Claude Code aplica estas reglas:5465Cuando llamas a `setMcpServers()`, Claude Code aplica estas reglas:

5460 5466 

5461* **Servidores que la llamada no nombra**: fuera de una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md), Claude Code desconecta los servidores que agregó una llamada anterior a `setMcpServers()` y los servidores SDK en proceso, y los enumera en `removed`. Los demás servidores siguen en ejecución y no se enumeran en `removed`, entre ellos los servidores stdio, HTTP y SSE de la opción [`mcpServers`](#options), los servidores de los archivos de configuración y los servidores proporcionados por plugins.5467* **Servidores que la llamada no nombra**: fuera de una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md), Claude Code desconecta los servidores que agregó una llamada anterior a `setMcpServers()` y los servidores SDK en proceso, y los enumera en `removed`. Los demás servidores siguen en ejecución y no se enumeran en `removed`, entre ellos los servidores stdio, HTTP y SSE de la opción [`mcpServers`](#options), los servidores de los archivos de configuración y los servidores proporcionados por plugins.


5465* **Servidores integrados que la CLI inició al arrancar**: si la llamada nombra uno, Claude Code descarta esa entrada y la reporta en `errors`.5471* **Servidores integrados que la CLI inició al arrancar**: si la llamada nombra uno, Claude Code descarta esa entrada y la reporta en `errors`.

5466* **Servidores stdio, HTTP o SSE que comparten nombre con uno de un alcance de instalación de MCP como `.mcp.json`**: con ese nombre, la sesión usa las herramientas de tu servidor en lugar de las del [servidor del alcance de instalación](https://code.claude.com/docs/es/mcp.md#mcp-installation-scopes). Antes de Claude Code v2.1.305, Claude Code podía desconectar tu servidor y conectar el servidor del alcance de instalación cuando tu aplicación [recargaba plugins](#query-object).5472* **Servidores stdio, HTTP o SSE que comparten nombre con uno de un alcance de instalación de MCP como `.mcp.json`**: con ese nombre, la sesión usa las herramientas de tu servidor en lugar de las del [servidor del alcance de instalación](https://code.claude.com/docs/es/mcp.md#mcp-installation-scopes). Antes de Claude Code v2.1.305, Claude Code podía desconectar tu servidor y conectar el servidor del alcance de instalación cuando tu aplicación [recargaba plugins](#query-object).

5467 5473 

5468La promesa se resuelve después de que los servidores stdio, HTTP y SSE recién agregados se conecten o fallen, por lo que las herramientas de los servidores que se conectaron están disponibles en el siguiente turno.

5469 

5470`added` enumera los servidores que Claude Code agregó o reemplazó, se hayan conectado o no. Un servidor que no logró conectarse aparece tanto en `added` como en `errors`, con el texto del error en `errors` y una fila `failed` en [`mcpServerStatus()`](#methods). Antes de Claude Code v2.1.257, un servidor cuyo intento de conexión lanzó una excepción se reportaba solo en `errors`.5474`added` enumera los servidores que Claude Code agregó o reemplazó, se hayan conectado o no. Un servidor que no logró conectarse aparece tanto en `added` como en `errors`, con el texto del error en `errors` y una fila `failed` en [`mcpServerStatus()`](#methods). Antes de Claude Code v2.1.257, un servidor cuyo intento de conexión lanzó una excepción se reportaba solo en `errors`.

5471 5475 

5476Un valor de `errors` que comienza con `Blocked by enterprise` significa que una política rechazó el servidor, no que la conexión falló:

5477 

5478* `Blocked by enterprise policy (allowedMcpServers/deniedMcpServers)`: el servidor no está en `added`. Una entrada de [`deniedMcpServers`](https://code.claude.com/docs/es/managed-mcp#policy-based-control-with-allowlists-and-denylists) coincide con él, o hay una lista `allowedMcpServers` establecida que lo omite. Si esa lista está en un archivo de configuración que cargas mediante [`settingSources`](#options), edita el archivo. Si está en la configuración administrada, pide a tus administradores que la cambien.

5479* `Blocked by enterprise managed policy`: el servidor está en `added`, con una fila `failed` en `mcpServerStatus()`. Pregunta a un administrador qué política lo bloquea.

5480 

5472### `RewindFilesResult`5481### `RewindFilesResult`

5473 5482 

5474Resultado de una operación `rewindFiles()`.5483Resultado de una operación `rewindFiles()`.

agent-teams.md +89 −90

Details

59 59 

60Generar compañeros de equipo también requiere una sesión interactiva. En [modo no interactivo](https://code.claude.com/docs/es/headless.md) con la bandera `-p`, incluidas las sesiones de Agent SDK, Claude no genera compañeros de equipo, y un subagente que Claude nombra se ejecuta como un [subagente](https://code.claude.com/docs/es/sub-agents.md) ordinario incluso con equipos de agentes habilitados.60Generar compañeros de equipo también requiere una sesión interactiva. En [modo no interactivo](https://code.claude.com/docs/es/headless.md) con la bandera `-p`, incluidas las sesiones de Agent SDK, Claude no genera compañeros de equipo, y un subagente que Claude nombra se ejecuta como un [subagente](https://code.claude.com/docs/es/sub-agents.md) ordinario incluso con equipos de agentes habilitados.

61 61 

62## Inicie su primer equipo de agentes62## Inicia tu primer equipo de agentes

63 63 

64Después de habilitar los equipos de agentes, describa la tarea y los compañeros de equipo que desea en lenguaje natural. Claude los genera y coordina el trabajo según su indicación.64Después de habilitar los equipos de agentes, describe la tarea y los compañeros de equipo que quieres en lenguaje natural. Claude los crea y coordina el trabajo según tu prompt.

65 65 

66Este ejemplo funciona bien porque los tres roles son independientes y pueden explorar el problema sin esperar el uno al otro:66Este ejemplo funciona bien porque los tres roles son independientes y pueden explorar el problema sin esperarse entre sí:

67 67 

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

69Estoy diseñando una herramienta CLI que ayuda a los desarrolladores a rastrear69I'm designing a CLI tool that helps developers track TODO comments across

70comentarios TODO en su base de código. Genere tres compañeros de equipo para explorar70their codebase. Spawn three teammates to explore this from different angles:

71esto desde diferentes ángulos: uno en UX, uno en arquitectura técnica, uno jugando71one on UX, one on technical architecture, one playing devil's advocate.

72al abogado del diablo.

73```72```

74 73 

75A partir de ahí, Claude completa una [lista de tareas compartida](https://code.claude.com/docs/es/interactive-mode.md#task-list) en una [sesión que tiene las herramientas Task](https://code.claude.com/docs/es/tools-reference.md#task-tool-availability), genera compañeros de equipo para cada perspectiva, los hace explorar el problema, y sintetiza hallazgos cuando termina.74A partir de ahí, Claude completa una [lista de tareas compartida](https://code.claude.com/docs/es/interactive-mode.md#task-list) en una [sesión que tiene las herramientas Task](https://code.claude.com/docs/es/tools-reference.md#task-tool-availability), crea compañeros de equipo para cada perspectiva, hace que exploren el problema y sintetiza los hallazgos cuando terminan.

76 75 

77Claude a veces puede usar [subagentes](https://code.claude.com/docs/es/sub-agents.md) en lugar de crear un equipo. Los subagentes aparecen en el mismo panel de agentes que los compañeros de equipo, por lo que el panel solo no confirma que se formó un equipo. Si Claude generó subagentes en su lugar, pregunte de nuevo y solicite explícitamente un equipo de agentes.76A veces Claude puede usar [subagentes](https://code.claude.com/docs/es/sub-agents.md) en lugar de crear un equipo. Los subagentes aparecen en el mismo panel de agentes que los compañeros de equipo, así que el panel por sí solo no confirma que se haya formado un equipo. Si Claude creó subagentes en su lugar, vuelve a pedirlo y solicita explícitamente un equipo de agentes.

78 77 

79El panel del agente del líder enumera los compañeros de equipo debajo de la entrada del indicador. Desde el panel:78La terminal del líder muestra los compañeros de equipo en el panel de agentes, debajo de la entrada del prompt. Desde el panel:

80 79 

81* **Flechas arriba y abajo**: seleccionar un compañero de equipo80* **Flechas arriba y abajo**: selecciona un compañero de equipo

82* **Intro**: abrir la transcripción del compañero de equipo seleccionado y enviarle un mensaje directamente81* **Enter**: abre la transcripción del compañero de equipo seleccionado y envíale un mensaje directamente

83* **Escape**: borrar la selección. Mientras está viendo la transcripción de un compañero de equipo, Escape interrumpe el turno actual de ese compañero de equipo82* **Escape**: borra la selección. Mientras ves la transcripción de un compañero de equipo, Escape interrumpe el turno actual de ese compañero

84 83 

85La fila de un compañero de equipo inactivo permanece en el panel mientras cualquier compañero de equipo o subagente siga trabajando, por lo que puedes seleccionarla para revisar su transcripción o enviarle más trabajo. Una vez que cada agente en el panel está inactivo, las filas inactivas se ocultan después de 30 segundos y reaparecen en el siguiente turno del compañero de equipo; el compañero de equipo sigue ejecutándose y es direccionable mientras está oculto.84La fila de un compañero de equipo inactivo permanece en el panel mientras cualquier compañero de equipo o subagente siga trabajando, así que puedes seleccionarla para revisar su transcripción o enviarle más trabajo. Una vez que todos los agentes del panel están inactivos, las filas inactivas se ocultan después de 30 segundos y reaparecen en el siguiente turno del compañero de equipo; el compañero sigue en ejecución y se le puede seguir enviando mensajes mientras está oculto.

86 85 

87Cuando más de tres compañeros de equipo están inactivos a la vez, las filas más allá de las primeras tres se contraen en una sola fila que cuenta los compañeros de equipo contraídos, como `2 idle agents` cuando cinco están inactivos. Selecciónela y presione Intro para expandir las filas contraídas, o presione Esc para contraerlas de nuevo. Los compañeros de equipo que trabajan, los compañeros de equipo que fallaron, y el compañero de equipo que está viendo siempre mantienen sus propias filas.86Cuando más de tres compañeros de equipo están inactivos a la vez, las filas posteriores a las tres primeras se contraen en una sola fila que cuenta los compañeros contraídos, como `2 idle agents` cuando cinco están inactivos. Selecciónala y presiona Enter para expandir las filas contraídas, o presiona Esc para volver a contraerlas. Los compañeros de equipo que están trabajando, los que fallaron y el compañero que estás viendo siempre conservan sus propias filas.

88 87 

89Si desea que cada compañero de equipo esté en su propio panel dividido, vea [Elegir un modo de visualización](#choose-a-display-mode).88Si quieres que cada compañero de equipo esté en su propio panel dividido, consulta [Elegir un modo de visualización](#choose-a-display-mode).

90 89 

91## Controle su equipo de agentes90## Controla tu equipo de agentes

92 91 

93Dígale al líder lo que desea en lenguaje natural. Maneja la coordinación del equipo, asignación de tareas y delegación según sus instrucciones.92Dile al líder lo que quieres en lenguaje natural. Se encarga de la coordinación del equipo, la asignación de tareas y la delegación según tus instrucciones.

94 93 

95### Elegir un modo de visualización94### Elige un modo de visualización

96 95 

97Los equipos de agentes admiten dos modos de visualización:96Los equipos de agentes admiten dos modos de visualización:

98 97 

99* **En proceso**: todos los compañeros de equipo se ejecutan dentro de su terminal principal. Use las teclas de flecha arriba y abajo en el panel del agente para seleccionar un compañero de equipo, luego presione Intro para verlo y escriba para enviarle un mensaje directamente. Funciona en cualquier terminal, sin configuración adicional requerida.98* **En proceso**: todos los compañeros de equipo se ejecutan dentro de tu terminal principal. Usa las teclas de flecha arriba y abajo en el panel de agentes para seleccionar un compañero de equipo, luego presiona Enter para verlo y escribe para enviarle un mensaje directamente. Funciona en cualquier terminal, sin configuración adicional.

100* **Paneles divididos**: cada compañero de equipo obtiene su propio panel. Puede ver la salida de todos a la vez y hacer clic en un panel para interactuar directamente. Requiere tmux o iTerm2.99* **Paneles divididos**: cada compañero de equipo obtiene su propio panel. Puedes ver la salida de todos a la vez y hacer clic en un panel para interactuar directamente. Requiere tmux o iTerm2.

101 100 

102> [!NOTE]101> [!NOTE]

103>102>

104> `tmux` tiene limitaciones conocidas en ciertos sistemas operativos y tradicionalmente funciona mejor en macOS. Usar `tmux -CC` en iTerm2 es el punto de entrada sugerido en `tmux`.103> `tmux` tiene limitaciones conocidas en ciertos sistemas operativos y tradicionalmente funciona mejor en macOS. Usar `tmux -CC` en iTerm2 es el punto de entrada sugerido para `tmux`.

105 104 

106El valor predeterminado es `"in-process"`. Configure `"auto"` para habilitar paneles divididos cuando ya esté ejecutándose dentro de una sesión tmux, o cuando su terminal sea iTerm2 con la CLI `it2` instalada, retrocediendo a en proceso de lo contrario. La configuración `"tmux"` habilita el modo de panel dividido y detecta automáticamente si usar tmux o iTerm2 según su terminal.105El valor predeterminado es `"in-process"`. Establece `"auto"` para habilitar los paneles divididos cuando ya estés ejecutando dentro de una sesión de tmux, o cuando tu terminal sea iTerm2 con la CLI `it2` instalada; de lo contrario, se recurre al modo en proceso. El ajuste `"tmux"` habilita el modo de paneles divididos y detecta automáticamente si usar tmux o iTerm2 según tu terminal.

107 106 

108Configure `"iterm2"` para usar explícitamente paneles divididos nativos de iTerm2. Este modo requiere la [CLI `it2`](https://github.com/mkusaka/it2) y muestra un error con el comando de instalación si falta `it2`. El indicador de configuración que ofrece instalar `it2` o cambiar a tmux aparece bajo `"auto"` o `"tmux"` cuando su terminal es iTerm2 y tmux está disponible como alternativa.107Establece `"iterm2"` para usar explícitamente los paneles divididos nativos de iTerm2. Este modo requiere la [CLI `it2`](https://github.com/mkusaka/it2) y muestra un error con el comando de instalación si falta `it2`. La solicitud de configuración que ofrece instalar `it2` o cambiar a tmux aparece con `"auto"` o `"tmux"` cuando tu terminal es iTerm2 y tmux está disponible como respaldo.

109 108 

110Para anular el valor predeterminado, configure [`teammateMode`](https://code.claude.com/docs/es/settings-reference#teammatemode) en `~/.claude/settings.json`:109Para sobrescribir el valor predeterminado, establece [`teammateMode`](https://code.claude.com/docs/es/settings-reference#teammatemode) en `~/.claude/settings.json`:

111 110 

112```json theme={null}111```json theme={null}

113{112{


115}114}

116```115```

117 116 

118Para establecer el modo para una única sesión, páselo como una bandera:117Para establecer el modo en una sola sesión, pásalo como flag:

119 118 

120```bash theme={null}119```bash theme={null}

121claude --teammate-mode auto120claude --teammate-mode auto

122```121```

123 122 

124El indicador `--teammate-mode` es experimental y no aparece en `claude --help`.123El flag `--teammate-mode` es experimental y no aparece en `claude --help`.

125 124 

126El modo de panel dividido requiere [tmux](https://github.com/tmux/tmux/wiki) o iTerm2 con la [CLI `it2`](https://github.com/mkusaka/it2). Para instalar manualmente:125El modo de paneles divididos requiere [tmux](https://github.com/tmux/tmux/wiki) o iTerm2 con la [CLI `it2`](https://github.com/mkusaka/it2). Para instalarlos manualmente:

127 126 

128* **tmux**: instale a través del gestor de paquetes de su sistema. Vea la [wiki de tmux](https://github.com/tmux/tmux/wiki/Installing) para instrucciones específicas de la plataforma.127* **tmux**: instálalo mediante el gestor de paquetes de tu sistema. Consulta la [wiki de tmux](https://github.com/tmux/tmux/wiki/Installing) para ver las instrucciones específicas de cada plataforma.

129* **iTerm2**: instale la [CLI `it2`](https://github.com/mkusaka/it2), luego habilite la API de Python en **iTerm2 → Settings → General → Magic → Enable Python API**.128* **iTerm2**: instala la [CLI `it2`](https://github.com/mkusaka/it2) y luego habilita la API de Python en **iTerm2 → Settings → General → Magic → Enable Python API**.

130 129 

131### Especificar compañeros de equipo y modelos130### Especifica compañeros de equipo y modelos

132 131 

133Claude decide el número de compañeros de equipo a generar según su tarea, o puede especificar exactamente lo que desea:132Claude decide cuántos compañeros de equipo generar según tu tarea, o puedes especificar exactamente lo que quieres:

134 133 

135```text wrap theme={null}134```text wrap theme={null}

136Spawn 4 teammates to refactor these modules in parallel. Use Sonnet for135Spawn 4 teammates to refactor these modules in parallel. Use Sonnet for

137each teammate.136each teammate.

138```137```

139 138 

140Claude Code elige el modelo de cada compañero de equipo del primero de estos que se aplique:139Claude Code elige el modelo de cada compañero de equipo a partir de la primera de estas opciones que aplique:

141 140 

1421. El modelo que su indicación de generación nombra para ese compañero de equipo.1411. El modelo que tu prompt de generación nombra para ese compañero de equipo.

1432. Para un compañero de equipo generado a partir de una [definición de subagente](#use-subagent-definitions-for-teammates), el `model` de la definición, donde `inherit` selecciona el modelo del líder.1422. Para un compañero de equipo generado a partir de una [definición de subagente](#use-subagent-definitions-for-teammates), el `model` de la definición, donde `inherit` selecciona el modelo del líder.

1443. [`CLAUDE_CODE_SUBAGENT_MODEL`](https://code.claude.com/docs/es/model-config#environment-variables), cuando está configurado en algo distinto de `inherit`.1433. [`CLAUDE_CODE_SUBAGENT_MODEL`](https://code.claude.com/docs/es/model-config#environment-variables), cuando está establecida en cualquier valor distinto de `inherit`.

1454. El modelo actual del líder.1444. El modelo actual del líder.

146 145 

147Si un [mod](https://code.claude.com/docs/es/plugins/mods/overview.md) instalado establece un modelo en su hook [`agent.spawn`](https://code.claude.com/docs/es/plugins/mods/reference#subagents), Claude Code usa ese modelo en lugar de la primera fuente.146Si un [mod](https://code.claude.com/docs/es/plugins/mods/overview.md) instalado establece un modelo en su hook [`agent.spawn`](https://code.claude.com/docs/es/plugins/mods/reference#subagents), Claude Code usa ese modelo en lugar de la primera fuente.

148 147 

149Si configura [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`](https://code.claude.com/docs/es/sub-agents#run-every-subagent-on-one-model), las dos primeras fuentes no se aplican. Claude Code elige el modelo de cada compañero de equipo de `CLAUDE_CODE_SUBAGENT_MODEL` cuando está configurado en algo distinto de `inherit`, y del modelo actual del líder de lo contrario. Requiere Claude Code v2.1.257 o posterior.148Si estableces [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`](https://code.claude.com/docs/es/sub-agents#run-every-subagent-on-one-model), las dos primeras fuentes no aplican. Claude Code elige el modelo de cada compañero de equipo a partir de `CLAUDE_CODE_SUBAGENT_MODEL` cuando está establecida en cualquier valor distinto de `inherit`, y del modelo actual del líder en caso contrario. Requiere Claude Code v2.1.257 o posterior.

150 149 

151Antes de v2.1.251, `CLAUDE_CODE_SUBAGENT_MODEL` venía primero en este orden.150Antes de v2.1.251, `CLAUDE_CODE_SUBAGENT_MODEL` iba primero en este orden.

152 151 

153> [!NOTE]152> [!NOTE]

154>153>

155> `teammateDefaultModel` fue eliminado en v2.1.234; Claude Code ignora un valor restante. Nombre el modelo en su indicación en su lugar.154> `teammateDefaultModel` se eliminó en v2.1.234; Claude Code ignora cualquier valor restante. En su lugar, nombra el modelo en tu prompt.

156 155 

157Claude Code verifica el modelo que selecciona para un compañero de equipo contra la lista de permitidos [`availableModels`](https://code.claude.com/docs/es/model-config#restrict-model-selection) de su organización. Cuando la lista de permitidos bloquea un valor, Claude Code sustituye otro modelo:156Claude Code compara el modelo que selecciona para un compañero de equipo con la lista de permitidos [`availableModels`](https://code.claude.com/docs/es/model-config#restrict-model-selection) de tu organización. Cuando la lista de permitidos bloquea un valor, Claude Code lo sustituye por otro modelo:

158 157 

159* **Alias de familia como `opus`**: En la API de Anthropic y Claude Platform en AWS, Claude Code ejecuta el compañero de equipo en la versión más nueva de esa familia que la lista de permitidos permite. En proveedores con IDs 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 retrocede como cualquier otro valor bloqueado según la siguiente viñeta158* **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

160* **Cualquier otro valor bloqueado, incluido un alias de familia en proveedores donde la sustitución no opera, o uno cuya familia no tiene versión permitida**: Claude Code ejecuta el compañero de equipo en el modelo del líder en su lugar. Si configura `CLAUDE_CODE_SUBAGENT_MODEL`, Claude Code intenta ese modelo primero, 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

161 160 

162De 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 modo de panel dividido esto se aplica desde v2.1.186; las versiones anteriores no pasaban el esfuerzo de sesión del líder a los compañeros de equipo de panel dividido.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.

163 162 

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

165 164 

166Para tareas complejas o riesgosas, puede 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 de plan](https://code.claude.com/docs/es/permission-modes.md#analyze-before-you-edit-with-plan-mode) funciona en modo de plan de solo lectura hasta que su plan esté listo. Cambie el líder al modo de plan primero, luego pida 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) 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:

167 166 

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

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

170```169```

171 170 

172Cuando ese compañero de equipo termina de planificar, envía una solicitud de aprobación de 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 tan pronto como llega la solicitud, sin que el líder lo revise. Las ediciones y comandos del compañero de equipo aún pasan 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. 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.

173 172 

174Si 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.

175 174 

176### Hable directamente con los compañeros de equipo175### Habla directamente con los compañeros de equipo

177 176 

178Cada compañero de equipo es una sesión completa e independiente de Claude Code. Puede enviar un mensaje a cualquier compañero de equipo directamente para dar instrucciones adicionales, hacer preguntas de seguimiento o redirigir su enfoque.177Cada compañero de equipo es una sesión de Claude Code completa e independiente. Puedes enviar un mensaje directamente a cualquier compañero de equipo para darle instrucciones adicionales, hacerle preguntas de seguimiento o redirigir su enfoque.

179 178 

180* **Modo en proceso**: use las teclas de flecha arriba y abajo en el panel del agente para seleccionar un compañero de equipo, luego presione Intro para ver su sesión y escriba para enviarle un mensaje. Presione `x` en un compañero de equipo seleccionado para detenerlo. Presione Ctrl+T para alternar la lista de tareas.179* **Modo en proceso**: usa las teclas de flecha arriba y abajo en el panel de agentes para seleccionar un compañero de equipo, luego presiona Enter para ver su sesión y escribe para enviarle un mensaje. Presiona `x` sobre un compañero de equipo seleccionado para detenerlo. Presiona Ctrl+T para mostrar u ocultar la lista de tareas.

181* **Modo de panel dividido**: haga clic en el panel de un compañero de equipo para interactuar directamente con su sesión. Cada compañero de equipo tiene una vista completa de su propio terminal.180* **Modo de paneles divididos**: haz clic en el panel de un compañero de equipo para interactuar directamente con su sesión. Cada compañero de equipo tiene una vista completa de su propia terminal.

182 181 

183Mientras ves un compañero de equipo en proceso, el texto sin formato y los [skills](https://code.claude.com/docs/es/skills.md) van a ese compañero de equipo, y los comandos integrados van a la sesión del líder, con estas salvaguardas:182Mientras ves a un compañero de equipo en proceso, el texto sin formato y los [skills](https://code.claude.com/docs/es/skills.md) van a ese compañero de equipo, y los comandos integrados van a la sesión del líder, con estas salvaguardas:

184 183 

185* `/compact`, `/clear` y `/rewind` actúan sobre la conversación del líder, por lo que Claude Code te pide confirmación antes de ejecutar cualquiera de ellos desde esta vista.184* `/compact`, `/clear` y `/rewind` actúan sobre la conversación del líder, por lo que Claude Code te pide confirmación antes de ejecutar uno de ellos desde esta vista.

186* `/model` y `/fast` establecen el modelo y el modo rápido del líder, no los del compañero de equipo, por lo que no se ejecutan desde esta vista. Un aviso te explica por qué.185* `/model` y `/fast` establecen el modelo y el modo rápido del líder, no los del compañero de equipo, por lo que no se ejecutan desde esta vista. Un aviso te explica por qué.

187 186 

188El modelo y el modo rápido de un compañero de equipo se fijan cuando se genera.187El modelo y el modo rápido de un compañero de equipo quedan fijos cuando se genera.

189 188 

190### Asignar y reclamar tareas189### Asigna y reclama tareas

191 190 

192La lista de tareas compartida coordina el trabajo en todo el equipo. El líder crea tareas y los compañeros de equipo las van completando. Las tareas tienen tres estados: pendiente, en progreso y completada. Una tarea también puede depender de otras tareas y aparece como bloqueada en la lista de tareas hasta que estas se completen. Los compañeros de equipo no reclaman por su cuenta una tarea bloqueada, pero tú o el líder aún pueden asignarla.191La lista de tareas compartida coordina el trabajo en todo el equipo. El líder crea tareas y los compañeros de equipo las van completando. Las tareas tienen tres estados: pendiente, en curso y completada. Una tarea también puede depender de otras tareas y se muestra como bloqueada en la lista de tareas hasta que estas se completen. Los compañeros de equipo no reclaman por su cuenta una tarea bloqueada, pero tú o el líder aún pueden asignarla.

193 192 

194Los agentes [sin las herramientas Task](https://code.claude.com/docs/es/tools-reference.md#task-tool-availability) coordinan a través de mensajes en su lugar de la lista de tareas compartida.193Los agentes [sin las herramientas Task](https://code.claude.com/docs/es/tools-reference.md#task-tool-availability) se coordinan mediante mensajes en lugar de la lista de tareas compartida.

195 194 

196El líder puede asignar tareas explícitamente, o los compañeros de equipo pueden auto-reclamar:195El líder puede asignar tareas explícitamente, o los compañeros de equipo pueden reclamarlas por su cuenta:

197 196 

198* **El líder asigna**: dígale al líder qué tarea dar a qué compañero de equipo197* **El líder asigna**: dile al líder qué tarea darle a qué compañero de equipo

199* **Auto-reclamar**: después de terminar una tarea, un compañero de equipo recoge la siguiente tarea sin asignar y sin bloquear por su cuenta198* **Autorreclamación**: después de terminar una tarea, un compañero de equipo toma por su cuenta la siguiente tarea sin asignar y sin bloquear

200 199 

201El reclamo de tareas usa bloqueo de archivos para prevenir condiciones de carrera cuando múltiples compañeros de equipo intentan reclamar la misma tarea simultáneamente.200La reclamación de tareas usa bloqueo de archivos para evitar condiciones de carrera cuando varios compañeros de equipo intentan reclamar la misma tarea simultáneamente.

202 201 

203### Apagar compañeros de equipo202### Cierra compañeros de equipo

204 203 

205Para terminar gracefully la sesión de un compañero de equipo, refiriéndose a él por nombre. Por ejemplo, con un compañero de equipo llamado investigador:204Para finalizar correctamente la sesión de un compañero de equipo, refiérete a él por su nombre. Por ejemplo, con un compañero de equipo llamado researcher:

206 205 

207```text wrap theme={null}206```text wrap theme={null}

208Ask the researcher teammate to shut down207Ask the researcher teammate to shut down

209```208```

210 209 

211El líder envía una solicitud de apagado. El compañero de equipo puede aprobar, saliendo gracefully, o rechazar con una explicación.210El líder envía una solicitud de cierre. El compañero de equipo puede aprobarla, saliendo correctamente, o rechazarla con una explicación.

212 211 

213Los directorios compartidos del equipo se limpian automáticamente cuando finaliza la sesión, por lo que no hay un paso de limpieza separado. Consulta [Arquitectura](#architecture) para saber qué directorios se eliminan y cuáles permanecen en el disco.212Los directorios compartidos del equipo se limpian automáticamente cuando termina la sesión, por lo que no hay un paso de limpieza aparte. Consulta [Arquitectura](#architecture) para ver qué directorios se eliminan y cuáles permanecen en el disco.

214 213 

215### Aplicar puertas de calidad con hooks214### Aplica controles de calidad con hooks

216 215 

217Use [hooks](https://code.claude.com/docs/es/hooks.md) para aplicar reglas cuando los compañeros de equipo terminen el trabajo o las tareas se creen o completen:216Usa [hooks](https://code.claude.com/docs/es/hooks.md) para aplicar reglas cuando los compañeros de equipo terminan su trabajo o cuando se crean o completan tareas:

218 217 

219* [`TeammateIdle`](https://code.claude.com/docs/es/hooks#teammateidle): se ejecuta cuando un compañero de equipo está a punto de quedarse inactivo. Salga con código 2 para enviar retroalimentación y mantener al compañero de equipo trabajando.218* [`TeammateIdle`](https://code.claude.com/docs/es/hooks#teammateidle): se ejecuta cuando un compañero de equipo está a punto de quedar inactivo. Sal con el código 2 para enviar comentarios y mantener al compañero de equipo trabajando.

220* [`TaskCreated`](https://code.claude.com/docs/es/hooks#taskcreated): se ejecuta cuando una tarea está siendo creada. Salga con código 2 para prevenir la creación y enviar retroalimentación.219* [`TaskCreated`](https://code.claude.com/docs/es/hooks#taskcreated): se ejecuta cuando se está creando una tarea. Sal con el código 2 para impedir la creación y enviar comentarios.

221* [`TaskCompleted`](https://code.claude.com/docs/es/hooks#taskcompleted): se ejecuta cuando una tarea está siendo marcada como completada. Salga con código 2 para prevenir la finalización y enviar retroalimentación.220* [`TaskCompleted`](https://code.claude.com/docs/es/hooks#taskcompleted): se ejecuta cuando una tarea se está marcando como completada. Sal con el código 2 para impedir que se complete y enviar comentarios.

222 221 

223## Cómo funcionan los equipos de agentes222## Cómo funcionan los equipos de agentes

224 223 


420 419 

421### Los compañeros de equipo no aparecen420### Los compañeros de equipo no aparecen

422 421 

423Si los compañeros de equipo no aparecen después de que le pida a Claude que cree un equipo:422Si los compañeros de equipo no aparecen después de pedirle a Claude que los genere:

424 423 

425* En modo en proceso, los compañeros de equipo aparecen en el panel del agente debajo de la entrada del mensaje. Use las teclas de flecha arriba y abajo para seleccionar uno, luego presione Intro para verlo.424* En el modo en proceso, los compañeros de equipo aparecen en el panel de agentes debajo del campo de entrada del prompt. Usa las teclas de flecha arriba y abajo para seleccionar uno y luego presiona Enter para verlo.

426* Una fila de compañero de equipo que desapareció después de estar inactiva ha sido ocultada, no detenida. Las filas inactivas se ocultan 30 segundos después de que todo el panel se queda inactivo y reaparecen en el siguiente turno del compañero de equipo. Cuando más de tres compañeros de equipo están inactivos, sus filas excedentes se contraen en una única fila `N idle agents` que Intro expande. Envíe un mensaje al compañero de equipo por nombre para traer de vuelta una fila oculta.425* Una fila de compañero de equipo que desapareció después de permanecer inactiva se ocultó, no se detuvo. Las filas inactivas se ocultan 30 segundos después de que todo el panel queda inactivo y vuelven a aparecer en el siguiente turno del compañero de equipo. Cuando hay más de tres compañeros de equipo inactivos, sus filas excedentes se contraen en una sola fila `N idle agents` que Enter expande. Envía un mensaje al compañero de equipo por su nombre para que una fila oculta vuelva a aparecer.

427* Verifique que la tarea que le dio a Claude fue lo suficientemente compleja para justificar un equipo. Claude decide si generar compañeros de equipo según la tarea.426* Verifica que la tarea que le diste a Claude fuera lo suficientemente compleja como para justificar un equipo. Claude decide si genera compañeros de equipo en función de la tarea.

428* Si solicitó explícitamente paneles divididos, asegúrese de que tmux esté instalado y disponible en su PATH:427* Si solicitaste explícitamente paneles divididos, asegúrate de que tmux esté instalado y disponible en tu PATH:

429 ```bash theme={null}428 ```bash theme={null}

430 which tmux429 which tmux

431 ```430 ```

432* Para iTerm2, verifique que la CLI `it2` esté instalada y la API de Python esté habilitada en las preferencias de iTerm2.431* Para iTerm2, verifica que la CLI `it2` esté instalada y que la Python API esté habilitada en las preferencias de iTerm2.

433 432 

434### Claude genera compañeros de equipo en lugar de subagentes433### Claude genera compañeros de equipo en lugar de subagentes

435 434 

436Mientras los equipos de agentes estén habilitados, un subagente que Claude nombra en la sesión del líder se inicia como un compañero de equipo. Claude [puede nombrar subagentes por su cuenta](#how-claude-starts-agent-teams), por lo que esto puede suceder durante la delegación que nunca enmarcó como trabajo en equipo.435Mientras los equipos de agentes están habilitados, un subagente al que Claude asigna un nombre en la sesión del líder se inicia como compañero de equipo. Claude [puede asignar nombres a los subagentes por su cuenta](#how-claude-starts-agent-teams), así que esto puede ocurrir durante una delegación que nunca planteaste como trabajo en equipo.

437 436 

438Para hacer que los subagentes nombrados se inicien como subagentes nuevamente, desactive los equipos de agentes configurando `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` a `0`:437Para que los subagentes con nombre vuelvan a iniciarse como subagentes, desactiva los equipos de agentes estableciendo `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` en `0`:

439 438 

440```json settings.json theme={null}439```json settings.json theme={null}

441{440{


445}444}

446```445```

447 446 

448No necesita iniciar una nueva sesión: Claude Code reaplica los valores `env` del archivo de configuración a la sesión en ejecución cuando guarda, y relee la variable cada vez que Claude genera un subagente, por lo que el siguiente subagente que Claude nombra se inicia como un subagente.447No necesitas iniciar una nueva sesión: Claude Code vuelve a aplicar los valores `env` del archivo de configuración a la sesión en ejecución cuando guardas, y vuelve a leer la variable cada vez que Claude genera un subagente, así que el siguiente subagente al que Claude asigne un nombre se inicia como subagente.

449 448 

450Configurar la variable a `0` en su `settings.json` de usuario anula una exportación de shell. Otras fuentes de configuración aún pueden habilitar equipos de agentes:449Establecer la variable en `0` en tu `settings.json` de usuario sobrescribe una exportación del shell. Otras fuentes de configuración todavía pueden habilitar los equipos de agentes:

451 450 

452* **Archivos de configuración de mayor precedencia**: la configuración del proyecto, la configuración local y una carga `--settings` se aplican después de la configuración del usuario, por lo que una entrada `env` que establece la variable a `1` en cualquiera de ellas gana. Consulte [Precedencia de configuración](https://code.claude.com/docs/es/settings.md#settings-precedence).451* **Archivos de configuración con mayor precedencia**: la configuración del proyecto, la configuración local y un payload de `--settings` se aplican después de la configuración de usuario, así que una entrada `env` que establezca la variable en `1` en cualquiera de ellos prevalece. Consulta [Precedencia de la configuración](https://code.claude.com/docs/es/settings.md#settings-precedence).

453* **Configuración administrada**: la [configuración administrada](https://code.claude.com/docs/es/server-managed-settings.md) se aplica después de todas las otras fuentes. Si su organización habilita equipos de agentes allí, pida a su administrador que cambie el valor administrado.452* **Configuración administrada**: la [configuración administrada](https://code.claude.com/docs/es/server-managed-settings.md) se aplica después de todas las demás fuentes. Si tu organización habilita los equipos de agentes ahí, pídele a tu administrador que cambie el valor administrado.

454 453 

455Después del cambio, Claude aún puede nombrar subagentes, y el nombre sigue funcionando como una [dirección `SendMessage`](https://code.claude.com/docs/es/sub-agents#resume-subagents). Claude recibe el resultado de cada subagente cuando se completa.454Después del cambio, Claude todavía puede asignar nombres a los subagentes, y el nombre sigue funcionando como [dirección de `SendMessage`](https://code.claude.com/docs/es/sub-agents#resume-subagents). Claude recibe el resultado de cada subagente cuando termina.

456 455 

457### Demasiados avisos de permisos456### Demasiadas solicitudes de permiso

458 457 

459Las solicitudes de permisos de compañeros de equipo suben al líder, lo que puede crear fricción. Pre-apruebe operaciones comunes en su [configuración de permisos](https://code.claude.com/docs/es/permissions.md) antes de generar compañeros de equipo para reducir interrupciones.458Las solicitudes de permiso de los compañeros de equipo se transmiten al líder, lo que puede generar fricción. Aprueba previamente las operaciones comunes en tu [configuración de permisos](https://code.claude.com/docs/es/permissions.md) antes de generar compañeros de equipo para reducir las interrupciones.

460 459 

461### Los agentes se detienen antes de tiempo460### Los agentes se detienen antes de tiempo

462 461 

463Los compañeros de equipo pueden detenerse después de encontrar errores en lugar de recuperarse. Verifique su salida seleccionando el compañero de equipo en el panel del agente y presionando Intro en modo en proceso, o haciendo clic en el panel en modo dividido, luego:462Los compañeros de equipo pueden detenerse después de encontrar errores en lugar de recuperarse. Revisa su salida seleccionando al compañero de equipo en el panel de agentes y presionando Enter en el modo en proceso, o haciendo clic en el panel en el modo dividido, y luego:

464 463 

465* Deles instrucciones adicionales directamente464* Dales instrucciones adicionales directamente

466* Genere un compañero de equipo de reemplazo para continuar el trabajo465* Genera un compañero de equipo de reemplazo para continuar el trabajo

467 466 

468Un mensaje del líder u otro compañero de equipo despierta a un compañero de equipo en proceso que está esperando reintentar una solicitud de API fallida, por lo que lo reintenta inmediatamente en lugar de esperar el retraso de reintento completo.467Un mensaje del líder o de otro compañero de equipo despierta a un compañero de equipo en proceso que está esperando para reintentar una solicitud de API fallida, de modo que reintenta de inmediato en lugar de esperar todo el tiempo de reintento.

469 468 

470El líder también puede detenerse antes de tiempo, decidiendo que el equipo está terminado antes de que todas las tareas estén realmente completas. Si eso sucede, dígale que continúe.469El líder también puede detenerse antes de tiempo y decidir que el equipo terminó antes de que todas las tareas estén realmente completas. Si eso ocurre, dile que continúe.

471 470 

472### Sesiones tmux huérfanas471### Sesiones de tmux huérfanas

473 472 

474Si una sesión tmux persiste después de que el equipo termina, puede no haber sido completamente limpiada. Enumere sesiones y mate la creada por el equipo:473Si una sesión de tmux persiste después de que termina la sesión de Claude Code, es posible que no se haya limpiado por completo. Lista las sesiones y termina la que creó el equipo:

475 474 

476```bash theme={null}475```bash theme={null}

477tmux ls476tmux ls

Details

24 24 

25## Iniciar sesión con Bedrock25## Iniciar sesión con Bedrock

26 26 

27Si tiene credenciales de AWS y desea comenzar a usar Claude Code a través de Amazon Bedrock, el asistente de inicio de sesión lo guía a través del proceso. Completa los requisitos previos del lado de AWS una vez por cuenta; el asistente maneja el lado de Claude Code.27Si tienes credenciales de AWS y quieres empezar a usar Claude Code a través de Amazon Bedrock, el asistente de inicio de sesión te guía en el proceso. Completas los requisitos previos del lado de AWS una vez por cuenta; el asistente se encarga del lado de Claude Code.

28 28 

29**1. Habilitar modelos de Anthropic en su cuenta de AWS**29**1. Habilita los modelos de Anthropic en tu cuenta de AWS**

30 30 

31En la [consola de Amazon Bedrock](https://console.aws.amazon.com/bedrock/), abra el catálogo de modelos, seleccione un modelo de Anthropic y envíe el formulario de caso de uso. El acceso se otorga inmediatamente después del envío. Consulte [Enviar detalles del caso de uso](#1-submit-use-case-details) para AWS Organizations y [Configuración de IAM](#iam-configuration) para los permisos que su rol necesita.31En la [consola de Amazon Bedrock](https://console.aws.amazon.com/bedrock/), abre el Model catalog, selecciona un modelo de Anthropic y envía el formulario de caso de uso. El acceso se otorga inmediatamente después del envío. Consulta [Enviar detalles del caso de uso](#1-submit-use-case-details) para AWS Organizations y [Configuración de IAM](#iam-configuration) para conocer los permisos que necesita tu rol.

32 32 

33**2. Inicie Claude Code y elija Amazon Bedrock**33**2. Inicia Claude Code y elige Amazon Bedrock**

34 34 

35Ejecute `claude`. En el mensaje de inicio de sesión, seleccione **plataforma de terceros**, luego **Amazon Bedrock**. Si ya ha iniciado sesión y ve el mensaje de chat en su lugar, ejecute `/setup-bedrock` para abrir el asistente. Hasta que se establezca `CLAUDE_CODE_USE_BEDROCK=1`, Claude Code [oculta el comando del menú de comandos](https://code.claude.com/docs/es/commands.md#how-the-command-menu-matches-what-you-type); escríbalo en su totalidad.35Ejecuta `claude`. En la pantalla de inicio de sesión, selecciona **3rd-party platform** y luego **Amazon Bedrock**. Si ya iniciaste sesión y ves el prompt del chat en su lugar, ejecuta `/setup-bedrock` para abrir el asistente. Hasta que se establezca `CLAUDE_CODE_USE_BEDROCK=1`, Claude Code [oculta el comando del menú de comandos](https://code.claude.com/docs/es/commands.md#how-the-command-menu-matches-what-you-type); escríbelo completo.

36 36 

37**3. Siga los mensajes del asistente**37**3. Sigue las indicaciones del asistente**

38 38 

39Elija cómo se autentica en AWS: un perfil de AWS detectado desde su directorio `~/.aws`, una clave de API de Amazon Bedrock, una clave de acceso y un secreto, o credenciales ya en su entorno. El asistente le pide su región, verifica qué modelos de Claude puede invocar su cuenta y le permite fijarlos. Guarda el resultado en el bloque `env` de su [archivo de configuración de usuario](https://code.claude.com/docs/es/settings.md), por lo que no necesita exportar variables de entorno usted mismo.39Elige cómo te autenticas en AWS: un perfil de AWS detectado en tu directorio `~/.aws`, una clave de API de Amazon Bedrock, una clave de acceso y un secreto, o credenciales que ya están en tu entorno. El asistente te pide tu región, verifica qué modelos de Claude puede invocar tu cuenta y te permite fijarlos. Guarda el resultado en el bloque `env` de tu [archivo de configuración de usuario](https://code.claude.com/docs/es/settings.md), así que no necesitas exportar variables de entorno tú mismo.

40 40 

41Después de haber iniciado sesión, ejecute `/setup-bedrock` en cualquier momento para reabrir el asistente y cambiar sus credenciales, región o fijaciones de modelo. El paso de fijación de modelo comienza desde sus modelos actualmente fijados. El asistente escribe en `~/.claude/settings.json`, o en `$CLAUDE_CONFIG_DIR/settings.json` cuando [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/es/env-vars#variables) está establecido.41Después de iniciar sesión, ejecuta `/setup-bedrock` en cualquier momento para volver a abrir el asistente y cambiar tus credenciales, tu región o los modelos fijados. El paso de fijación de modelos parte de los modelos que tienes fijados actualmente. El asistente escribe en `~/.claude/settings.json`, o en `$CLAUDE_CONFIG_DIR/settings.json` cuando [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/es/env-vars#variables) está establecido.

42 42 

43## Configurar manualmente43## Configurar manualmente

44 44 

authentication.md +36 −25

Details

8 8 

9Claude Code admite múltiples métodos de autenticación según su configuración. Los usuarios individuales pueden iniciar sesión con una cuenta de Claude.ai, mientras que los equipos pueden usar Claude for Teams o Enterprise, la Claude Console, o un proveedor de nube como Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry.9Claude Code admite múltiples métodos de autenticación según su configuración. Los usuarios individuales pueden iniciar sesión con una cuenta de Claude.ai, mientras que los equipos pueden usar Claude for Teams o Enterprise, la Claude Console, o un proveedor de nube como Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry.

10 10 

11## Inicie sesión en Claude Code11## Iniciar sesión en Claude Code

12 12 

13Después de [instalar Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code), ejecuta `claude` en tu terminal. En el primer lanzamiento, Claude Code abre una ventana del navegador para que inicies sesión, excepto en casos como estos, en los que puede omitir el prompt de inicio de sesión:13Después de [instalar Claude Code](https://code.claude.com/docs/es/setup.md#install-claude-code), ejecuta `claude` en tu terminal. Claude Code abre una ventana del navegador para que inicies sesión en el primer inicio, excepto en casos como estos, en los que puede omitir el prompt de inicio de sesión:

14 14 

15* **Clave de API**: estableciste la variable de entorno `ANTHROPIC_API_KEY` y apruebas la clave cuando Claude Code te pregunta si quieres usarla15* **Clave de API**: configuraste la variable de entorno `ANTHROPIC_API_KEY` y apruebas la clave cuando Claude Code pregunta si debe usarla

16* **Inicio de sesión anterior**: ejecutaste [`claude auth login`](https://code.claude.com/docs/es/cli-reference#cli-commands) en tu shell antes de tu primera sesión, o reconstruiste un dev container que guarda tus credenciales en un [volumen](https://code.claude.com/docs/es/devcontainer.md#persist-authentication-and-settings-across-rebuilds). Si de todos modos ves el prompt de inicio de sesión, [revisa qué puede causarlo](#login-prompt-still-appears-after-an-earlier-sign-in).16* **Inicio de sesión anterior**: ejecutaste [`claude auth login`](https://code.claude.com/docs/es/cli-reference#cli-commands) en tu shell antes de tu primera sesión, o reconstruiste un dev container que guarda tus credenciales en un [volumen](https://code.claude.com/docs/es/devcontainer.md#persist-authentication-and-settings-across-rebuilds). Si aun así ves el prompt de inicio de sesión, [revisa qué puede causarlo](#login-prompt-still-appears-after-an-earlier-sign-in).

17 17 

18Si el navegador no se abre automáticamente, presione `c` para copiar la URL de inicio de sesión al portapapeles y luego péguelo en su navegador.18Si el navegador no se abre automáticamente, presiona `c` para copiar la URL de inicio de sesión a tu portapapeles y luego pégala en tu navegador.

19 19 

20Si su navegador muestra un código de inicio de sesión en lugar de redirigirse después de que inicie sesión, péguelo en el terminal en el símbolo del sistema `Paste code here if prompted`. Esto sucede cuando el navegador no puede alcanzar el servidor de devolución de llamada local de Claude Code, lo cual es común en WSL2, sesiones SSH y contenedores.20Si tu navegador muestra un código de inicio de sesión en lugar de redirigirte de vuelta después de iniciar sesión, pégalo en la terminal en el prompt `Paste code here if prompted`.

21 21 

22Cuando el inicio de sesión se completa, el terminal muestra `Login successful` y le solicita que presione `Enter` para continuar.22Cuando se completa el inicio de sesión, la terminal muestra `Login successful` y te pide que presiones `Enter` para continuar.

23 23 

24Puede autenticarse con cualquiera de estos tipos de cuenta:24Puedes autenticarte con cualquiera de estos tipos de cuenta:

25 25 

26* **Suscripción Claude Pro o Max**: inicie sesión con su cuenta de claude.ai. Suscríbase en [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).26* **Suscripción Claude Pro o Max**: inicia sesión con tu cuenta de claude.ai. Suscríbete en [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).

27* **Claude for Teams o Enterprise**: inicie sesión con la cuenta de claude.ai que su administrador de equipo le invitó a usar.27* **Claude for Teams o Enterprise**: inicia sesión con la cuenta de claude.ai a la que te invitó el administrador de tu equipo.

28* **Claude Console**: inicie sesión con sus credenciales de Console. Su administrador debe haberle [invitado](#claude-console-authentication) primero. Puede iniciar sesión con o sin [crear una clave de API](#sign-in-without-an-api-key).28* **Claude Console**: inicia sesión con tus credenciales de Console. Tu administrador debe haberte [invitado](#claude-console-authentication) primero. Puedes iniciar sesión [creando una clave de API o sin crearla](#sign-in-without-an-api-key).

29* **Proveedores de nube**: si su organización usa [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md) o [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md), establezca las variables de entorno requeridas antes de ejecutar `claude`, o seleccione **plataforma de terceros** en el símbolo del sistema de inicio de sesión, que inicia un asistente de configuración interactivo para Bedrock y Vertex AI. No se necesita inicio de sesión en el navegador.29* **Proveedores de nube**: si tu organización usa [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Agent Platform de Google Cloud](https://code.claude.com/docs/es/google-vertex-ai.md) o [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md), configura las variables de entorno necesarias antes de ejecutar `claude`, o selecciona **3rd-party platform** en el prompt de inicio de sesión, lo que abre un asistente de configuración interactivo para Bedrock y Vertex AI. No se necesita iniciar sesión en el navegador.

30* **Puerta de enlace en la nube**: si su organización ejecuta una [puerta de enlace de aplicaciones Claude](https://code.claude.com/docs/es/claude-apps-gateway) autohospedada, inicie sesión con SSO corporativo a través de `/login`. El token emitido por la puerta de enlace es la única credencial de la sesión.30* **Cloud gateway**: si tu organización ejecuta un [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway) autoalojado, inicia sesión con el SSO corporativo a través de `/login`. El token emitido por el gateway es la única credencial de la sesión.

31 31 

32Los administradores pueden dirigir qué método de inicio de sesión utilizan los desarrolladores y requerir que los inicios de sesión de claude.ai pertenezcan a una organización específica; consulte [Restringir el inicio de sesión a su organización](#restrict-login-to-your-organization).32Los administradores pueden indicar qué método de inicio de sesión usan los desarrolladores y exigir que los inicios de sesión de claude.ai pertenezcan a una organización específica; consulta [Restringir el inicio de sesión a tu organización](#restrict-login-to-your-organization).

33 33 

34Para cerrar sesión y volver a autenticarse, escriba `/logout` en el símbolo del sistema de Claude Code. Cerrar sesión también restablece su estado de configuración de primer lanzamiento, por lo que la próxima vez que ejecute `claude` le guiará a través del inicio de sesión y la configuración nuevamente.34Para cerrar sesión y volver a autenticarte, escribe `/logout` en el prompt de Claude Code. Cerrar sesión también restablece el estado de configuración del primer inicio, por lo que la próxima vez que ejecutes `claude` te guiará de nuevo por el inicio de sesión y la configuración.

35 35 

36Si tiene problemas para iniciar sesión, consulte [solución de problemas de autenticación](https://code.claude.com/docs/es/troubleshoot-install.md#login-and-authentication).36Si tienes problemas para iniciar sesión, consulta [solución de problemas de autenticación](https://code.claude.com/docs/es/troubleshoot-install.md#login-and-authentication).

37 37 

38### El prompt de inicio de sesión sigue apareciendo después de un inicio de sesión anterior38### El prompt de inicio de sesión sigue apareciendo después de un inicio de sesión anterior

39 39 

40Si iniciaste sesión antes y la configuración de primer lanzamiento muestra el prompt de inicio de sesión en lugar de [omitirlo](#log-in-to-claude-code), revisa causas como estas:40Si iniciaste sesión antes y la configuración del primer inicio muestra el prompt de inicio de sesión en lugar de [omitirlo](#log-in-to-claude-code), revisa causas como estas:

41 41 

42* **Inicio de sesión vencido**: tu inicio de sesión anterior venció y Claude Code no puede renovarlo. Vuelve a iniciar sesión en el prompt.42* **Inicio de sesión vencido**: tu inicio de sesión anterior venció y Claude Code no puede renovarlo. Vuelve a iniciar sesión en el prompt.

43* **Inicio de sesión restringido a una organización**: un administrador estableció [`forceLoginOrgUUID`](https://code.claude.com/docs/es/settings-reference#forceloginorguuid) en la configuración administrada para [exigir inicios de sesión de organizaciones específicas](#restrict-login-to-your-organization). El prompt aparece tanto si tu cuenta pertenece a una de ellas como si no. Inicia sesión con una cuenta de una organización requerida. Si no tienes una, pídele a tu administrador que te agregue.43* **Inicio de sesión restringido a una organización**: un administrador configuró [`forceLoginOrgUUID`](https://code.claude.com/docs/es/settings-reference#forceloginorguuid) en la configuración administrada para [exigir inicios de sesión de organizaciones específicas](#restrict-login-to-your-organization). El prompt aparece tanto si tu cuenta pertenece a una de ellas como si no. Inicia sesión con una cuenta de una organización requerida. Si no tienes una, pídele a tu administrador que te agregue.

44* **Método de inicio de sesión requerido**: tu inicio de sesión no es del tipo que exige [`forceLoginMethod`](https://code.claude.com/docs/es/settings-reference#forceloginmethod) en un archivo de configuración. Con `"claudeai"`, una clave de API de un inicio de sesión anterior en Claude Console no cuenta como inicio de sesión existente. Con `"console"`, una cuenta de claude.ai no cuenta. Inicia sesión con el tipo de cuenta que indica ese ajuste.44* **Método de inicio de sesión requerido**: tu inicio de sesión no es del tipo que exige [`forceLoginMethod`](https://code.claude.com/docs/es/settings-reference#forceloginmethod) en un archivo de configuración. Con `"claudeai"`, una clave de API de un inicio de sesión anterior en Claude Console no cuenta como un inicio de sesión existente. Con `"console"`, una cuenta de claude.ai no cuenta. Inicia sesión con el tipo de cuenta que indica ese ajuste.

45* **Versión anterior**: antes de la v2.1.290, el prompt aparecía durante la configuración hubieras iniciado sesión o no. [Actualiza Claude Code](https://code.claude.com/docs/es/setup.md#update-claude-code) para omitirlo.45* **Versión anterior**: antes de la v2.1.290, el prompt aparecía durante la configuración tanto si habías iniciado sesión como si no. [Actualiza Claude Code](https://code.claude.com/docs/es/setup.md#update-claude-code) para omitirlo.

46 46 

47### Inicie sesión con varias cuentas47### Iniciar sesión con varias cuentas

48 48 

49Para mantenerse conectado a varias cuentas a la vez, como cuentas de trabajo y personales, asigne a cada cuenta su propio directorio de configuración. Cuando inicie `claude`, establezca la variable de entorno [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/es/env-vars#variables) en el directorio de la cuenta que desea usar. Cada directorio tiene su propia configuración, historial de sesiones y inicio de sesión de claude.ai o clave de API. Por ejemplo, en Bash o Zsh, agregue este alias a `~/.bashrc` o `~/.zshrc` para que `claude-work` use su cuenta de trabajo mientras que `claude` mantiene la suya personal:49Para mantener la sesión iniciada en varias cuentas a la vez, como una cuenta de trabajo y una personal, asigna a cada cuenta su propio directorio de configuración. Cuando inicies `claude`, establece la variable de entorno [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/es/env-vars#variables) en el directorio de la cuenta que quieras usar. Cada directorio tiene su propia configuración, su propio historial de sesiones y su propio inicio de sesión de claude.ai o clave de API. Por ejemplo, en Bash o Zsh, agrega este alias a `~/.bashrc` o `~/.zshrc` para que `claude-work` use tu cuenta de trabajo mientras `claude` conserva la personal:

50 50 

51```bash theme={null}51```bash theme={null}

52alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'52alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

53```53```

54 54 

55Después de abrir una nueva terminal y ejecutar `claude-work` por primera vez, Claude Code le guiará a través del inicio de sesión y la configuración para el nuevo directorio. Los directorios separados no mantienen dos inicios de sesión de Claude Console [sin una clave de API](#sign-in-without-an-api-key) separados, porque Claude Code almacena ese tipo de inicio de sesión fuera del directorio de configuración.55Después de abrir una nueva terminal y ejecutar `claude-work` por primera vez, Claude Code te guía por el inicio de sesión y la configuración del nuevo directorio. Los directorios separados no mantienen separados dos inicios de sesión de Claude Console [sin clave de API](#sign-in-without-an-api-key), porque Claude Code guarda ese tipo de inicio de sesión fuera del directorio de configuración.

56 56 

57## Configurar la autenticación del equipo57## Configurar la autenticación del equipo

58 58 


127No obtiene la opción en cada máquina. Claude Code crea una clave API sin preguntar en estos casos:127No obtiene la opción en cada máquina. Claude Code crea una clave API sin preguntar en estos casos:

128 128 

129* Ejecuta contra un proveedor de nube, como [Amazon Bedrock, Plataforma de agentes de Google Cloud o Microsoft Foundry](https://code.claude.com/docs/es/third-party-integrations.md) o [Claude Platform en AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md)129* Ejecuta contra un proveedor de nube, como [Amazon Bedrock, Plataforma de agentes de Google Cloud o Microsoft Foundry](https://code.claude.com/docs/es/third-party-integrations.md) o [Claude Platform en AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md)

130* Cualquier archivo de configuración establece [`forceLoginOrgUUID`](#restrict-login-to-your-organization), o establece `forceLoginMethod` en `"claudeai"` o `"console"`130* Cualquier archivo de configuración establece [`forceLoginOrgUUID`](#restrict-login-to-your-organization), o establece `forceLoginMethod` en `"claudeai"`

131* `forceLoginMethod` es `"console"` y ningún archivo de configuración establece `forceLoginOrgUUID`, hasta que reintentes desde la pantalla de error tras un inicio de sesión fallido

131* Existe una fuente de configuración administrada en su máquina, como el archivo de configuración administrada, un perfil MDM o la configuración administrada por servidor en caché, pero Claude Code [no puede leerla](https://code.claude.com/docs/es/managed-settings.md#invalid-entries-in-managed-settings) y ninguna otra fuente administrada proporciona una política132* Existe una fuente de configuración administrada en su máquina, como el archivo de configuración administrada, un perfil MDM o la configuración administrada por servidor en caché, pero Claude Code [no puede leerla](https://code.claude.com/docs/es/managed-settings.md#invalid-entries-in-managed-settings) y ninguna otra fuente administrada proporciona una política

132 133 

133Desestablezca `ANTHROPIC_API_KEY` antes de iniciar sesión sin una clave.134Desestablezca `ANTHROPIC_API_KEY` antes de iniciar sesión sin una clave.


140 141 

141Todo lo demás sobre perfiles se aplica a este inicio de sesión, incluido dónde se clasifica contra sus otras credenciales, la fila `Profile` que obtiene en `/status` y las características que necesitan un inicio de sesión de claude.ai. Consulte [Perfiles de Anthropic y credenciales de federación](#anthropic-profiles-and-federation-credentials).142Todo lo demás sobre perfiles se aplica a este inicio de sesión, incluido dónde se clasifica contra sus otras credenciales, la fila `Profile` que obtiene en `/status` y las características que necesitan un inicio de sesión de claude.ai. Consulte [Perfiles de Anthropic y credenciales de federación](#anthropic-profiles-and-federation-credentials).

142 143 

144#### Dejar de ofrecer el inicio de sesión sin clave en máquinas administradas

145 

146Para que Claude Code deje de ofrecer el [inicio de sesión sin clave](#sign-in-without-an-api-key), usa tus herramientas de administración de dispositivos para desplegar [`forceLoginOrgUUID`](https://code.claude.com/docs/es/settings-reference#forceloginorguuid) en la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md) de la máquina de cada desarrollador. Establécelo en tu [ID de organización de Console](https://platform.claude.com/settings/organization). Antes de desplegarlo, asegúrate de que cada desarrollador tenga un [rol que pueda crear claves de API](#claude-console-authentication). Una vez que lo despliegues, un desarrollador sin ese rol no puede iniciar sesión en Console desde `/login`.

147 

148Con solo `forceLoginMethod` establecido en `"console"`, los desarrolladores pueden reintentar un inicio de sesión fallido y elegir la opción sin clave. Una vez desplegado `forceLoginOrgUUID`, la pantalla de inicio de sesión elimina esa opción, pero los desarrolladores aún pueden usar un [perfil de Anthropic](#anthropic-profiles-and-federation-credentials) que tengan o que creen con [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication). Después de desplegarlo, gestiona estas credenciales e inicios de sesión en cada máquina:

149 

150* **Inicios de sesión sin clave**: para pasar a un desarrollador a una clave de API, pídele que cierre sesión y luego vuelva a iniciar sesión en Console, lo que crea la clave. Para un inicio de sesión sin clave, ejecuta `claude auth logout` en su shell. Para un perfil de `ant auth login`, ejecuta `ant auth logout`. Claude Code rechaza la sesión si hay tanto un perfil como una clave de API en la máquina, así que primero debe cerrar sesión.

151* **Credenciales de entorno y de helper**: Claude Code rechaza las sesiones que se autentican con `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` o `apiKeyHelper`, incluso cuando la configuración administrada las proporciona. Elimina esas credenciales y luego pide a los desarrolladores que ejecuten `/login` para crear una clave de API guardada.

152* **Inicios de sesión de claude.ai**: Claude Code [rechaza un inicio de sesión](#restrict-login-to-your-organization) en una organización que no hayas incluido en la lista, incluida una que ya esté en uso en la máquina. Para conservar una, agrégala a un arreglo `forceLoginOrgUUID`.

153 

143### Autenticación del proveedor de nube154### Autenticación del proveedor de nube

144 155 

145Para equipos que usan Amazon Bedrock, Plataforma de agentes de Google Cloud o Microsoft Foundry:156Para equipos que usan Amazon Bedrock, Plataforma de agentes de Google Cloud o Microsoft Foundry:


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

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

174 185 

175Implemente las claves a través de su herramienta de administración de dispositivos. [La configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) solo llega a cuentas que ya están autenticadas en su organización, por lo que no pueden redirigir el primer inicio de sesión de un desarrollador. Si su organización también distribuye configuración administrada por servidor, establezca las claves en ambos lugares: las fuentes de [configuración administrada no se fusionan](https://code.claude.com/docs/es/server-managed-settings.md#settings-precedence), y la configuración administrada por servidor en caché reemplaza el archivo administrado por dispositivo, aparte de algunos [excepciones por clave](https://code.claude.com/docs/es/server-managed-settings.md#per-key-exceptions-across-managed-sources). `forceLoginOrgUUID` y los valores `"claudeai"` y `"console"` de `forceLoginMethod` no están entre esas excepciones, así que manténgalos en ambos lugares.186Despliega `forceLoginMethod` y `forceLoginOrgUUID` mediante tus herramientas de administración de dispositivos. Un desarrollador recibe la [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) solo después de autenticarse en tu organización, así que no puedes redirigir un primer inicio de sesión con esa configuración. Si también distribuyes configuración administrada por servidor desde claude.ai, establece ambas claves allí también hasta que todos los clientes ejecuten v2.1.299 o posterior. Para saber dónde establecer las claves después y qué valor de fuente se aplica, consulta [Qué fuente administrada proporciona las claves de inicio de sesión](https://code.claude.com/docs/es/managed-settings.md#which-managed-source-supplies-login-keys).

176 187 

177En un despliegue de [puerta de enlace](https://code.claude.com/docs/es/claude-apps-gateway), también mantenga `forceLoginMethod` y `forceLoginOrgUUID` fuera de la [configuración que sirve la puerta de enlace](https://code.claude.com/docs/es/claude-apps-gateway-config.md#managed).188En un despliegue de [puerta de enlace](https://code.claude.com/docs/es/claude-apps-gateway), también mantenga `forceLoginMethod` y `forceLoginOrgUUID` fuera de la [configuración que sirve la puerta de enlace](https://code.claude.com/docs/es/claude-apps-gateway-config.md#managed).

178 189 

Details

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

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

4 4 

5# Cargos de solicitud del clasificador en modo automático5# Cargos por solicitudes del clasificador del modo automático

6 6 

7> Resuelve el aviso de Claude Code que dice que esta sesión no es elegible para las solicitudes del clasificador sin cargo del modo automático: qué significa, por qué aparece y qué hacer.7> Resuelve el aviso de Claude Code que indica que esta sesión no es elegible para las solicitudes sin cargo del clasificador del modo automático: qué significa, por qué aparece y qué hacer.

8 8 

9En [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode), un clasificador comprueba acciones como comandos de shell y solicitudes de red antes de que se ejecuten. Donde [las comprobaciones del lado del servidor están activadas](https://code.claude.com/docs/es/permission-modes.md#server-side-classifier-review), el servidor realiza esas comprobaciones como parte de las propias solicitudes de modelo de la sesión, sin cargo. Este aviso significa que las comprobaciones del servidor no están llegando a su sesión, por lo que Claude Code está realizando sus propias solicitudes de clasificador en su lugar, y en su cuenta esas solicitudes cuentan hacia su uso de tokens:9En el [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode), un clasificador revisa acciones como comandos de shell y solicitudes de red antes de que se ejecuten. Dondequiera que [las comprobaciones del lado del servidor estén activadas](https://code.claude.com/docs/es/permission-modes.md#server-side-classifier-review), el servidor realiza esas comprobaciones como parte de las propias solicitudes al modelo de la sesión, sin cargo. Este aviso significa que las comprobaciones del servidor no están llegando a tu sesión, por lo que Claude Code está haciendo sus propias solicitudes al clasificador en su lugar, y en tu cuenta esas solicitudes cuentan para tu uso de tokens:

10 10 

11```text theme={null}11```text theme={null}

12We're changing auto mode to no longer charge for classifier requests in Claude Code. However, this session isn't eligible.12We're changing auto mode to no longer charge for classifier requests in Claude Code. However, this session isn't eligible.

13```13```

14 14 

15En el prompt, Claude Code retiene la primera acción que comprobaría de esa manera hasta que respondas. El modo automático sigue funcionando, y sus solicitudes de clasificador se facturan como antes.15En el prompt, Claude Code retiene la primera acción que revisaría de esa manera hasta que respondas. El modo automático sigue funcionando, y sus solicitudes al clasificador se facturan como antes.

16 16 

17La causa más común es un gateway LLM o proxy entre Claude Code y la API, y cuando Claude Code puede identificarlo, el aviso lo nombra. Presiona **Intro** para continuar, o consulta [Hacer que la sesión sea elegible](#make-the-session-eligible) para evitar que aparezca en nuevas sesiones.17La causa más común es un gateway de LLM o un proxy entre Claude Code y la API, y cuando Claude Code puede identificarlo, el aviso lo nombra. Presiona **Enter** para continuar, o consulta [Hacer que la sesión sea elegible](#make-the-session-eligible) para evitar que aparezca en sesiones nuevas.

18 18 

19## Responder al aviso19## Responder al aviso

20 20 

21El aviso retiene la acción hasta que responda:21El aviso retiene la acción hasta que respondas:

22 22 

23* **Intro** continúa: la acción retenida y el resto de la sesión utilizan las propias solicitudes de clasificador de Claude Code, facturadas como uso de tokens como antes, y el aviso no aparece nuevamente en esa sesión. Cuando el aviso nombró una puerta de enlace, reconocerlo evita que reaparezca en esta máquina durante 24 horas. Cuando no lo hizo, el aviso regresa la próxima vez que una sesión se retrocede.23* **Enter** continúa: la acción retenida y el resto de la sesión usan las propias solicitudes de clasificador de Claude Code, facturadas como uso de tokens como antes, y el aviso no vuelve a aparecer en esa sesión. Cuando el aviso mencionó un gateway, confirmarlo evita que vuelva a aparecer en esta máquina durante 24 horas. Cuando no lo mencionó, el aviso vuelve la próxima vez que una sesión recurra a la alternativa.

24* **Esc** o **Ctrl+C** cancela: la acción retenida no se ejecuta y el turno actual se detiene, con la sesión aún en modo automático. Nada se recuerda, por lo que el aviso aparece nuevamente antes de la siguiente acción verificada.24* **Esc** o **Ctrl+C** cancela: la acción retenida no se ejecuta y el turno actual se detiene, con la sesión todavía en modo automático. No se recuerda nada, por lo que el aviso vuelve a aparecer antes de la siguiente acción verificada.

25 25 

26Para dejar de usar el modo automático en su lugar, cambie los modos de permiso con `Shift+Tab` después de responder.26Si en cambio quieres dejar de usar el modo automático, cambia de modo de permisos con `Shift+Tab` después de responder.

27 27 

28Donde el aviso no puede esperar una respuesta, Claude Code informa el mismo texto y la sesión continúa en modo automático, a menos que un reconocimiento de puerta de enlace en esta máquina en las últimas 24 horas lo haya descartado. En [modo no interactivo](https://code.claude.com/docs/es/headless.md) con `-p` imprime el texto en stderr, y en salida `stream-json` emite un mensaje de advertencia `system`, que las aplicaciones del SDK de Agent pueden leer desde la secuencia de mensajes.28Cuando el aviso no puede esperar una respuesta, Claude Code informa el mismo texto y la sesión continúa en modo automático, a menos que una confirmación de gateway en esta máquina en las últimas 24 horas lo haya descartado. En [modo no interactivo](https://code.claude.com/docs/es/headless.md) con `-p` imprime el texto en stderr, y en la salida `stream-json` emite un mensaje de advertencia `system`, que las aplicaciones del Agent SDK pueden leer desde el flujo de mensajes.

29 29 

30## Haga que la sesión sea elegible30## Haga que la sesión sea elegible

31 31 

Details

155 155 

156No necesita completar todo de una vez. Un despliegue razonable: comience con los valores predeterminados y agregue su organización de control de fuente y servicios internos clave, lo que resuelve los falsos positivos más comunes como hacer push a sus propios repositorios. Agregue dominios de confianza y buckets de nube a continuación. Complete el resto a medida que surjan bloqueos.156No necesita completar todo de una vez. Un despliegue razonable: comience con los valores predeterminados y agregue su organización de control de fuente y servicios internos clave, lo que resuelve los falsos positivos más comunes como hacer push a sus propios repositorios. Agregue dominios de confianza y buckets de nube a continuación. Complete el resto a medida que surjan bloqueos.

157 157 

158## Generar entradas de entorno con `/auto-mode-setup`158## Genera entradas de entorno con `/auto-mode-setup`

159 159 

160Ejecute `/auto-mode-setup` para que Claude Code redacte entradas de `autoMode.environment` y, a veces, también [entradas de reglas](#override-the-block-and-allow-rules), a partir de su proyecto y sus sesiones recientes en él. Si acepta el borrador, Claude Code lo escribe en `~/.claude/settings.json`.160Ejecuta `/auto-mode-setup` para que Claude Code redacte entradas de `autoMode.environment`, y a veces también [entradas de reglas](#override-the-block-and-allow-rules), a partir de tu proyecto y de tus sesiones recientes en él. Si aceptas el borrador, Claude Code lo escribe en `~/.claude/settings.json`.

161 161 

162> [!NOTE]162> [!NOTE]

163>163>

164> `/auto-mode-setup` está disponible en los planes Pro, Max, Team y Enterprise, y con una clave de API de Claude Console. En un plan Pro, Max o Team, necesitas v2.1.228 o posterior, o v2.1.233 o posterior en Windows nativo. En un plan Enterprise o con una clave de API de Claude Console, necesitas v2.1.283 o posterior. Si el comando no aparece en tu sesión, consulta [`/auto-mode-setup` devuelve "Unknown command"](#auto-mode-setup-returns-unknown-command).164> `/auto-mode-setup` está disponible en los planes Pro, Max, Team y Enterprise y con una clave de API de Claude Console. En un plan Pro, Max o Team, necesitas la v2.1.228 o posterior, o la v2.1.233 o posterior en Windows nativo. En un plan Enterprise o con una clave de API de Claude Console, necesitas la v2.1.283 o posterior. Si el comando no aparece en tu sesión, consulta [`/auto-mode-setup` devuelve "Unknown command"](#auto-mode-setup-returns-unknown-command).

165 165 

166### Qué lee `/auto-mode-setup`166### Qué lee `/auto-mode-setup`

167 167 

168Si `~/.claude/settings.json` ya contiene entradas de `autoMode`, Claude Code comienza preguntando si desea agregar a su lista de entorno o reemplazarla, y mantiene las reglas que escribió de cualquier forma. Claude Code luego pregunta cómo utiliza este proyecto y ofrece dos escaneos opcionales antes de escanear cualquier cosa. En el escaneo, Claude Code siempre lee estas fuentes:168Si `~/.claude/settings.json` ya contiene entradas de `autoMode`, Claude Code empieza preguntando si quieres agregar entradas a tu lista de entorno o reemplazarla, y conserva las reglas que escribiste en cualquier caso. Luego Claude Code te pregunta cómo usas este proyecto y te ofrece dos escaneos opcionales antes de escanear nada. En el escaneo, Claude Code siempre lee estas fuentes:

169 169 

170* El `CLAUDE.md`, `README.md`, archivos de configuración y remotos de git de este proyecto170* El `CLAUDE.md`, el `README.md`, los archivos de configuración y los remotos de Git de este proyecto

171* Su configuración de `autoMode` y `permissions.allow`171* Tus ajustes `autoMode` y `permissions.allow`

172* Los hosts, buckets y nombres de comandos de los comandos que Claude ejecutó en sus sesiones recientes en este proyecto, nunca sus mensajes172* Los hosts, buckets y nombres de comandos de los comandos que Claude ejecutó en tus sesiones recientes en este proyecto, nunca tus mensajes

173 173 

174Los dos escaneos opcionales agregan una fuente cada uno:174Los dos escaneos opcionales agregan una fuente cada uno:

175 175 

176* La primera palabra de cada comando en su historial de shell176* La primera palabra de cada comando en tu historial del shell

177* Los hosts remotos y nombres de los repositorios bajo su directorio de inicio177* Los hosts remotos y los nombres de los repositorios dentro de tu directorio home

178 178 

179### Revisar y guardar el borrador179### Revisa y guarda el borrador

180 180 

181Claude Code escanea en segundo plano y luego le muestra el borrador. Acepta o descarta como un todo, así que edite `~/.claude/settings.json` después para ajustar entradas individuales. Cuando acepta, Claude Code escribe el borrador y lo reconcilia con la configuración que ya tiene:181Claude Code escanea en segundo plano y luego te muestra el borrador. Lo aceptas o lo descartas completo, así que edita `~/.claude/settings.json` después para ajustar entradas individuales. Cuando lo aceptas, Claude Code escribe el borrador y lo concilia con la configuración que ya tienes:

182 182 

183* Claude Code escribe la lista de `environment` sin `"$defaults"`, porque el borrador especifica las entradas integradas que dejó sin cambios183* Claude Code escribe la lista `environment` sin `"$defaults"`, porque el borrador detalla explícitamente las entradas integradas que dejó sin cambios

184* Claude Code incluye `"$defaults"` en cada una de las listas de `allow`, `soft_deny` y `hard_deny` a las que el borrador agrega entradas, a menos que ya haya escrito una lista de `allow` sin ella, por lo que las [reglas integradas](#override-the-block-and-allow-rules) que no ha reemplazado permanecen en vigor184* Claude Code incluye `"$defaults"` en cada una de las listas `allow`, `soft_deny` y `hard_deny` a las que el borrador agrega entradas, a menos que ya hayas escrito una lista `allow` sin él, para que las [reglas integradas](#override-the-block-and-allow-rules) que no reemplazaste sigan vigentes

185* Después de guardar, Claude Code ofrece eliminar reglas de `permissions.allow` en `~/.claude/settings.json` que el modo automático ignora, como `Bash(*)`, o que aprueban automáticamente comandos destructivos185* Después de guardar, Claude Code te ofrece eliminar de `~/.claude/settings.json` las reglas de `permissions.allow` que el modo automático ignora, como `Bash(*)`, o que aprueban automáticamente comandos destructivos

186 186 

187Luego ejecute `claude auto-mode config` para [ver el resultado efectivo](#inspect-the-defaults-and-your-effective-config).187Luego ejecuta `claude auto-mode config` para [ver el resultado efectivo](#inspect-the-defaults-and-your-effective-config).

188 188 

189### Desactivar `/auto-mode-setup`189### Desactiva `/auto-mode-setup`

190 190 

191Una vez que el modo automático ha bloqueado varias acciones y aún no tiene entradas de `autoMode.environment`, Claude Code muestra un diálogo titulado "¿Enseñar al modo automático sobre su entorno?" al final de un turno y ofrece ejecutar `/auto-mode-setup` para usted. Para detener la oferta pero mantener el comando, seleccione **No mostrar de nuevo** en ese diálogo.191Una vez que el modo automático ha bloqueado varias acciones y todavía no tienes entradas en `autoMode.environment`, Claude Code muestra al final de un turno un diálogo titulado "Teach auto mode about your environment?" y te ofrece ejecutar `/auto-mode-setup` por ti. Para dejar de ver la oferta pero conservar el comando, selecciona **Don't show again** en ese diálogo.

192 192 

193Para desactivar tanto el comando como la oferta, agregue esta entrada de [`skillOverrides`](https://code.claude.com/docs/es/skills#override-skill-visibility-from-settings) a `~/.claude/settings.json`:193Para desactivar tanto el comando como la oferta, agrega esta entrada de [`skillOverrides`](https://code.claude.com/docs/es/skills#override-skill-visibility-from-settings) a `~/.claude/settings.json`:

194 194 

195```json theme={null}195```json theme={null}

196{196{


200}200}

201```201```

202 202 

203`/auto-mode-setup` es un comando integrado en lugar de una [skill agrupada](https://code.claude.com/docs/es/skills.md#bundled-skills), por lo que esta entrada de `skillOverrides` aún se aplica a él, pero [`disableBundledSkills`](https://code.claude.com/docs/es/settings-reference#disablebundledskills) no lo desactiva.203`/auto-mode-setup` es un comando integrado y no un [skill incluido](https://code.claude.com/docs/es/skills.md#bundled-skills), así que esta entrada de `skillOverrides` sí se le aplica, pero [`disableBundledSkills`](https://code.claude.com/docs/es/settings-reference#disablebundledskills) no lo desactiva.

204 204 

205### `/auto-mode-setup` devuelve "Unknown command"205### `/auto-mode-setup` devuelve "Unknown command"

206 206 

207Si al escribir `/auto-mode-setup` en el prompt de Claude Code se imprime `Unknown command: /auto-mode-setup`, revisa estas causas:207Si al escribir `/auto-mode-setup` en el prompt de Claude Code aparece `Unknown command: /auto-mode-setup`, revisa estas causas:

208 208 

209* **Primera sesión después de una instalación o actualización**: inicia una nueva sesión. Si el comando sigue sin aparecer allí, consulta las [configuraciones en las que las sesiones posteriores también se inician sin él](https://code.claude.com/docs/es/env-vars.md#first-session-after-an-install-or-upgrade).209* **Primera sesión después de una instalación o actualización**: inicia una nueva sesión. Si el comando sigue sin aparecer ahí, consulta las [configuraciones en las que las sesiones posteriores también se inician sin él](https://code.claude.com/docs/es/env-vars.md#first-session-after-an-install-or-upgrade).

210* **Versión desactualizada**: ejecuta `claude --version` en tu shell. Si la versión es inferior a [la mínima para tu plan](#generate-environment-entries), [actualiza Claude Code](https://code.claude.com/docs/es/setup.md#update-claude-code).210* **Versión desactualizada**: ejecuta `claude --version` en tu shell. Si la versión es inferior a [la mínima para tu plan](#generate-environment-entries), [actualiza Claude Code](https://code.claude.com/docs/es/setup.md#update-claude-code).

211* **Telemetría desactivada, proveedor externo o gateway de aplicaciones de Claude**: antes de v2.1.304, el comando no está disponible en [sesiones donde la obtención de banderas de características está desactivada](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching). Si tu sesión es una de ellas, [actualiza Claude Code](https://code.claude.com/docs/es/setup.md#update-claude-code) a v2.1.304 o posterior.211* **Telemetría desactivada, proveedor externo o gateway de apps de Claude**: antes de la v2.1.304, el comando no está disponible en [sesiones en las que la obtención de feature flags está desactivada](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching). Si tu sesión es una de ellas, [actualiza Claude Code](https://code.claude.com/docs/es/setup.md#update-claude-code) a la v2.1.304 o posterior.

212 212 

213En una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md), el comando imprime `/auto-mode-setup isn't available in this environment.` en su lugar. Ejecútalo en una sesión interactiva en tu terminal.213En una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md), el comando muestra en cambio `/auto-mode-setup isn't available in this environment.`. Ejecútalo en una sesión interactiva en tu terminal.

214 214 

215## Anular las reglas de bloqueo y permiso215## Anular las reglas de bloqueo y permiso

216 216 

Details

50 50 

51Durante la vista previa de investigación, los canales personalizados no están en la [lista de aprobación](https://code.claude.com/docs/es/channels.md#supported-channels). Usa `--dangerously-load-development-channels` para probar localmente. Consulta [Prueba durante la vista previa de investigación](#test-during-the-research-preview) para obtener detalles.51Durante la vista previa de investigación, los canales personalizados no están en la [lista de aprobación](https://code.claude.com/docs/es/channels.md#supported-channels). Usa `--dangerously-load-development-channels` para probar localmente. Consulta [Prueba durante la vista previa de investigación](#test-during-the-research-preview) para obtener detalles.

52 52 

53## Ejemplo: construir un receptor de webhook53## Ejemplo: crear un receptor de webhooks

54 54 

55Este tutorial construye un servidor de un solo archivo que escucha solicitudes HTTP y las reenvía a tu sesión de Claude Code. Al final, cualquier cosa que pueda enviar un POST HTTP, como una canalización de CI, una alerta de monitoreo o un comando `curl`, puede enviar eventos a Claude.55Este recorrido crea un servidor de un solo archivo que escucha solicitudes HTTP y las reenvía a tu sesión de Claude Code. Al final, cualquier cosa que pueda enviar un HTTP POST, como un pipeline de CI, una alerta de monitoreo o un comando `curl`, podrá enviar eventos a Claude.

56 56 

57Este ejemplo usa [Bun](https://bun.sh) como tiempo de ejecución por su servidor HTTP integrado y soporte de TypeScript. Puedes usar [Node](https://nodejs.org) o [Deno](https://deno.com) en su lugar; el único requisito es el [SDK de MCP](https://www.npmjs.com/package/@modelcontextprotocol/sdk).57Este ejemplo usa [Bun](https://bun.sh) como entorno de ejecución por su servidor HTTP integrado y su compatibilidad con TypeScript. Puedes usar [Node](https://nodejs.org) o [Deno](https://deno.com) en su lugar; el único requisito es el [MCP SDK](https://www.npmjs.com/package/@modelcontextprotocol/sdk).

58 58 

59**1. Crear el proyecto**59**1. Crea el proyecto**

60 60 

61Los ejemplos de [relé de permisos](#relay-permission-prompts) importan `zod` directamente, por lo que se instala junto con el SDK de MCP. Crea un nuevo directorio e instala ambos:61Los ejemplos de [retransmisión de permisos](#relay-permission-prompts) importan `zod` directamente, así que se instala junto con el MCP SDK. Crea un directorio nuevo e instala ambos:

62 62 

63```bash theme={null}63```bash theme={null}

64mkdir webhook-channel && cd webhook-channel64mkdir webhook-channel && cd webhook-channel

65bun add @modelcontextprotocol/sdk zod65bun add @modelcontextprotocol/sdk zod

66```66```

67 67 

68**2. Escribir el servidor de canal**68**2. Escribe el servidor de canal**

69 69 

70Crea un archivo llamado `webhook.ts`. Este es tu servidor de canal completo: se conecta a Claude Code a través de stdio y escucha POSTs HTTP en el puerto 8788. Cuando llega una solicitud, envía el cuerpo a Claude como un evento de canal.70Crea un archivo llamado `webhook.ts`. Este es todo tu servidor de canal: se conecta a Claude Code mediante stdio y escucha HTTP POST en el puerto 8788. Cuando llega una solicitud, envía el cuerpo a Claude como un evento de canal.

71 71 

72```ts title="webhook.ts" theme={null}72```ts title="webhook.ts" theme={null}

73#!/usr/bin/env bun73#!/usr/bin/env bun

74import { Server } from '@modelcontextprotocol/sdk/server/index.js'74import { Server } from '@modelcontextprotocol/sdk/server/index.js'

75import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'75import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'

76 76 

77// Crear el servidor MCP y declararlo como un canal77// Create the MCP server and declare it as a channel

78const mcp = new Server(78const mcp = new Server(

79 { name: 'webhook', version: '0.0.1' },79 { name: 'webhook', version: '0.0.1' },

80 {80 {

81 // esta clave es lo que lo hace un canal — Claude Code registra un oyente para ella81 // this key is what makes it a channel — Claude Code registers a listener for it

82 capabilities: { experimental: { 'claude/channel': {} } },82 capabilities: { experimental: { 'claude/channel': {} } },

83 // Claude Code entrega esto a Claude como contexto cuando el servidor se conecta, para que sepa cómo manejar estos eventos83 // Claude Code delivers this to Claude as context when the server connects, so it knows how to handle these events

84 instructions: 'Los eventos del canal webhook llegan como <channel source="webhook" ...>. Son unidireccionales: léelos y actúa, no se espera respuesta.',84 instructions: 'Events from the webhook channel arrive as <channel source="webhook" ...>. They are one-way: read them and act, no reply expected.',

85 },85 },

86)86)

87 87 

88// Conectar a Claude Code a través de stdio (Claude Code genera este proceso)88// Connect to Claude Code over stdio (Claude Code spawns this process)

89await mcp.connect(new StdioServerTransport())89await mcp.connect(new StdioServerTransport())

90 90 

91// Iniciar un servidor HTTP que reenvíe cada POST a Claude91// Start an HTTP server that forwards every POST to Claude

92Bun.serve({92Bun.serve({

93 port: 8788, // cualquier puerto abierto funciona93 port: 8788, // any open port works

94 // solo localhost: nada fuera de esta máquina puede hacer POST94 // localhost-only: nothing outside this machine can POST

95 hostname: '127.0.0.1',95 hostname: '127.0.0.1',

96 async fetch(req) {96 async fetch(req) {

97 const body = await req.text()97 const body = await req.text()

98 await mcp.notification({98 await mcp.notification({

99 method: 'notifications/claude/channel',99 method: 'notifications/claude/channel',

100 params: {100 params: {

101 content: body, // se convierte en el cuerpo de la etiqueta <channel>101 content: body, // becomes the body of the <channel> tag

102 // cada clave se convierte en un atributo de etiqueta, p. ej. <channel path="/" method="POST">102 // each key becomes a tag attribute, e.g. <channel path="/" method="POST">

103 meta: { path: new URL(req.url).pathname, method: req.method },103 meta: { path: new URL(req.url).pathname, method: req.method },

104 },104 },

105 })105 })


108})108})

109```109```

110 110 

111El archivo configura el servidor, se conecta a través de stdio e inicia un oyente HTTP, en ese orden:111El archivo configura el servidor, se conecta mediante stdio e inicia un listener HTTP, en ese orden:

112 112 

113* **Configuración del servidor**: crea el servidor MCP con `claude/channel` en sus capacidades, que es lo que le dice a Claude Code que esto es un canal. Claude Code entrega la cadena [`instructions`](#server-options) a Claude como contexto cuando el servidor se conecta: dile a Claude qué eventos esperar, si debe responder y cómo enrutar las respuestas si debe hacerlo.113* **Configuración del servidor**: crea el servidor MCP con `claude/channel` en sus capacidades, que es lo que le indica a Claude Code que se trata de un canal. Claude Code entrega la cadena [`instructions`](#server-options) a Claude como contexto cuando el servidor se conecta: indícale a Claude qué eventos esperar, si debe responder y cómo enrutar las respuestas si corresponde.

114* **Conexión stdio**: se conecta a Claude Code a través de stdin/stdout. Esto es estándar para cualquier [servidor MCP](https://modelcontextprotocol.io/docs/concepts/transports#standard-io).114* **Conexión stdio**: se conecta a Claude Code mediante stdin/stdout. Esto es estándar para cualquier [servidor MCP](https://modelcontextprotocol.io/docs/concepts/transports#standard-io).

115* **Oyente HTTP**: inicia un servidor web local en el puerto 8788. Cada cuerpo POST se reenvía a Claude como un evento de canal a través de `mcp.notification()`. El `content` se convierte en el cuerpo del evento, y cada entrada `meta` se convierte en un atributo en la etiqueta `<channel>`. El oyente necesita acceso a la instancia `mcp`, por lo que se ejecuta en el mismo proceso. Podrías dividirlo en módulos separados para un proyecto más grande.115* **Listener HTTP**: inicia un servidor web local en el puerto 8788. Cada cuerpo de POST se reenvía a Claude como un evento de canal mediante `mcp.notification()`. El `content` se convierte en el cuerpo del evento y cada entrada de `meta` se convierte en un atributo de la etiqueta `<channel>`. El listener necesita acceso a la instancia `mcp`, por lo que se ejecuta en el mismo proceso. Podrías dividirlo en módulos separados para un proyecto más grande.

116 116 

117**3. Registrar tu servidor con Claude Code**117**3. Registra tu servidor con Claude Code**

118 118 

119Agrega el servidor a tu configuración de MCP para que Claude Code sepa cómo iniciarlo. Para un `.mcp.json` a nivel de proyecto en el mismo directorio, usa una ruta relativa. Para la configuración a nivel de usuario en `~/.claude.json`, usa la ruta absoluta completa para que el servidor se pueda encontrar desde cualquier proyecto:119Agrega el servidor a tu configuración de MCP para que Claude Code sepa cómo iniciarlo. Para un `.mcp.json` a nivel de proyecto en el mismo directorio, usa una ruta relativa. Para la configuración a nivel de usuario en `~/.claude.json`, usa la ruta absoluta completa para que el servidor pueda encontrarse desde cualquier proyecto:

120 120 

121```json title=".mcp.json" theme={null}121```json title=".mcp.json" theme={null}

122{122{


126}126}

127```127```

128 128 

129Claude Code lee tu configuración de MCP al iniciar y genera cada servidor como un subproceso.129Claude Code lee tu configuración de MCP al iniciarse y lanza cada servidor como un subproceso.

130 130 

131**4. Probarlo**131**4. Pruébalo**

132 132 

133Durante la vista previa de investigación, los canales personalizados no están en la lista de aprobación, así que inicia Claude Code con la bandera de desarrollo:133Durante la vista previa de investigación, los canales personalizados no están en la lista de permitidos, así que inicia Claude Code con el flag de desarrollo:

134 134 

135```bash theme={null}135```bash theme={null}

136claude --dangerously-load-development-channels server:webhook136claude --dangerously-load-development-channels server:webhook

137```137```

138 138 

139Claude Code primero muestra un diálogo de advertencia a pantalla completa que enumera los canales de desarrollo que estás cargando. Selecciona **Estoy usando esto para desarrollo local** para continuar, o **Salir** para abandonar.139Claude Code primero muestra un diálogo de advertencia a pantalla completa que enumera los canales de desarrollo que estás cargando. Selecciona **I am using this for local development** para continuar, o **Exit** para salir.

140 140 

141La primera vez que inicies una sesión en este proyecto, Claude Code también solicita consentimiento antes de usar el nuevo servidor de `.mcp.json`. El diálogo informa "Nuevo servidor MCP encontrado en este proyecto: webhook". Selecciona **Usar este servidor MCP** para continuar.141La primera vez que inicias una sesión en este proyecto, Claude Code también pide tu consentimiento antes de usar el nuevo servidor de `.mcp.json`. El diálogo indica "New MCP server found in this project: webhook". Selecciona **Use this MCP server** para continuar.

142 142 

143Después de que aceptes, Claude Code genera tu `webhook.ts` como un subproceso, y el oyente HTTP se inicia automáticamente en el puerto que configuraste, 8788 en este ejemplo. No necesitas ejecutar el servidor tú mismo.143Después de aceptar, Claude Code lanza tu `webhook.ts` como un subproceso, y el listener HTTP se inicia automáticamente en el puerto que configuraste, 8788 en este ejemplo. No necesitas ejecutar el servidor tú mismo.

144 144 

145Un aviso tenue debajo del banner de inicio confirma que el canal está registrado: `Channels (experimental) messages from server:webhook inject directly in this session · restart without --dangerously-load-development-channels to stop`.145Un aviso atenuado debajo del banner de inicio confirma que el canal está registrado: `Channels (experimental) messages from server:webhook inject directly in this session · restart without --dangerously-load-development-channels to stop`.

146 146 

147Si ves "bloqueado por política de organización", tu administrador de organización necesita [habilitar canales](https://code.claude.com/docs/es/channels.md#enterprise-controls) primero.147Si ves "blocked by org policy", el administrador de tu organización primero debe [habilitar los canales](https://code.claude.com/docs/es/channels.md#enterprise-controls).

148 148 

149En una terminal separada, simula un webhook enviando un POST HTTP con un mensaje a tu servidor. Este ejemplo envía una alerta de fallo de compilación al puerto 8788 (o el puerto que configuraste):149En otra terminal, simula un webhook enviando un HTTP POST con un mensaje a tu servidor. Este ejemplo envía una alerta de fallo de CI al puerto 8788 (o al puerto que hayas configurado):

150 150 

151```bash theme={null}151```bash theme={null}

152curl -X POST localhost:8788 -d "build failed on main: https://ci.example.com/run/1234"152curl -X POST localhost:8788 -d "build failed on main: https://ci.example.com/run/1234"

153```153```

154 154 

155La carga útil llega al contexto de Claude como una etiqueta `<channel>`:155El payload llega al contexto de Claude como una etiqueta `<channel>`:

156 156 

157```text theme={null}157```text theme={null}

158<channel source="webhook" path="/" method="POST">158<channel source="webhook" path="/" method="POST">


160</channel>160</channel>

161```161```

162 162 

163Tu terminal renderiza el evento como un resumen de una línea, `← webhook: build failed on main: https://ci.example.com/run/1234`, en lugar de la etiqueta sin procesar. Luego verás que Claude comienza a responder: leyendo archivos, ejecutando comandos, o lo que sea que el mensaje requiera. Este es un canal unidireccional, por lo que Claude actúa en tu sesión pero no envía nada de vuelta a través del webhook. Para agregar respuestas, consulta [Exponer una herramienta de respuesta](#expose-a-reply-tool).163Tu terminal muestra el evento como un resumen de una línea, `← webhook: build failed on main: https://ci.example.com/run/1234`, en lugar de la etiqueta sin procesar. Luego verás que Claude empieza a responder: leyendo archivos, ejecutando comandos o lo que el mensaje requiera. Este es un canal unidireccional, así que Claude actúa en tu sesión pero no envía nada de vuelta a través del webhook. Para agregar respuestas, consulta [Exponer una herramienta de respuesta](#expose-a-reply-tool).

164 164 

165Si el evento no llega, el diagnóstico depende de lo que `curl` devolvió:165Si el evento no llega, el diagnóstico depende de lo que devolvió `curl`:

166 166 

167* **`curl` tiene éxito pero nada llega a Claude**: ejecuta `/mcp` en tu sesión para verificar el estado del servidor. Un estado `failed` generalmente significa un error de dependencia o importación en tu archivo de servidor. Para ver el seguimiento de stderr, reinicia con `claude --debug --dangerously-load-development-channels server:webhook` y verifica el registro de depuración en `~/.claude/debug/<session-id>.txt`.167* **`curl` tiene éxito pero nada llega a Claude**: ejecuta `/mcp` en tu sesión para verificar el estado del servidor. Un estado `failed` suele indicar un error de dependencia o de importación en el archivo de tu servidor. Para ver la traza de stderr, reinicia con `claude --debug --dangerously-load-development-channels server:webhook` y revisa el registro de depuración en `~/.claude/debug/<session-id>.txt`.

168* **`curl` falla con "conexión rechazada"**: el puerto no está vinculado aún o un proceso antiguo de una ejecución anterior lo está manteniendo. `lsof -i :<port>` muestra qué está escuchando; `kill` el proceso antiguo antes de reiniciar tu sesión.168* **`curl` falla con "connection refused"**: el puerto aún no está enlazado o un proceso obsoleto de una ejecución anterior lo está ocupando. `lsof -i :<port>` muestra qué está escuchando; finaliza el proceso obsoleto con `kill` antes de reiniciar tu sesión.

169 169 

170El [servidor fakechat](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/fakechat) extiende este patrón con una interfaz web, archivos adjuntos y una herramienta de respuesta para chat bidireccional.170El [servidor fakechat](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/fakechat) amplía este patrón con una interfaz web, archivos adjuntos y una herramienta de respuesta para chat bidireccional.

171 171 

172## Prueba durante la vista previa de investigación172## Prueba durante la vista previa de investigación

173 173 

checkpointing.md +26 −26

Details

8 8 

9Claude Code realiza un seguimiento automático de las ediciones de archivos de Claude mientras trabaja, permitiéndole deshacer rápidamente cambios y revertir a estados anteriores si algo se sale de control.9Claude Code realiza un seguimiento automático de las ediciones de archivos de Claude mientras trabaja, permitiéndole deshacer rápidamente cambios y revertir a estados anteriores si algo se sale de control.

10 10 

11## Cómo funciona el checkpointing11## Cómo funcionan los checkpoints

12 12 

13Mientras trabaja con Claude, el checkpointing captura automáticamente el estado de su código antes de cada solicitud que envía y que inicia un turno.13Mientras trabajas con Claude, el checkpointing captura automáticamente el estado de tu código antes de cada prompt que envías y que inicia un turno.

14 14 

15### Seguimiento automático15### Seguimiento automático

16 16 

17Claude Code realiza un seguimiento de todos los cambios realizados por sus herramientas de edición de archivos:17Claude Code rastrea todos los cambios realizados por sus herramientas de edición de archivos:

18 18 

19* Cada solicitud que envía y que inicia un turno crea un nuevo checkpoint19* Cada prompt que envías y que inicia un turno crea un nuevo checkpoint

20* Claude Code mantiene snapshots de archivos para los 100 checkpoints más recientes en una sesión. Descartar un checkpoint anterior elimina los archivos de snapshot que ningún checkpoint restante referencia, excepto el primer snapshot de cada archivo, que la extensión de VS Code utiliza como línea base para sus diffs de sesión.20* Claude Code conserva instantáneas de archivos para los 100 checkpoints más recientes de una sesión. Al descartar un checkpoint más antiguo, se eliminan los archivos de instantánea a los que no hace referencia ningún checkpoint restante, excepto la primera instantánea de cada archivo, que la extensión de VS Code usa como base para sus diffs de sesión.

21* Claude Code guarda checkpoints con la conversación, por lo que aún puede ejecutar `/rewind` después de reanudar una sesión21* Claude Code guarda los checkpoints junto con la conversación, por lo que aún puedes ejecutar `/rewind` después de reanudar una sesión

22* Claude Code elimina los snapshots de archivos de una sesión en el [barrido de retención](https://code.claude.com/docs/es/claude-directory.md#cleaned-up-automatically), por defecto aproximadamente 30 días después de que la sesión guardó uno por última vez. Revertir a un checkpoint cuyos snapshots se han eliminado puede fallar con [`No files were restored`](https://code.claude.com/docs/es/errors#no-files-were-restored). Para mantener snapshots más tiempo, establezca [`cleanupPeriodDays`](https://code.claude.com/docs/es/settings-reference#cleanupperioddays).22* Claude Code elimina las instantáneas de archivos de una sesión en el [barrido de retención](https://code.claude.com/docs/es/claude-directory.md#cleaned-up-automatically), de forma predeterminada unos 30 días después de que la sesión guardó la última. Retroceder a un checkpoint cuyas instantáneas ya no existen puede fallar con [`No files were restored`](https://code.claude.com/docs/es/errors#no-files-were-restored). Para conservar las instantáneas durante más tiempo, configura [`cleanupPeriodDays`](https://code.claude.com/docs/es/settings-reference#cleanupperioddays).

23 23 

24### Revertir y resumir24### Retroceder y resumir

25 25 

26Ejecute `/rewind`, o presione `Esc` dos veces cuando el campo de entrada de solicitud esté vacío, para abrir el menú de rewind.26Ejecuta `/rewind`, o presiona `Esc` dos veces cuando la entrada del prompt esté vacía, para abrir el menú de retroceso.

27 27 

28> [!NOTE]28> [!NOTE]

29>29>

30> Si el campo de entrada del prompt contiene texto, presionar `Esc` dos veces lo borra en lugar de abrir el menú. El texto borrado se guarda en tu historial de entrada, así que presiona `Up` para recuperarlo después de terminar en el menú de rewind.30> Si la entrada del prompt contiene texto, presionar `Esc` dos veces lo borra en lugar de abrir el menú. El texto borrado se guarda en tu historial de entrada, así que presiona `Up` para recuperarlo cuando termines en el menú de retroceso.

31 31 

32El menú de rewind enumera los prompts que enviaste durante la sesión. Selecciona el punto en el que deseas actuar y luego elige una acción:32El menú de retroceso muestra los prompts que enviaste durante la sesión. Selecciona el punto sobre el que quieres actuar y luego elige una acción:

33 33 

34* **Restaurar código y conversación**: revierte tanto el código como la conversación a ese punto34* **Restore code and conversation**: revierte tanto el código como la conversación a ese punto

35* **Restaurar conversación**: revierte a ese mensaje mientras mantiene el código actual35* **Restore conversation**: retrocede a ese mensaje manteniendo el código actual

36* **Restaurar código**: revierte los cambios de archivo mientras mantiene la conversación36* **Restore code**: revierte los cambios en los archivos manteniendo la conversación

37* **Resumir desde aquí**: comprime la conversación desde este punto en adelante en un resumen, liberando espacio de context window37* **Summarize from here**: comprime la conversación desde este punto en adelante en un resumen, liberando espacio en la ventana de contexto

38* **Resumir hasta aquí**: comprime la conversación antes de este punto en un resumen, manteniendo los mensajes posteriores intactos38* **Summarize up to here**: comprime la conversación anterior a este punto en un resumen, manteniendo intactos los mensajes posteriores

39* **Cancelar**: regresa a la lista de mensajes sin hacer cambios39* **Never mind**: vuelve a la lista de mensajes sin realizar cambios

40 40 

41Las dos opciones de restauración de código aparecen solo cuando el checkpoint seleccionado tiene cambios de archivo rastreados para revertir. Si no se capturaron ediciones de archivo después de ese punto, el menú ofrece solo **Restaurar conversación**, las opciones de resumir y **Cancelar**.41Las dos opciones de restauración de código solo aparecen cuando el checkpoint seleccionado tiene cambios de archivos rastreados que se pueden revertir. Si no se capturaron ediciones de archivos después de ese punto, el menú ofrece solo **Restore conversation**, las opciones de resumen y **Never mind**.

42 42 

43Después de restaurar la conversación o elegir Resumir desde aquí, la solicitud original del mensaje seleccionado se restaura en el campo de entrada para que pueda reenviarlo o editarlo.43Después de restaurar la conversación o elegir Summarize from here, el prompt original del mensaje seleccionado se restaura en el campo de entrada para que puedas volver a enviarlo o editarlo.

44 44 

45Al elegir Resumir hasta aquí, se queda al final de la conversación con la entrada vacía. Con cualquiera de las opciones de resumir, aparece un marcador de **Conversación resumida** en la conversación donde se comprimieron los mensajes.45Elegir Summarize up to here te deja al final de la conversación con la entrada vacía. Con cualquiera de las dos opciones de resumen, aparece un marcador **Summarized conversation** en la conversación donde estaban los mensajes comprimidos.

46 46 

47#### Los mensajes revertidos pueden volver si sales antes de tu siguiente prompt47#### Los mensajes retrocedidos pueden volver si sales antes de tu siguiente prompt

48 48 

49Para eliminar de nuevo los mensajes que volvieron, ejecuta `/rewind` en la sesión y selecciona el mismo prompt, luego **Restaurar conversación**. Antes de salir, envía un prompt a Claude, porque Claude Code guarda la conversación revertida junto con ese prompt. Los archivos que restauraste se quedan como los dejó el rewind.49Para eliminar de nuevo los mensajes que volvieron, ejecuta `/rewind` en la sesión, selecciona el mismo prompt y luego **Restore conversation**. Antes de salir, envíale un prompt a Claude, porque Claude Code guarda la conversación retrocedida junto con ese prompt. Los archivos que restauraste permanecen como los dejó el retroceso.

50 50 

51#### Revertir una conversación borrada51#### Retroceder más allá de una conversación borrada

52 52 

53Si ejecutaste `/clear` anteriormente en el mismo proceso de Claude Code, el menú de rewind muestra una entrada adicional en la parte superior de la lista etiquetada como `/resume <session-id> (previous session)`. Selecciónala para reanudar la conversación que estaba activa antes de que se ejecutara `/clear`. La entrada está disponible hasta que salgas de Claude Code o reanudes una sesión diferente.53Si ejecutaste `/clear` anteriormente en el mismo proceso de Claude Code, el menú de retroceso muestra una entrada adicional en la parte superior de la lista con la etiqueta `/resume <session-id> (previous session)`. Selecciónala para reanudar la conversación que estaba activa antes de ejecutar `/clear`. La entrada está disponible hasta que salgas de Claude Code o reanudes una sesión diferente.

54 54 

55#### Guiar un resumen55#### Guiar un resumen

56 56 

57Resumir no cambia archivos en el disco, y los mensajes originales permanecen en la transcripción de la sesión, por lo que Claude aún puede hacer referencia a los detalles. Para guiar en qué se enfoca el resumen, resalta una opción de **Resumir** con las teclas de flecha y escribe instrucciones donde la fila dice **agregar contexto (opcional)**, luego presiona `Enter`. Seleccionar la opción con su tecla numérica resume inmediatamente sin instrucciones.57Resumir no modifica los archivos en disco, y los mensajes originales permanecen en la transcripción de la sesión, por lo que Claude aún puede consultar los detalles. Para guiar en qué se enfoca el resumen, resalta una opción **Summarize** con las teclas de flecha y escribe instrucciones donde la fila indica **add context (optional)**; luego presiona `Enter`. Seleccionar la opción con su tecla numérica resume de inmediato sin instrucciones.

58 58 

59> [!NOTE]59> [!NOTE]

60>60>

61> Resumir lo mantiene en la misma sesión y comprime el contexto, como un `/compact` dirigido. Para ramificarse e intentar un enfoque diferente mientras preserva la sesión original intacta, use [`/branch`](https://code.claude.com/docs/es/sessions#branch-a-session) o `claude --continue --fork-session` en su lugar.61> Resumir te mantiene en la misma sesión y comprime el contexto, como un `/compact` dirigido. Para crear una rama y probar un enfoque diferente conservando intacta la sesión original, usa [`/branch`](https://code.claude.com/docs/es/sessions#branch-a-session) o `claude --continue --fork-session` en su lugar.

62 62 

63## Casos de uso comunes63## Casos de uso comunes

64 64 

chrome.md +48 −48

Details

51 51 

52## Comenzar en la CLI52## Comenzar en la CLI

53 53 

54**1. Lanzar Claude Code con Chrome**54**1. Inicia Claude Code con Chrome**

55 55 

56Inicia Claude Code con la bandera `--chrome`:56Inicia Claude Code con el flag `--chrome`:

57 57 

58```bash theme={null}58```bash theme={null}

59claude --chrome59claude --chrome

60```60```

61 61 

62La primera vez que inicias con Chrome, Claude Code muestra un diálogo único que presenta la integración y explica cómo funcionan los permisos del sitio. Presiona Intro para continuar.62La primera vez que lo inicias con Chrome, Claude Code muestra un diálogo único que presenta la integración y explica cómo funcionan los permisos de sitio. Presiona Enter para continuar.

63 63 

64Para habilitar Chrome para futuras sesiones sin la bandera, consulta [Habilitar Chrome de forma predeterminada](#enable-chrome-by-default).64Para habilitar Chrome en futuras sesiones sin el flag, consulta [Habilitar Chrome de forma predeterminada](#enable-chrome-by-default).

65 65 

66**2. Pídele a Claude que use el navegador**66**2. Pídele a Claude que use el navegador**

67 67 


72type "hooks", and tell me what results appear72type "hooks", and tell me what results appear

73```73```

74 74 

75Si Claude Code solicita permiso antes de una acción del navegador, apruébalo. El diálogo comienza con `Claude in Chrome wants to` y ofrece una opción para permitir todas las acciones en ese sitio durante la sesión. Claude abre una nueva pestaña e inicia la tarea.75Si Claude Code te pide permiso antes de una acción en el navegador, apruébala. El diálogo comienza con `Claude in Chrome wants to` y ofrece una opción para permitir todas las acciones en ese sitio durante la sesión. Claude abre una nueva pestaña y comienza la tarea.

76 76 

77Ejecuta `/chrome` en cualquier momento para verificar el estado de la conexión, administrar permisos, reconectar la extensión o elegir qué navegador conectado usar. La integración funciona cuando el panel de estado muestra "Status: Enabled" y "Extension: Installed".77Ejecuta `/chrome` en cualquier momento para comprobar el estado de la conexión, administrar permisos, reconectar la extensión o elegir qué navegador conectado usar. La integración funciona cuando el panel de estado muestra "Status: Enabled" y "Extension: Installed".

78 78 

79Si más de un navegador está conectado, tú eliges cuál usa Claude. Cuando una acción del navegador comienza antes de que hayas elegido, Claude te pide que elijas uno. Para cambiar de navegador más tarde, ejecuta `/chrome` y selecciona **Select browser…**. Claude sigue usando tu elección incluso cuando se conecta otro navegador.79Si hay más de un navegador conectado, tú eliges cuál usa Claude. Cuando una acción en el navegador comienza antes de que hayas elegido, Claude te pide que elijas uno. Para cambiar de navegador más adelante, ejecuta `/chrome` y selecciona **Select browser…**. Claude sigue usando tu elección incluso cuando se conecta otro navegador.

80 80 

81Para VS Code, consulta [automatización del navegador en VS Code](https://code.claude.com/docs/es/vs-code.md#automate-browser-tasks-with-chrome).81Para VS Code, consulta [automatización del navegador en VS Code](https://code.claude.com/docs/es/vs-code.md#automate-browser-tasks-with-chrome).

82 82 

83### Instalar la extensión cuando Claude lo solicita83### Instalar la extensión cuando Claude lo solicite

84 84 

85Cuando Claude necesita tu navegador en una sesión interactiva y Claude Code no detecta la extensión, Claude Code muestra una solicitud de instalación titulada "Claude wants to use your browser". Claude Code pregunta como máximo una vez por sesión.85Cuando Claude necesita tu navegador en una sesión interactiva y Claude Code no detecta la extensión, Claude Code muestra una solicitud de instalación titulada "Claude wants to use your browser". Claude Code pregunta como máximo una vez por sesión.

86 86 

87La solicitud ofrece tres opciones:87La solicitud ofrece tres opciones:

88 88 

89* **Install extension**: abre la página de instalación de la extensión en tu navegador e inicia una configuración guiada. Claude Code espera la instalación, conecta la extensión y habilita las herramientas del navegador en la misma sesión. Cuando la conexión esté lista, selecciona "Continue with browser tools" y Claude reanuda la tarea en tu navegador. Puedes abandonar la configuración seleccionando "Continue without browser tools" y terminar más tarde con `/chrome`.89* **Install extension**: abre la página de instalación de la extensión en tu navegador e inicia una configuración guiada. Claude Code espera a que se complete la instalación, conecta la extensión y habilita las herramientas del navegador en la misma sesión. Cuando la conexión esté lista, selecciona "Continue with browser tools" y Claude retoma la tarea en tu navegador. Puedes salir de la configuración seleccionando "Continue without browser tools" y terminarla más tarde con `/chrome`.

90* **Not now**: continúa la tarea sin herramientas del navegador. Claude Code puede preguntar nuevamente en una sesión posterior.90* **Not now**: continúa la tarea sin herramientas del navegador. Claude Code puede volver a preguntar en una sesión posterior.

91* **Don't ask again**: detiene la solicitud en futuras sesiones. Aún puedes configurar la integración en cualquier momento con `/chrome`.91* **Don't ask again**: detiene la solicitud en futuras sesiones. Aún puedes configurar la integración en cualquier momento con `/chrome`.

92 92 

93Dos políticas MCP administradas desactivan la solicitud:93Dos políticas de MCP administradas desactivan la solicitud:

94 94 

95* Si tu organización bloquea el servidor MCP `claude-in-chrome` con la [configuración administrada `deniedMcpServers`](https://code.claude.com/docs/es/managed-mcp#policy-based-control-with-allowlists-and-denylists), Claude Code no muestra la solicitud de instalación.95* Si tu organización bloquea el servidor MCP `claude-in-chrome` con el [ajuste administrado `deniedMcpServers`](https://code.claude.com/docs/es/managed-mcp#policy-based-control-with-allowlists-and-denylists), Claude Code no muestra la solicitud de instalación.

96* Si tu organización implementa un archivo [`managed-mcp.json`](https://code.claude.com/docs/es/managed-mcp#exclusive-control-with-managed-mcp-json) sin [permitir Claude in Chrome junto con el conjunto administrado](https://code.claude.com/docs/es/managed-mcp.md#allow-claude-in-chrome-alongside-the-managed-set), Claude Code no muestra la solicitud de instalación.96* Si tu organización implementa un archivo [`managed-mcp.json`](https://code.claude.com/docs/es/managed-mcp#exclusive-control-with-managed-mcp-json) sin [permitir Claude in Chrome junto con el conjunto administrado](https://code.claude.com/docs/es/managed-mcp.md#allow-claude-in-chrome-alongside-the-managed-set), Claude Code no muestra la solicitud de instalación.

97 97 

98### Habilitar Chrome de forma predeterminada98### Habilitar Chrome de forma predeterminada

99 99 

100Para conectar Chrome sin pasar `--chrome` cada vez, ejecuta `/chrome` en una sesión de la CLI y selecciona **Enabled by default**. En la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md#automate-browser-tasks-with-chrome), escribe `/chrome` en el cuadro del prompt y activa el interruptor **Enabled by default**. Ambos comparten un mismo ajuste, así que activarlo en cualquiera de los dos lugares lo activa tanto para la CLI como para VS Code.100Para conectar Chrome sin pasar `--chrome` cada vez, ejecuta `/chrome` en una sesión de la CLI y selecciona **Enabled by default**. En la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md#automate-browser-tasks-with-chrome), escribe `/chrome` en el cuadro de prompt y activa el interruptor **Enabled by default**. Ambos comparten un mismo ajuste, así que activarlo en cualquiera de los dos lugares lo activa tanto para la CLI como para VS Code.

101 101 

102Con el ajuste activado y Claude Code v2.1.287 o posterior, cada sesión de VS Code se conecta a tu navegador al iniciarse, para que Claude pueda usarlo antes de que escribas `@browser`. En versiones anteriores, o con el ajuste desactivado, una sesión de VS Code se conecta cuando escribes `@browser`.102Con el ajuste activado y Claude Code v2.1.287 o posterior, cada sesión de VS Code se conecta a tu navegador al iniciarse, de modo que Claude puede usarlo antes de que escribas `@browser`. En versiones anteriores, o con el ajuste desactivado, una sesión de VS Code se conecta cuando escribes `@browser`.

103 103 

104Claude Code se inicia normalmente cuando Chrome no está ejecutándose.104Claude Code se inicia normalmente cuando Chrome no está en ejecución.

105 105 

106> [!NOTE]106> [!NOTE]

107>107>

108> Habilitar Chrome de forma predeterminada aumenta el uso del contexto, ya que las herramientas del navegador y sus instrucciones siempre se cargan. Si notas un aumento en el consumo de contexto, desactiva el ajuste y conéctate solo cuando sea necesario, con `--chrome` en la CLI o escribiendo [`@browser`](https://code.claude.com/docs/es/vs-code#automate-browser-tasks-with-chrome) en el cuadro del prompt de VS Code.108> Habilitar Chrome de forma predeterminada aumenta el uso de contexto, ya que las herramientas del navegador y sus instrucciones siempre están cargadas. Si notas un mayor consumo de contexto, desactiva el ajuste y conéctate solo cuando lo necesites, con `--chrome` en la CLI o escribiendo [`@browser`](https://code.claude.com/docs/es/vs-code#automate-browser-tasks-with-chrome) en el cuadro de prompt de VS Code.

109 109 

110### Administrar permisos del sitio110### Administrar permisos de sitio

111 111 

112Los permisos a nivel de sitio se heredan de la extensión de Chrome. Administra los permisos en la configuración de la extensión de Chrome para controlar en qué sitios Claude puede navegar, hacer clic y escribir. En [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode), cuando el propio clasificador del modo automático aprueba una llamada del navegador a un sitio, la extensión omite su propia verificación por sitio para esa llamada, a menos que tus reglas de permisos denieguen cualquier sitio a Claude in Chrome.112Los permisos a nivel de sitio se heredan de la extensión de Chrome. Administra los permisos en la configuración de la extensión de Chrome para controlar en qué sitios Claude puede navegar, hacer clic y escribir. En [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode), cuando el propio clasificador del modo automático aprueba una llamada del navegador a un sitio, la extensión omite su propia verificación por sitio para esa llamada, a menos que tus reglas de permisos denieguen algún sitio a Claude in Chrome.

113 113 

114### Solicitudes de permiso en sesiones de VS Code114### Solicitudes de permiso en sesiones de VS Code

115 115 

116En una sesión de VS Code, cuando Claude Code te pregunta antes de una acción del navegador, la solicitud aparece como una tarjeta en el panel de chat. Cuando la acción se dirige a un sitio que no has permitido, la tarjeta también ofrece permitir ese sitio.116En una sesión de VS Code, cuando Claude Code pregunta antes de una acción en el navegador, la solicitud aparece como una tarjeta en el panel de chat. Cuando la acción se dirige a un sitio que no has permitido, la tarjeta también ofrece permitir ese sitio.

117 117 

118En una sesión que se conectó a tu navegador al iniciar porque [Enabled by default](#enable-chrome-by-default) está activado, Claude Code te pregunta antes de las acciones del navegador en un sitio que no has permitido, en los modos de permisos Manual, Edit automatically, Auto y Bypass permissions. En los modos de permisos Auto y Bypass permissions, esto se aplica hasta que escribas `@browser` en esa sesión.118En una sesión que se conectó a tu navegador al iniciarse porque [Enabled by default](#enable-chrome-by-default) está activado, Claude Code te pregunta antes de realizar acciones en el navegador en un sitio que no has permitido, en los modos de permisos Manual, Edit automatically, Auto y Bypass permissions. En los modos de permisos Auto y Bypass permissions, esto se aplica hasta que escribas `@browser` en esa sesión.

119 119 

120### Herramientas del navegador en modo plan120### Herramientas del navegador en modo plan

121 121 

122En [modo plan](https://code.claude.com/docs/es/permission-modes.md#analyze-before-you-edit-with-plan-mode), aparece una solicitud de permiso antes de que Claude grabe un GIF, abra una nueva pestaña o ejecute un atajo. En una sesión interactiva de la CLI, si [el modo bypass permissions está disponible](https://code.claude.com/docs/es/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) y [la obtención de banderas de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching) está desactivada, estas llamadas se ejecutan sin una solicitud.122En [modo plan](https://code.claude.com/docs/es/permission-modes.md#analyze-before-you-edit-with-plan-mode), aparece una solicitud de permiso antes de que Claude grabe un GIF, abra una nueva pestaña o ejecute un atajo. En una sesión interactiva de la CLI, si el [modo bypass permissions está disponible](https://code.claude.com/docs/es/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) y la [obtención de feature flags](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching) está desactivada, estas llamadas se ejecutan sin solicitud.

123 123 

124Una llamada `tabs_context_mcp` también solicita aprobación cuando establece `createIfEmpty`, y lo mismo ocurre con una llamada `browser_batch` que incluya cualquiera de estas acciones.124Una llamada a `tabs_context_mcp` también solicita permiso cuando establece `createIfEmpty`, al igual que una llamada a `browser_batch` que incluya cualquiera de estas acciones.

125 125 

126## Flujos de trabajo de ejemplo126## Ejemplos de flujos de trabajo

127 127 

128Estos ejemplos muestran formas comunes de combinar acciones del navegador con tareas de codificación. Ejecuta `/mcp`, selecciona `claude-in-chrome` y luego selecciona **Ver herramientas** para ver la lista completa de herramientas del navegador disponibles.128Estos ejemplos muestran formas comunes de combinar acciones del navegador con tareas de programación. Ejecuta `/mcp`, selecciona `claude-in-chrome` y luego selecciona **View tools** para ver la lista completa de herramientas del navegador disponibles.

129 129 

130### Probar una aplicación web local130### Probar una aplicación web local

131 131 

132Al desarrollar una aplicación web, pídele a Claude que verifique que tus cambios funcionen correctamente:132Cuando desarrolles una aplicación web, pídele a Claude que verifique que tus cambios funcionen correctamente:

133 133 

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

135I just updated the login form validation. Can you open localhost:3000,135I just updated the login form validation. Can you open localhost:3000,


139 139 

140Claude navega a tu servidor local, interactúa con el formulario e informa lo que observa.140Claude navega a tu servidor local, interactúa con el formulario e informa lo que observa.

141 141 

142### Depurar con registros de consola142### Depurar con registros de la consola

143 143 

144Claude puede leer la salida de la consola para ayudar a diagnosticar problemas. Dile a Claude qué patrones buscar en lugar de pedirle toda la salida de la consola, ya que los registros pueden ser detallados:144Claude puede leer la salida de la consola para ayudar a diagnosticar problemas. Indícale a Claude qué patrones buscar en lugar de pedirle toda la salida de la consola, ya que los registros pueden ser extensos:

145 145 

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

147Open the dashboard page and check the console for any errors when147Open the dashboard page and check the console for any errors when

148the page loads.148the page loads.

149```149```

150 150 

151Claude lee los mensajes de la consola y puede filtrar patrones específicos o tipos de error.151Claude lee los mensajes de la consola y puede filtrar por patrones o tipos de error específicos.

152 152 

153### Automatizar el relleno de formularios153### Automatizar el llenado de formularios

154 154 

155Acelera tareas repetitivas de entrada de datos:155Agiliza las tareas repetitivas de ingreso de datos:

156 156 

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

158I have a spreadsheet of customer contacts in contacts.csv. For each row,158I have a spreadsheet of customer contacts in contacts.csv. For each row,


160name, email, and phone fields.160name, email, and phone fields.

161```161```

162 162 

163Claude lee tu archivo local, navega por la interfaz web e introduce los datos para cada registro.163Claude lee tu archivo local, navega por la interfaz web e ingresa los datos de cada registro.

164 164 

165### Cargar archivos en páginas web165### Subir archivos a páginas web

166 166 

167Claude puede adjuntar archivos de tu máquina a campos de carga en una página. Claude Code lee el archivo y envía su contenido al navegador, por lo que las cargas funcionan tanto en sesiones locales como remotas.167Claude puede adjuntar archivos de tu máquina a los campos de carga de una página. Claude Code lee el archivo y envía su contenido al navegador, por lo que las cargas funcionan tanto en sesiones locales como remotas.

168 168 

169Este ejemplo adjunta un archivo de registro a un formulario:169Este ejemplo adjunta un archivo de log a un formulario:

170 170 

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

172Open the bug tracker at bugs.example.com, create a new issue,172Open the bug tracker at bugs.example.com, create a new issue,


175 175 

176Si Claude se niega a adjuntar un archivo o una carga falla, revisa estas causas:176Si Claude se niega a adjuntar un archivo o una carga falla, revisa estas causas:

177 177 

178* **Permisos**: Claude puede cargar un archivo solo cuando la sesión tiene permiso para leerlo, por lo que las [reglas de permisos](https://code.claude.com/docs/es/settings-reference.md#permission-settings) que deniegan acceso `Read` a un archivo también bloquean su carga.178* **Permisos**: Claude solo puede subir un archivo cuando la sesión tiene permitido leerlo, por lo que las [reglas de permisos](https://code.claude.com/docs/es/settings-reference.md#permission-settings) que deniegan el acceso de `Read` a un archivo también bloquean su carga.

179* **Tamaño**: una sola carga puede incluir hasta 10 MB de archivos en total.179* **Tamaño**: una sola carga puede incluir hasta 10 MB de archivos en total.

180* **Enlaces duros**: Claude rechaza archivos que tienen múltiples enlaces duros, lo cual es común dentro de almacenes de administradores de paquetes como `node_modules`. Copia el archivo y carga la copia.180* **Enlaces duros**: Claude rechaza archivos que tienen varios enlaces duros, algo común dentro de los almacenes de gestores de paquetes como `node_modules`. Copia el archivo y sube la copia.

181* **Nombres de credenciales**: Claude rechaza un archivo cuyo nombre o carpeta es uno de los que se usan para guardar credenciales, como `.env`, un archivo `.pem` o `.key`, o cualquier cosa dentro de `.ssh`. Requiere Claude Code v2.1.293 o posterior.181* **Nombres de credenciales**: Claude rechaza un archivo cuyo nombre o carpeta sea uno en el que se guardan credenciales, como `.env`, un archivo `.pem` o `.key`, o cualquier cosa dentro de `.ssh`. Requiere Claude Code v2.1.293 o posterior.

182 182 

183### Redactar contenido en Google Docs183### Redactar contenido en Google Docs

184 184 

185Usa Claude para escribir directamente en tus documentos sin configuración de API:185Usa Claude para escribir directamente en tus documentos sin configurar una API:

186 186 

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

188Draft a project update based on the recent commits and add it to my188Draft a project update based on the recent commits and add it to my

189Google Doc at docs.google.com/document/d/abc123189Google Doc at docs.google.com/document/d/abc123

190```190```

191 191 

192Claude abre el documento, hace clic en el editor e introduce el contenido. Esto funciona con cualquier aplicación web en la que hayas iniciado sesión: Gmail, Notion, Sheets y más.192Claude abre el documento, hace clic en el editor y escribe el contenido. Esto funciona con cualquier aplicación web en la que hayas iniciado sesión: Gmail, Notion, Sheets y más.

193 193 

194### Extraer datos de páginas web194### Extraer datos de páginas web

195 195 

196Extrae información estructurada de sitios web:196Obtén información estructurada de sitios web:

197 197 

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

199Go to the product listings page and extract the name, price, and199Go to the product listings page and extract the name, price, and


202 202 

203Claude navega a la página, lee el contenido y compila los datos en un formato estructurado.203Claude navega a la página, lee el contenido y compila los datos en un formato estructurado.

204 204 

205### Ejecutar flujos de trabajo multisitio205### Ejecutar flujos de trabajo en varios sitios

206 206 

207Coordina tareas en múltiples sitios web:207Coordina tareas en varios sitios web:

208 208 

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

210Check my calendar for meetings tomorrow, then for each meeting with210Check my calendar for meetings tomorrow, then for each meeting with


212about what they do.212about what they do.

213```213```

214 214 

215Claude trabaja en pestañas para recopilar información y completar el flujo de trabajo.215Claude trabaja entre pestañas para recopilar información y completar el flujo de trabajo.

216 216 

217### Grabar un GIF de demostración217### Grabar un GIF de demostración

218 218 

219Crea grabaciones compartibles de interacciones del navegador:219Crea grabaciones compartibles de interacciones en el navegador:

220 220 

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

222Record a GIF showing how to complete the checkout flow, from adding222Record a GIF showing how to complete the checkout flow, from adding

223an item to the cart through to the confirmation page.223an item to the cart through to the confirmation page.

224```224```

225 225 

226Claude graba la secuencia de interacción y la guarda como un archivo GIF. La grabación captura todo lo visible en el navegador, incluidos los detalles de la cuenta en páginas con sesión iniciada, por lo que revísala antes de compartirla fuera de tu equipo.226Claude graba la secuencia de interacciones y la guarda como un archivo GIF. La grabación captura todo lo visible en el navegador, incluidos los datos de la cuenta en páginas con sesión iniciada, así que revísala antes de compartirla fuera de tu equipo.

227 227 

228### Guardar capturas de pantalla en disco228### Guardar capturas de pantalla en el disco

229 229 

230Pídele a Claude que guarde una captura de pantalla como archivo:230Pídele a Claude que conserve una captura de pantalla como archivo:

231 231 

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

233Take a screenshot of the checkout page and save it to disk233Take a screenshot of the checkout page and save it to disk

234```234```

235 235 

236Claude guarda la imagen en disco e informa la ruta del archivo.236Claude guarda la imagen en el disco e informa la ruta del archivo.

237 237 

238## Solución de problemas238## Solución de problemas

239 239 

Details

57 57 

58## Inicio rápido58## Inicio rápido

59 59 

60Este inicio rápido recorre la ruta mínima: registrar un cliente OAuth en su IdP, escribir un `gateway.yaml`, ejecutar la puerta de enlace junto con Postgres usando Docker Compose y verificar el inicio de sesión de extremo a extremo. Utiliza un upstream de Amazon Bedrock; Claude Platform en AWS, Agent Platform de Google Cloud, Microsoft Foundry y la API de Anthropic son igualmente compatibles intercambiando el bloque `upstreams` como se muestra en la [referencia de configuración](https://code.claude.com/docs/es/claude-apps-gateway-config.md#upstreams). Al final tiene una puerta de enlace a la que un desarrollador puede `/login`.60Este inicio rápido recorre el camino mínimo: registrar un cliente OAuth en tu IdP, escribir un `gateway.yaml`, ejecutar el gateway junto a Postgres con Docker Compose y verificar el inicio de sesión de principio a fin. Usa un upstream de Amazon Bedrock; Claude Platform on AWS, Google Cloud's Agent Platform, Microsoft Foundry y la API de Anthropic son igualmente compatibles si cambias el bloque `upstreams` como se muestra en la [referencia de configuración](https://code.claude.com/docs/es/claude-apps-gateway-config.md#upstreams). Al final tendrás un gateway en el que un desarrollador puede hacer `/login`.

61 61 

62> [!NOTE]62> [!NOTE]

63>63>

64> **Implemente en su red privada.** Claude Code solo se conecta a una puerta de enlace cuya dirección es privada. Esta es una protección de seguridad, porque una puerta de enlace de confianza puede enviar configuraciones que ejecuten comandos en máquinas de desarrolladores. Coloque la puerta de enlace detrás de un equilibrador de carga interno o VPN y asígnele un nombre de host que se resuelva solo a direcciones IP privadas. Si su red interna está numerada desde espacio IPv4 público que su organización posee, consulte [Permitir una puerta de enlace en espacio de dirección público que usted posee](#allow-a-gateway-on-public-address-space-you-own).64> **Despliega en tu red privada.** Claude Code solo se conecta a un gateway cuya dirección sea privada. Esto es una medida de seguridad, porque un gateway de confianza puede enviar configuración que ejecuta comandos en las máquinas de los desarrolladores. Coloca el gateway detrás de un balanceador de carga interno o una VPN y asígnale un hostname que resuelva solo a IP privadas. Si tu red interna está numerada con espacio IPv4 público que pertenece a tu organización, consulta [Permitir un gateway en espacio de direcciones públicas que te pertenece](#allow-a-gateway-on-public-address-space-you-own).

65 65 

66### Requisitos previos66### Requisitos previos

67 67 

68Tenga estos elementos en su lugar antes de comenzar:68Ten esto listo antes de empezar:

69 69 

70| Lo que necesita | Detalles |70| Necesitas | Detalles |

71| - | - |71| - | - |

72| Claude Code v2.1.195 o posterior | El subcomando `claude gateway` y el flujo de inicio de sesión de la puerta de enlace se envían en v2.1.195. Las compilaciones públicas anteriores no los incluyen. Tanto la máquina que ejecuta el servidor de la puerta de enlace como la máquina de cada desarrollador deben estar en v2.1.195 o posterior; ejecute `claude update` para obtener la versión más reciente. El [upstream de Claude Platform en AWS](https://code.claude.com/docs/es/claude-apps-gateway-config.md#claude-platform-on-aws) requiere Claude Code v2.1.198 o posterior en el servidor de la puerta de enlace. |72| Claude Code v2.1.195 o posterior | El subcomando `claude gateway` y el flujo de inicio de sesión del gateway se incluyen en v2.1.195. Las compilaciones públicas anteriores no los incluyen. Tanto la máquina que ejecuta el servidor del gateway como la máquina de cada desarrollador deben tener v2.1.195 o posterior; ejecuta `claude update` para obtener la versión más reciente. El [upstream de Claude Platform on AWS](https://code.claude.com/docs/es/claude-apps-gateway-config.md#claude-platform-on-aws) requiere Claude Code v2.1.198 o posterior en el servidor del gateway. |

73| Proveedor de identidad OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak, o Dex, o cualquier otro IdP compatible con OIDC como PingFederate. La puerta de enlace ejecuta el descubrimiento OIDC estándar y el flujo de código de autorización en su contra. SAML y LDAP no son compatibles. |73| Proveedor de identidad OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak o Dex, o cualquier otro IdP compatible con OIDC, como PingFederate. El gateway ejecuta el descubrimiento OIDC estándar y el flujo de código de autorización contra él. SAML y LDAP no son compatibles. |

74| PostgreSQL 11 o posterior | Respalda el flujo de inicio de sesión del dispositivo y los contadores de rate limit. Funciona un servicio de PostgreSQL administrado, incluido el nivel más pequeño; consulta [qué bases de datos son compatibles](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#postgres). Con [límites de gasto](https://code.claude.com/docs/es/claude-apps-gateway-spend-limits.md), también contiene tablas duraderas de gasto, auditoría e identidad de las que se debe hacer copia de seguridad. Se recomienda TLS mediante `?sslmode=require`. PostgreSQL 11, 12 y 13 requieren Claude Code v2.1.290 o posterior en el servidor del gateway. El proyecto PostgreSQL ya no mantiene esas versiones, así que usa una más reciente siempre que puedas. |74| PostgreSQL 11 o posterior | Respalda el flujo de inicio de sesión de dispositivo y los contadores de rate limit. Funciona un servicio administrado de PostgreSQL, incluido el nivel más pequeño; consulta [qué bases de datos son compatibles](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#postgres). Con [límites de gasto](https://code.claude.com/docs/es/claude-apps-gateway-spend-limits.md), también almacena tablas duraderas de gasto, auditoría e identidad que deben respaldarse. Se recomienda TLS mediante `?sslmode=require`. PostgreSQL 11, 12 y 13 requieren Claude Code v2.1.290 o posterior en el servidor del gateway. El proyecto PostgreSQL ya no mantiene esas versiones, así que usa una más reciente cuando puedas. |

75| Upstream de modelo | Credenciales de Amazon Bedrock, credenciales de Claude Platform en AWS, credenciales de Google Cloud, un recurso de Microsoft Foundry o una clave de API de Anthropic. Se admiten múltiples upstreams con conmutación por error. |75| Upstream de modelos | Credenciales de Amazon Bedrock, credenciales de Claude Platform on AWS, credenciales de Google Cloud, un recurso de Microsoft Foundry o una clave de API de Anthropic. Se admiten varios upstreams con conmutación por error. |

76| HTTPS | La puerta de enlace debe ser accesible a través de `https://` desde portátiles de desarrolladores y desde cualquier navegador utilizado para el inicio de sesión; la puerta de enlace sirve la página de verificación del dispositivo en el mismo oyente. Proporcione un certificado TLS a través de `listen.tls` o ejecute detrás de una entrada que termine TLS, y establezca `listen.public_url` en el origen externo en ambos casos. En `/login`, Claude Code acepta un origen `http://` simple solo cuando el host de la puerta de enlace es loopback: `localhost`, `127.0.0.1` o `::1`. |76| HTTPS | El gateway debe ser accesible mediante `https://` desde las laptops de los desarrolladores y desde cualquier navegador que se use para iniciar sesión; el gateway sirve la página de verificación de dispositivo en el mismo listener. Proporciona un certificado TLS mediante `listen.tls` o ejecútalo detrás de un ingress que termine TLS, y en ambos casos establece `listen.public_url` en el origen externo. En `/login`, Claude Code acepta un origen `http://` simple solo cuando el host del gateway es loopback: `localhost`, `127.0.0.1` o `::1`. |

77| Dirección de red privada | En `/login`, Claude Code requiere que el nombre de host o la dirección IP de la puerta de enlace se resuelvan solo a direcciones privadas: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` o loopback. Para una puerta de enlace que aloja, cualquier dirección pública fuera de un bloque que declare se rechaza; consulte el [modelo de amenaza](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#threat-model-summary) en la guía de implementación. Si las máquinas de desarrolladores enrutan HTTPS a través de un proxy corporativo, el inicio de sesión también requiere que el host del proxy se resuelva a direcciones privadas; si no es así, agregue el host de la puerta de enlace a `NO_PROXY` para que la CLI se conecte directamente. Si su red interna está numerada desde espacio IPv4 público que su organización posee, [declare esos bloques](#allow-a-gateway-on-public-address-space-you-own) para que `/login` acepte una puerta de enlace allí. |77| Dirección de red privada | En `/login`, Claude Code requiere que el hostname o la dirección IP del gateway resuelva solo a direcciones privadas: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` o loopback. Para un gateway que alojas tú, se rechaza cualquier dirección pública fuera de un bloque que declares; consulta el [modelo de amenazas](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#threat-model-summary) en la guía de despliegue. Si las máquinas de los desarrolladores enrutan HTTPS a través de un proxy corporativo, el inicio de sesión también requiere que el host del proxy resuelva a direcciones privadas; si no es así, agrega el host del gateway a `NO_PROXY` para que la CLI se conecte directamente. Si tu red interna está numerada con espacio IPv4 público que pertenece a tu organización, [declara esos bloques](#allow-a-gateway-on-public-address-space-you-own) para que `/login` acepte un gateway ahí. |

78| Runtime de Linux | El servidor de la puerta de enlace se ejecuta solo en el binario nativo de Linux. macOS funciona para desarrollo local. Windows no es compatible como plataforma de servidor. |78| Entorno de ejecución Linux | El servidor del gateway solo se ejecuta en el binario nativo de Linux. macOS funciona para desarrollo local. Windows no es compatible como plataforma de servidor. |

79 79 

80### Pasos80### Pasos

81 81 

82**1. Registrar un cliente OAuth en su IdP**82**1. Registra un cliente OAuth en tu IdP**

83 83 

84Decida primero el nombre de host de la puerta de enlace, porque el URI de redirección debe coincidir con él. Cree una nueva aplicación web OIDC y establezca el URI de redirección en `https://claude-gateway.<su-dominio>/oauth/callback`, donde el host es el mismo valor que establece como [`listen.public_url`](https://code.claude.com/docs/es/claude-apps-gateway-config#listen) en el paso 3. Anote el `client_id` y `client_secret`. Las instrucciones por IdP están en [Configuración del proveedor de identidad](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#identity-provider-setup).84Decide primero el hostname del gateway, porque el URI de redirección debe coincidir con él. Crea una nueva aplicación web OIDC y establece el URI de redirección en `https://claude-gateway.<your-domain>/oauth/callback`, donde el host es el mismo valor que estableces como [`listen.public_url`](https://code.claude.com/docs/es/claude-apps-gateway-config#listen) en el paso 3. Anota el `client_id` y el `client_secret`. Las instrucciones para cada IdP están en [Configuración del proveedor de identidad](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#identity-provider-setup).

85 85 

86**2. Aprovisiona una base de datos PostgreSQL**86**2. Aprovisiona una base de datos PostgreSQL**

87 87 

88Usa PostgreSQL 11 o posterior. El nivel administrado más pequeño es suficiente. El gateway ejecuta sus propias migraciones de esquema al arrancar, por lo que el rol de la base de datos necesita permisos para crear y modificar tablas; consulta [`store`](https://code.claude.com/docs/es/claude-apps-gateway-config#store).88Usa PostgreSQL 11 o posterior. El nivel administrado más pequeño es suficiente. El gateway ejecuta sus propias migraciones de esquema al arrancar, así que el rol de la base de datos necesita permisos para crear y modificar tablas; consulta [`store`](https://code.claude.com/docs/es/claude-apps-gateway-config#store).

89 89 

90**3. Escribir gateway.yaml**90**3. Escribe gateway.yaml**

91 91 

92Los secretos se leen a través de la expansión `${ENV_VAR}` para que el archivo en sí pueda vivir en control de versiones. Use un nombre de host `public_url` que se resuelva a una IP privada en su red, porque `/login` rechaza direcciones públicas. La configuración mínima tiene cinco secciones, y todos los demás campos tienen un valor predeterminado:92Los secretos se leen mediante la expansión `${ENV_VAR}` para que el archivo en sí pueda estar en control de versiones. Usa un hostname de `public_url` que resuelva a una IP privada en tu red, porque `/login` rechaza direcciones públicas. La configuración mínima tiene cinco secciones, y todos los demás campos tienen un valor predeterminado:

93 93 

94```yaml gateway.yaml theme={null}94```yaml gateway.yaml theme={null}

95listen:95listen:

96 host: 0.0.0.096 host: 0.0.0.0

97 port: 808097 port: 8080

98 # Requerido a menos que el host sea una dirección loopback. Se utiliza para el IdP98 # Required unless host is a loopback address. Used for the IdP

99 # redirect_uri y el documento de descubrimiento.99 # redirect_uri and the discovery document.

100 public_url: https://claude-gateway.internal.example.com100 public_url: https://claude-gateway.internal.example.com

101 101 

102oidc:102oidc:

103 issuer: https://login.example.com # debe servir /.well-known/openid-configuration103 issuer: https://login.example.com # must serve /.well-known/openid-configuration

104 client_id: 0oa1example2104 client_id: 0oa1example2

105 client_secret: ${OIDC_CLIENT_SECRET}105 client_secret: ${OIDC_CLIENT_SECRET}

106 allowed_email_domains: [example.com] # rechazar id_tokens fuera de su organización106 allowed_email_domains: [example.com] # reject id_tokens outside your org

107 userinfo_fallback: true # para IdPs cuyo id_token omite email/groups; inofensivo de otra manera107 userinfo_fallback: true # for IdPs whose id_token omits email/groups; harmless otherwise

108 108 

109session:109session:

110 jwt_secret: ${GATEWAY_JWT_SECRET} # openssl rand -base64 32110 jwt_secret: ${GATEWAY_JWT_SECRET} # openssl rand -base64 32

111 ttl_hours: 1 # también limita la latencia de revocación en el desaprovisionamiento de IdP111 ttl_hours: 1 # also bounds revocation latency on IdP deprovision

112 112 

113store:113store:

114 postgres_url: ${GATEWAY_POSTGRES_URL} # agregue ?sslmode=require para Postgres administrado114 postgres_url: ${GATEWAY_POSTGRES_URL} # add ?sslmode=require for managed Postgres

115 115 

116upstreams:116upstreams:

117 - provider: bedrock117 - provider: bedrock

118 region: us-east-1118 region: us-east-1

119 auth: {} # vacío: cadena de credenciales predeterminada de AWS119 auth: {} # empty: AWS default credential chain

120# (IRSA, rol de tarea EC2/ECS, variables de entorno, ~/.aws)120# (IRSA, EC2/ECS task role, env vars, ~/.aws)

121 121 

122# Los modelos se traducen por upstream automáticamente. El catálogo integrado122# Models are translated per upstream automatically. The built-in catalog

123# asigna claude-opus-4-8 a us.anthropic.claude-opus-4-8 y así sucesivamente para cada123# maps claude-opus-4-8 to us.anthropic.claude-opus-4-8 and so on for every

124# modelo Claude compatible con Bedrock. Establezca false y agregue una lista `models:` para124# Bedrock-supported Claude model. Set false and add a `models:` list to

125# exponer solo modelos específicos.125# expose only specific models.

126auto_include_builtin_models: true126auto_include_builtin_models: true

127```127```

128 128 

129Esta configuración es suficiente para un bucle de inicio de sesión funcional con el catálogo de modelos predeterminado de Amazon Bedrock. Una vez que se está ejecutando, agregue RBAC por grupo y configuraciones administradas a través de [`managed.policies`](https://code.claude.com/docs/es/claude-apps-gateway-config#managed), fan-out de telemetría a través de [`telemetry`](https://code.claude.com/docs/es/claude-apps-gateway-config#telemetry) y conmutación por error de múltiples upstreams, ARN de rendimiento aprovisionado o regiones no estadounidenses a través de [`models`](https://code.claude.com/docs/es/claude-apps-gateway-config#models).129Esta configuración es suficiente para un ciclo de inicio de sesión funcional con el catálogo de modelos predeterminado de Amazon Bedrock. Una vez que esté en ejecución, agrega RBAC por grupo y configuración administrada mediante [`managed.policies`](https://code.claude.com/docs/es/claude-apps-gateway-config#managed), distribución de telemetría mediante [`telemetry`](https://code.claude.com/docs/es/claude-apps-gateway-config#telemetry), y conmutación por error entre varios upstreams, ARN de rendimiento aprovisionado o regiones fuera de EE. UU. mediante [`models`](https://code.claude.com/docs/es/claude-apps-gateway-config#models).

130 130 

131> [!NOTE]131> [!NOTE]

132>132>

133> El upstream de Amazon Bedrock necesita un principal de AWS con `bedrock:InvokeModel` y `bedrock:InvokeModelWithResponseStream` en los ARN `inference-profile/us.anthropic.*` y los ARN subyacentes `foundation-model/anthropic.*`. También necesita el formulario de caso de uso único de Anthropic enviado para la cuenta desde el catálogo de modelos de la consola de Bedrock.133> El upstream de Amazon Bedrock necesita un principal de AWS con `bedrock:InvokeModel` y `bedrock:InvokeModelWithResponseStream` tanto en los ARN `inference-profile/us.anthropic.*` como en los ARN subyacentes `foundation-model/anthropic.*`. También necesita que se haya enviado el formulario único de caso de uso de Anthropic para la cuenta desde el catálogo de modelos de la consola de Bedrock.

134>134>

135> Suministre la credencial con IRSA en EKS, un rol de tarea ECS o un perfil de instancia EC2 en lugar de claves estáticas. La [referencia `upstreams`](https://code.claude.com/docs/es/claude-apps-gateway-config#upstreams) tiene los detalles completos de IAM, la matriz de credenciales entre nubes y los bloques `auth` para los otros proveedores.135> Proporciona la credencial con IRSA en EKS, un rol de tarea de ECS o un perfil de instancia de EC2 en lugar de claves estáticas. La [referencia de `upstreams`](https://code.claude.com/docs/es/claude-apps-gateway-config#upstreams) tiene todos los detalles de IAM, la matriz de credenciales entre nubes y los bloques `auth` para los demás proveedores.

136 136 

137**4. Ejecutarlo**137**4. Ejecútalo**

138 138 

139Construya una imagen de contenedor alrededor del binario `claude` que cumpla con los [requisitos de imagen](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#container-image), luego ejecútela junto con Postgres. El archivo Compose hace referencia a la imagen como `registry.example.com/claude-gateway:2.1.198`; sustituya su propio registro y etiqueta de imagen:139Crea una imagen de contenedor alrededor del binario `claude` que cumpla los [requisitos de la imagen](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#container-image) y luego ejecútala junto a Postgres. El archivo de Compose hace referencia a la imagen como `registry.example.com/claude-gateway:2.1.198`; sustitúyela por tu propio registro y etiqueta de imagen:

140 140 

141```yaml docker-compose.yaml theme={null}141```yaml docker-compose.yaml theme={null}

142services:142services:


148 OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET}148 OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET}

149 GATEWAY_JWT_SECRET: ${GATEWAY_JWT_SECRET}149 GATEWAY_JWT_SECRET: ${GATEWAY_JWT_SECRET}

150 GATEWAY_POSTGRES_URL: postgres://gw:pw@postgres/gateway150 GATEWAY_POSTGRES_URL: postgres://gw:pw@postgres/gateway

151 # Credenciales de AWS: en producción, omita estas y use un rol de instancia151 # AWS credentials: in production, omit these and use an instance

152 # Para pruebas locales de Compose, pase las suyas propias:152 # role. For local Compose testing, pass through your own:

153 AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}153 AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}

154 AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}154 AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}

155 AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}155 AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}


166volumes: { pgdata: }166volumes: { pgdata: }

167```167```

168 168 

169La puerta de enlace es un único binario de Linux que lee la configuración, se conecta a Postgres y aplica sus migraciones de esquema, ejecuta el descubrimiento OIDC en su IdP, construye clientes upstream e inicia la escucha.169El gateway es un único binario de Linux que lee la configuración, se conecta a Postgres y aplica sus migraciones de esquema, ejecuta el descubrimiento OIDC contra tu IdP, crea los clientes de upstream y empieza a escuchar.

170 170 

171El arranque es de cierre seguro para la configuración, la conexión de Postgres, el descubrimiento OIDC y la construcción del cliente upstream. Si alguno de esos es inaccesible o está mal configurado, la puerta de enlace sale con un error en lugar de servir tráfico en un estado degradado.171El arranque falla de forma cerrada para la configuración, la conexión a Postgres, el descubrimiento OIDC y la creación de clientes de upstream. Si alguno de ellos es inaccesible o está mal configurado, el gateway termina con un error en lugar de servir tráfico en un estado degradado.

172 172 

173Un arranque exitoso no valida la ruta de inferencia, porque las credenciales de instancia de Amazon Bedrock y Agent Platform de Google Cloud se resuelven en la primera solicitud, no al arrancar.173Un arranque exitoso no valida la ruta de inferencia, porque las credenciales de instancia de Amazon Bedrock y Google Cloud's Agent Platform se resuelven en la primera solicitud, no al arrancar.

174 174 

175Observe stderr para la secuencia de arranque. Las líneas de registro utilizan el formato `[gateway] <timestamp> <level> <message>`, los eventos de auditoría son JSON de una sola línea con un campo `evt`, y un banner de inicio, omitido a continuación, se imprime entre las líneas de migración y escucha. Una base de datos nueva imprime una línea `migration N applied` por migración de esquema; una base de datos ya migrada no imprime ninguna. Debería ver, en orden:175Observa stderr para ver la secuencia de arranque. Las líneas de registro usan el formato `[gateway] <timestamp> <level> <message>`, los eventos de auditoría son JSON de una sola línea con un campo `evt`, y un banner de inicio, omitido abajo, se imprime entre las líneas de migración y de escucha. Una base de datos nueva imprime una línea `migration N applied` por cada migración de esquema; una base de datos ya migrada no imprime ninguna. Deberías ver, en orden:

176 176 

177```text theme={null}177```text theme={null}

178{"ts":"2026-06-10T17:03:21.114Z","evt":"config.load","path":"/etc/claude/gateway.yaml","sha256":"…"}178{"ts":"2026-06-10T17:03:21.114Z","evt":"config.load","path":"/etc/claude/gateway.yaml","sha256":"…"}

179[gateway] 2026-06-10T17:03:21.395Z info esperando bloqueo de migración (otra réplica puede estar migrando; verifique pg_locks para la clave 6775156 si esto persiste)179[gateway] 2026-06-10T17:03:21.395Z info waiting for migration lock (another replica may be migrating; check pg_locks for key 6775156 if this persists)

180[gateway] 2026-06-10T17:03:21.408Z info migración 1 aplicada180[gateway] 2026-06-10T17:03:21.408Z info migration 1 applied

181…181…

182[gateway] 2026-06-10T17:03:21.431Z info migración 6 aplicada182[gateway] 2026-06-10T17:03:21.431Z info migration 6 applied

183[gateway] 2026-06-10T17:03:21.512Z info claude gateway escuchando en http://0.0.0.0:8080183[gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080

184```184```

185 185 

186La puerta de enlace también registra una advertencia de que `access_control.allow_cidrs` está vacío. Eso es lo esperado aquí, porque nada limita qué direcciones de cliente sirve la puerta de enlace hasta que establezca una lista de permitidos. La [referencia `access_control`](https://code.claude.com/docs/es/claude-apps-gateway-config#http-tuning) tiene los rangos recomendados.186El gateway también registra una advertencia de que `access_control.allow_cidrs` está vacío. Eso es esperado aquí, porque nada limita a qué direcciones de cliente sirve el gateway hasta que establezcas una lista de permitidos. La [referencia de `access_control`](https://code.claude.com/docs/es/claude-apps-gateway-config#http-tuning) tiene los rangos recomendados.

187 187 

188Si el arranque sale antes de la línea `claude gateway listening on`, la última línea de stderr nombra el problema:188Si el arranque termina antes de la línea `claude gateway listening on`, la última línea de stderr indica el problema:

189 189 

190* un Postgres inaccesible190* un Postgres inaccesible

191* un rol de Postgres sin permiso DDL191* un rol de Postgres sin permiso de DDL

192* un documento de descubrimiento OIDC inaccesible o inválido192* un documento de descubrimiento OIDC inaccesible o no válido

193* una violación del esquema de configuración con la ruta del campo ofensivo193* una violación del esquema de configuración con la ruta del campo problemático

194 194 

195Corrija y reinicie.195Corrígelo y reinicia.

196 196 

197Si ya tiene una entrada que termina TLS, omita Compose y ejecute el binario directamente con `claude gateway --config gateway.yaml`. Establezca `public_url` en el origen de la entrada y enlace `listen` a una dirección loopback o interna del clúster.197Si ya tienes un ingress que termina TLS, omite Compose y ejecuta el binario directamente con `claude gateway --config gateway.yaml`. Establece `public_url` en el origen del ingress y vincula `listen` a una dirección loopback o interna del clúster.

198 198 

199**5. Verificar la superficie de autenticación**199**5. Verifica la superficie de autenticación**

200 200 

201Tres comprobaciones confirman que la puerta de enlace puede autenticar a un usuario real antes de compartirla con un desarrollador.201Tres comprobaciones confirman que el gateway puede autenticar a un usuario real antes de compartirlo con un desarrollador.

202 202 

203Los ejemplos utilizan la URL pública de la puerta de enlace; para la configuración local de Compose sin una entrada, sustituya `http://localhost:8080` en las dos primeras comprobaciones. La tercera comprobación abre `verification_uri_complete`, que se construye a partir de `public_url`, por lo que para Compose local establezca `public_url: http://localhost:8080` en `gateway.yaml` y agregue `http://localhost:8080/oauth/callback` como un segundo URI de redirección en el cliente OAuth del paso 1, porque la puerta de enlace construye el `redirect_uri` de IdP a partir de `public_url`. El enlace de verificación se abre en su navegador local.203Los ejemplos usan la URL pública del gateway; para la configuración local de Compose sin ingress, sustitúyela por `http://localhost:8080` en las dos primeras comprobaciones. La tercera comprobación abre `verification_uri_complete`, que se construye a partir de `public_url`, así que para Compose local establece `public_url: http://localhost:8080` en `gateway.yaml` y agrega `http://localhost:8080/oauth/callback` como segundo URI de redirección en el cliente OAuth del paso 1, porque el gateway construye el `redirect_uri` del IdP a partir de `public_url`. El enlace de verificación se abre entonces en tu navegador local.

204 204 

205En Windows PowerShell, ejecute `curl.exe`; el `curl` simple es un alias para `Invoke-WebRequest` y rechaza estas banderas.205En Windows PowerShell, ejecuta `curl.exe`; `curl` a secas es un alias de `Invoke-WebRequest` y rechaza estos flags.

206 206 

207Primero, obtenga el documento de descubrimiento, que confirma que la puerta de enlace está activa, la configuración es válida y todas las comprobaciones de arranque pasaron:207Primero, obtén el documento de descubrimiento, lo que confirma que el gateway está activo, que la configuración es válida y que se superaron todas las comprobaciones de arranque:

208 208 

209```bash theme={null}209```bash theme={null}

210curl -s https://claude-gateway.internal.example.com/.well-known/oauth-authorization-server | jq210curl -s https://claude-gateway.internal.example.com/.well-known/oauth-authorization-server | jq


221 221 

222La respuesta incluye campos adicionales, como `response_types_supported` y `scopes_supported`.222La respuesta incluye campos adicionales, como `response_types_supported` y `scopes_supported`.

223 223 

224Segundo, solicite una autorización de dispositivo, que confirma que el flujo de inicio de sesión del dispositivo funciona y que Postgres es accesible y escribible:224Segundo, solicita una autorización de dispositivo, lo que confirma que el flujo de inicio de sesión de dispositivo funciona y que Postgres es accesible y permite escritura:

225 225 

226```bash theme={null}226```bash theme={null}

227curl -s -X POST https://claude-gateway.internal.example.com/oauth/device_authorization | jq227curl -s -X POST https://claude-gateway.internal.example.com/oauth/device_authorization | jq


238}238}

239```239```

240 240 

241Tercero, pruebe la rama del navegador abriendo `verification_uri_complete` en un navegador y confirmando el código. Debería ser redirigido a la página de inicio de sesión de su IdP y, después de iniciar sesión, volver a la puerta de enlace con una confirmación de inicio de sesión.241Tercero, prueba el tramo del navegador abriendo `verification_uri_complete` en un navegador y confirmando el código. Deberías ser redirigido a la página de inicio de sesión de tu IdP y, después de iniciar sesión, volver al gateway con una confirmación de sesión iniciada.

242 242 

243Use la primera comprobación fallida para localizar el problema:243Usa la primera comprobación que falle para localizar el problema:

244 244 

245* **La primera comprobación falla**: el arranque no se completó; verifique stderr245* **Falla la primera comprobación**: el arranque no se completó; revisa stderr

246* **La segunda comprobación falla**: Postgres no es accesible desde la puerta de enlace o el rol no puede escribir; verifique la cadena de conexión y los permisos246* **Falla la segunda comprobación**: Postgres no es accesible desde el gateway o el rol no puede escribir; revisa la cadena de conexión y los permisos

247* **La tercera comprobación no llega al IdP**: verifique que el URI de redirección de IdP coincida exactamente con `https://<gateway>/oauth/callback`247* **La tercera comprobación no llega al IdP**: verifica que el URI de redirección del IdP coincida exactamente con `https://<gateway>/oauth/callback`

248* **La tercera comprobación llega al IdP pero rebota con un error**: lea el registro de auditoría de la puerta de enlace, que registra cada rechazo de autenticación con el motivo, como `email domain not allowed`248* **La tercera comprobación llega al IdP pero regresa con un error**: lee el registro de auditoría del gateway, que registra cada rechazo de autenticación con el motivo, como `email domain not allowed`

249 249 

250**6. Inicia sesión como desarrollador**250**6. Inicia la sesión de un desarrollador**

251 251 

252Este último paso ocurre en la máquina de un desarrollador, no en el servidor. Establece `forceLoginMethod` en `"gateway"`, `forceLoginGatewayUrl` en el `public_url` de tu gateway y `parentSettingsBehavior` en `"merge"` en el [archivo de configuración administrada](https://code.claude.com/docs/es/managed-settings.md#delivery-mechanisms) de esa máquina; luego ejecuta `/login`, presiona Intro en la pantalla **Cloud gateway** y completa el inicio de sesión en el navegador. [Establecer la URL del gateway](#set-the-gateway-url), más abajo, explica las tres claves y cómo distribuirlas a cada máquina de desarrollador.252Este último paso ocurre en la máquina de un desarrollador, no en el servidor. Establece `forceLoginMethod` en `"gateway"`, `forceLoginGatewayUrl` en el `public_url` de tu gateway y `parentSettingsBehavior` en `"merge"` en el [archivo de configuración administrada](https://code.claude.com/docs/es/managed-settings.md#delivery-mechanisms) de esa máquina; luego ejecuta `/login`, presiona Enter en la pantalla **Cloud gateway** y completa el inicio de sesión en el navegador. [Establecer la URL del gateway](#set-the-gateway-url), más abajo, describe las tres claves y cómo distribuirlas a la máquina de cada desarrollador.

253 253 

254## Conectar desarrolladores254## Conectar desarrolladores

255 255 


446 446 

447Estos ajustes proporcionados por el proceso padre pasan el filtro incluso con los cinco bloqueos establecidos:447Estos ajustes proporcionados por el proceso padre pasan el filtro incluso con los cinco bloqueos establecidos:

448 448 

449* **`forceLoginOrgUUID`**: Claude Code respeta un valor proporcionado por el proceso padre cuando la fuente de administrador de mayor prioridad no establece un UUID de organización. El inicio de sesión en el gateway no verifica esta clave. Un UUID de organización en la fuente de administrador de mayor prioridad bloquea el valor del proceso padre y es el que Claude Code aplica.449* **`forceLoginOrgUUID`**: Claude Code respeta un valor proporcionado por el proceso padre cuando la configuración administrada que aplica no establece un UUID de organización. El inicio de sesión en el gateway no verifica esta clave. Un UUID de organización en la configuración administrada que aplica Claude Code bloquea el valor del proceso padre y es el UUID de organización que Claude Code aplica. Si tu flota fija una organización de Anthropic, consulta [Qué fuente administrada proporciona las claves de inicio de sesión](https://code.claude.com/docs/es/managed-settings.md#which-managed-source-supplies-login-keys) para saber dónde establecer `forceLoginOrgUUID`.

450* **`allowedMcpServers`**: Claude Code respeta una lista de permitidos proporcionada por el proceso padre cuando no hay ninguna lista de administrador vigente. `allowManagedMcpServersOnly` no la bloquea, porque el bloqueo aplica la lista que resulte ganadora como valor administrado, incluida una proporcionada por el proceso padre cuando ninguna fuente de administrador proporciona una lista. Una lista en la fuente de administrador de mayor prioridad bloquea la del proceso padre y es la que Claude Code aplica, así que establece `allowedMcpServers` ahí, junto al bloqueo. Antes de v2.1.223, un valor para cualquiera de las dos claves en cualquier fuente de administrador bloqueaba el del proceso padre.450* **`allowedMcpServers`**: Claude Code respeta una lista de permitidos proporcionada por el proceso padre cuando no hay ninguna lista de administrador vigente. `allowManagedMcpServersOnly` no la bloquea, porque el bloqueo aplica la lista que resulte ganadora como valor administrado, incluida una proporcionada por el proceso padre cuando ninguna fuente de administrador proporciona una lista. Una lista en la fuente de administrador de mayor prioridad bloquea la del proceso padre y es la que Claude Code aplica, así que establece `allowedMcpServers` ahí, junto al bloqueo. Antes de v2.1.223, un valor para cualquiera de las dos claves en cualquier fuente de administrador bloqueaba el del proceso padre.

451* **`availableModels`**: Claude Code respeta una lista de modelos proporcionada por el proceso padre cuando la fuente administrada ganadora no establece una. Si tu flota restringe los modelos, establece `availableModels` en la fuente ganadora.451* **`availableModels`**: Claude Code respeta una lista de modelos proporcionada por el proceso padre cuando la fuente administrada ganadora no establece una. Si tu flota restringe los modelos, establece `availableModels` en la fuente ganadora.

452* **`allowedProviders`**: Claude Code respeta una lista de proveedores de API permitidos proporcionada por el proceso padre cuando la fuente administrada ganadora no establece una. Si tu flota restringe qué proveedores de API pueden usar los desarrolladores, establece `allowedProviders` en la fuente ganadora. Requiere Claude Code v2.1.285 o posterior.452* **`allowedProviders`**: Claude Code respeta una lista de proveedores de API permitidos proporcionada por el proceso padre cuando la fuente administrada ganadora no establece una. Si tu flota restringe qué proveedores de API pueden usar los desarrolladores, establece `allowedProviders` en la fuente ganadora. Requiere Claude Code v2.1.285 o posterior.


454* **`blockedMarketplaces`**: una lista de marketplaces bloqueados proporcionada por el proceso padre pasa el filtro y se suma a cualquier lista de bloqueados que establezca una fuente administrada, ya que una lista de bloqueados solo puede restringir más. Requiere Claude Code v2.1.282 o posterior.454* **`blockedMarketplaces`**: una lista de marketplaces bloqueados proporcionada por el proceso padre pasa el filtro y se suma a cualquier lista de bloqueados que establezca una fuente administrada, ya que una lista de bloqueados solo puede restringir más. Requiere Claude Code v2.1.282 o posterior.

455* **`strictPluginOnlyCustomization`**: esta clave pasa el filtro independientemente de cualquier bloqueo, y hace que Claude Code ignore la personalización propia del desarrollador, incluidos los hooks de protección. Ningún bloqueo la bloquea.455* **`strictPluginOnlyCustomization`**: esta clave pasa el filtro independientemente de cualquier bloqueo, y hace que Claude Code ignore la personalización propia del desarrollador, incluidos los hooks de protección. Ningún bloqueo la bloquea.

456 456 

457Con el ajuste predeterminado de "gana el primero", un valor de administrador bloquea el del proceso padre solo cuando está en la fuente de administrador de mayor prioridad, excepto en el caso de `allowedMcpServers` mientras el [bloqueo de servidores MCP](#lock-behavior-across-sources) está activado. Con la activación de merge de `managedSourcesBehavior`, [cómo combina Claude Code las fuentes administradas](https://code.claude.com/docs/es/managed-settings.md#how-claude-code-combines-managed-sources) indica qué valor de fuente se aplica en su lugar.457Si estableces `managedSourcesBehavior` en `"merge"`, consulta [qué valor de fuente se aplica para cada tipo de clave](https://code.claude.com/docs/es/managed-settings.md#compose-every-managed-source).

458 458 

459#### Cómo surten efecto las claves de hooks y skills en la configuración del proceso padre459#### Cómo surten efecto las claves de hooks y skills en la configuración del proceso padre

460 460 

Details

421 421 

422```yaml theme={null}422```yaml theme={null}

423models:423models:

424 - id: claude-opus-restricted # un ID personalizado, no un nombre de modelo integrado424 - id: restricted-claude-opus-4-8 # un ID personalizado, no un nombre de modelo integrado

425 upstream_model:425 upstream_model:

426 bedrock-isolated: us.anthropic.claude-opus-4-8 # el único upstream que lo sirve426 bedrock-isolated: us.anthropic.claude-opus-4-8 # el único upstream que lo sirve

427```427```


631 631 

632El gateway no guarda registro de los upstreams que fallaron, así que mientras un upstream está caído, cada solicitud que llega a él lo sigue intentando y espera a que falle antes de pasar al siguiente.632El gateway no guarda registro de los upstreams que fallaron, así que mientras un upstream está caído, cada solicitud que llega a él lo sigue intentando y espera a que falle antes de pasar al siguiente.

633 633 

634Para un upstream de la API de Anthropic, [`timeouts.upstream_ttfb_ms`](#http-tuning) limita la espera en un upstream caído. Ese ajuste no se aplica a los demás proveedores, con los que el gateway espera hasta una hora a que un upstream empiece a responder.634El gateway espera este tiempo a que empiece una respuesta:

635 

636* **Upstreams `provider: anthropic`**: [`timeouts.upstream_ttfb_ms`](#http-tuning), 120 segundos por defecto

637* **Otros proveedores**: hasta una hora. Para acortar esa espera en las solicitudes en streaming, establece `timeouts.upstream_ttfb_ms` en el gateway v2.1.295 o posterior. Las solicitudes al modelo que no son en streaming esperan hasta una hora en cualquier caso

635 638 

636`404` indica disponibilidad de modelos por upstream, por lo que un upstream que no ha habilitado un modelo no bloquea a un upstream posterior que lo sirve. Un upstream que no puede resolver el modelo solicitado se omite sin un viaje de ida y vuelta por la red.639`404` indica disponibilidad de modelos por upstream, por lo que un upstream que no ha habilitado un modelo no bloquea a un upstream posterior que lo sirve. Un upstream que no puede resolver el modelo solicitado se omite sin un viaje de ida y vuelta por la red.

637 640 


875 policies:878 policies:

876 - match: { groups: [restricted-projects] }879 - match: { groups: [restricted-projects] }

877 cli:880 cli:

878 availableModels: [claude-opus-restricted]881 availableModels: [restricted-claude-opus-4-8]

879 enforceAvailableModels: true882 enforceAvailableModels: true

880 model: claude-opus-restricted883 model: restricted-claude-opus-4-8

884 env:

885 ANTHROPIC_DEFAULT_OPUS_MODEL: restricted-claude-opus-4-8 # opus and Default resolve to the ID too

881```886```

882 887 

883#### Valores de matcher que detienen el gateway al arrancar888#### Valores de matcher que detienen el gateway al arrancar


1148 1153 

1149`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` y `sshClientPath` necesitan Claude Code v2.1.281 o posterior en el servidor del gateway. Lo mismo ocurre con el valor `required` de `microsoftAuthBroker` y el campo `continuousAccessEvaluation` de una entrada `managedMcpServers` de Microsoft 365. Las versiones de Claude Desktop anteriores al valor `required` lo leen como `disabled`, así que establece `required` solo después de que el Claude Desktop de todos los miembros lo admita. La [referencia de configuración administrada](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop indica la versión que lee por primera vez cada clave.1154`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` y `sshClientPath` necesitan Claude Code v2.1.281 o posterior en el servidor del gateway. Lo mismo ocurre con el valor `required` de `microsoftAuthBroker` y el campo `continuousAccessEvaluation` de una entrada `managedMcpServers` de Microsoft 365. Las versiones de Claude Desktop anteriores al valor `required` lo leen como `disabled`, así que establece `required` solo después de que el Claude Desktop de todos los miembros lo admita. La [referencia de configuración administrada](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop indica la versión que lee por primera vez cada clave.

1150 1155 

1156> [!NOTE]

1157>

1158> [`sshTransport`](https://claude.com/docs/third-party/claude-desktop/configuration#sshtransport) necesita Claude Code v2.1.293 o posterior en el servidor del gateway.

1159 

1151Si estableces `orgPluginSettings` en el bloque `desktop` de una política, el gateway lo sirve en la forma de array que leen Claude Desktop 1.15200.0 y posteriores. Los escritorios más antiguos ignoran el array y no aplican ninguna política de herramientas de plugins, así que actualiza a los miembros a 1.15200.0 o posterior antes de depender de ello.1160Si estableces `orgPluginSettings` en el bloque `desktop` de una política, el gateway lo sirve en la forma de array que leen Claude Desktop 1.15200.0 y posteriores. Los escritorios más antiguos ignoran el array y no aplican ninguna política de herramientas de plugins, así que actualiza a los miembros a 1.15200.0 o posterior antes de depender de ello.

1152 1161 

1153##### Cómo hereda una política de rol el bloque `desktop` de la base1162##### Cómo hereda una política de rol el bloque `desktop` de la base


1398| `limits` | `max_request_bytes` | 32 MiB | Tamaño máximo del cuerpo de la solicitud entrante; las solicitudes demasiado grandes reciben `413` antes de que el cuerpo se almacene en búfer. Auméntalo para solicitudes con archivos o imágenes grandes. |1407| `limits` | `max_request_bytes` | 32 MiB | Tamaño máximo del cuerpo de la solicitud entrante; las solicitudes demasiado grandes reciben `413` antes de que el cuerpo se almacene en búfer. Auméntalo para solicitudes con archivos o imágenes grandes. |

1399| `limits` | `max_request_header_bytes` | sin establecer | Reduce el límite de 256 KiB del gateway para el total de encabezados de una solicitud. Una solicitud que supera el límite devuelve `431`, y un valor superior a 256 KiB no tiene efecto. Si los desarrolladores reciben `431` después de iniciar sesión, consulta [Encabezados de solicitud demasiado grandes tras iniciar sesión](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#request-headers-too-large-after-sign-in). |1408| `limits` | `max_request_header_bytes` | sin establecer | Reduce el límite de 256 KiB del gateway para el total de encabezados de una solicitud. Una solicitud que supera el límite devuelve `431`, y un valor superior a 256 KiB no tiene efecto. Si los desarrolladores reciben `431` después de iniciar sesión, consulta [Encabezados de solicitud demasiado grandes tras iniciar sesión](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#request-headers-too-large-after-sign-in). |

1400| `limits` | `max_url_length` | sin establecer | Cuando se establece, una URL demasiado larga devuelve `414` |1409| `limits` | `max_url_length` | sin establecer | Cuando se establece, una URL demasiado larga devuelve `414` |

1401| `timeouts` | `upstream_ttfb_ms` | 120000 | Espera máxima para los encabezados de respuesta del upstream (tiempo hasta el primer byte). Después, el cuerpo de la respuesta se transmite sin límite de tiempo total. Se aplica a la ruta directa al upstream de Anthropic; en todos los demás proveedores, el gateway espera hasta una hora a que empiece la respuesta. |1410| `timeouts` | `upstream_ttfb_ms` | 120000 | Tiempo máximo de espera para los encabezados de respuesta del upstream (tiempo hasta el primer byte). Luego, el cuerpo de la respuesta se transmite sin límite de tiempo total. Si la clave no está establecida, el valor predeterminado se aplica a los upstreams `provider: anthropic`, y en todos los demás proveedores el gateway espera hasta una hora a que comience la respuesta. Para acortar esa espera, consulta [Múltiples upstreams](#multiple-upstreams). |

1402| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Rate limit por IP en el endpoint no autenticado de autorización de dispositivo. Auméntalo para una organización grande detrás de una IP de salida compartida o NAT. [Despliegues a gran escala](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#large-rollouts) muestra cómo dimensionarlo. Estos límites se aplican solo al flujo de inicio de sesión con concesión de dispositivo, no a la inferencia de `/v1/messages`. Consulta [Resistencia a la fuerza bruta del código de usuario](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#user-code-brute-force-resistance). |1411| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Rate limit por IP en el endpoint no autenticado de autorización de dispositivo. Auméntalo para una organización grande detrás de una IP de salida compartida o NAT. [Despliegues a gran escala](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#large-rollouts) muestra cómo dimensionarlo. Estos límites se aplican solo al flujo de inicio de sesión con concesión de dispositivo, no a la inferencia de `/v1/messages`. Consulta [Resistencia a la fuerza bruta del código de usuario](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#user-code-brute-force-resistance). |

1403| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Rate limit por IP en los envíos de `user_code` en `/device`. Es lo que impide que alguien adivine el código de otro desarrollador. [Despliegues a gran escala](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#large-rollouts) muestra cuánto aumentarlo. |1412| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Rate limit por IP en los envíos de `user_code` en `/device`. Es lo que impide que alguien adivine el código de otro desarrollador. [Despliegues a gran escala](https://code.claude.com/docs/es/claude-apps-gateway-deploy.md#large-rollouts) muestra cuánto aumentarlo. |

1404 1413 

Details

228 228 

229Teleport requiere autenticación con suscripción de claude.ai. Busca el caso que coincide con el tuyo:229Teleport requiere autenticación con suscripción de claude.ai. Busca el caso que coincide con el tuyo:

230 230 

231* **Te autenticaste mediante una clave de API**: ejecuta `/login` para iniciar sesión con tu cuenta de claude.ai en su lugar231* **Iniciaste sesión con una clave de API o una cuenta de Console**: ejecuta `claude auth login` en tu shell y luego inicia sesión con claude.ai

232* **El error nombra a tu proveedor**: las sesiones en la nube no están disponibles a través de proveedores de terceros. Consulta la [tabla de errores](#errors-when-sending-to-a-cloud-session)232* **El error nombra a tu proveedor**: las sesiones en la nube no están disponibles a través de proveedores de terceros. Consulta la [tabla de errores](#errors-when-sending-to-a-cloud-session)

233* **Ya iniciaste sesión mediante claude.ai**: es posible que tu organización haya deshabilitado las sesiones en la nube233* **Ya iniciaste sesión mediante claude.ai**: es posible que tu organización haya deshabilitado las sesiones en la nube

234 234 


437 437 

438### No se puede obtener UUID de organización438### No se puede obtener UUID de organización

439 439 

440`claude --cloud` y `claude --teleport` requieren iniciar sesión con una cuenta de claude.ai. Si te autenticas con una clave de API, o tus detalles de cuenta almacenados están obsoletos, verás uno de estos:440`claude --cloud` y `claude --teleport` requieren iniciar sesión con una cuenta de claude.ai. Si te autenticas con una clave de API o con un inicio de sesión de Console, o tus detalles de cuenta almacenados están obsoletos, verás un mensaje como:

441 441 

442* `Unable to get organization UUID`442* `Unable to get organization UUID`

443* ``Cloud sessions need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``443* ``Cloud sessions need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``

444* ``Cloud sessions aren't available with this Console sign-in. They need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``

444* `Error loading Claude Code sessions` en el selector de sesiones, cuando ejecutas `claude --teleport` sin un ID de sesión445* `Error loading Claude Code sessions` en el selector de sesiones, cuando ejecutas `claude --teleport` sin un ID de sesión

445 446 

446Ejecuta [`claude auth login`](https://code.claude.com/docs/es/cli-reference#cli-commands) en tu shell para iniciar sesión con tu cuenta de claude.ai, luego reintenta el comando. Dentro de una sesión en ejecución, `/login` hace lo mismo. Si el error nombra tu proveedor en su lugar, consulta la [tabla de errores](#errors-when-sending-to-a-cloud-session): las sesiones en la nube no están disponibles a través de proveedores de terceros.447Ejecuta [`claude auth login`](https://code.claude.com/docs/es/cli-reference#cli-commands) en tu shell para iniciar sesión con tu cuenta de claude.ai, luego reintenta el comando. Dentro de una sesión en ejecución, `/login` hace lo mismo. Si el error nombra tu proveedor en su lugar, consulta la [tabla de errores](#errors-when-sending-to-a-cloud-session): las sesiones en la nube no están disponibles a través de proveedores de terceros.

Details

27 27 

28## Configuración28## Configuración

29 29 

30### Configurar credenciales de AWS30### Configura las credenciales de AWS

31 31 

32Claude Code admite dos métodos de autenticación para Claude Platform on AWS. Elige el método que se ajuste a cómo tu equipo gestiona el acceso:32Claude Code admite dos métodos de autenticación para Claude Platform on AWS. Elige el método que se ajuste a la forma en que tu equipo gestiona el acceso:

33 33 

34* [Credenciales de AWS con SigV4](#use-aws-credentials-with-sigv4): autentícate como una entidad principal de IAM, con credenciales de la cadena de credenciales estándar de AWS34* [Credenciales de AWS con SigV4](#use-aws-credentials-with-sigv4): autentícate como una entidad principal de IAM, con credenciales de la cadena de credenciales estándar de AWS

35* [Clave de API del espacio de trabajo](#use-a-workspace-api-key): autentícate con una clave de larga duración que generas en la Consola de AWS35* [Clave de API del espacio de trabajo](#use-a-workspace-api-key): autentícate con una clave de larga duración que generas en la consola de AWS

36 36 

37#### Usar credenciales de AWS con SigV437#### Usa credenciales de AWS con SigV4

38 38 

39Claude Code firma solicitudes con SigV4 utilizando la cadena de credenciales estándar de AWS: variables de entorno, credenciales compartidas en `~/.aws/credentials`, roles de IAM, sesiones de AWS SSO y cualquier otra fuente que el SDK de AWS admita.39Claude Code firma las solicitudes con SigV4 usando la cadena de credenciales estándar de AWS: variables de entorno, credenciales compartidas en `~/.aws/credentials`, roles de IAM, sesiones de AWS SSO y cualquier otra fuente que admita el AWS SDK.

40 40 

41Para uso local, inicie sesión con la CLI de AWS antes de iniciar Claude Code. El ejemplo a continuación utiliza un perfil de SSO, pero cualquier método que produzca credenciales en las ubicaciones estándar funciona.41Para uso local, inicia sesión con el AWS CLI antes de iniciar Claude Code. El siguiente ejemplo usa un perfil de SSO, pero funciona cualquier método que genere credenciales en las ubicaciones estándar.

42 42 

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

44aws sso login --profile my-profile44aws sso login --profile my-profile

45export AWS_PROFILE=my-profile45export AWS_PROFILE=my-profile

46```46```

47 47 

48Para CI y automatización, proporcione al ejecutor un rol de IAM con permiso para invocar el servicio de Anthropic y establezca `AWS_REGION`. La cadena de credenciales recoge el rol automáticamente.48Para CI y automatización, asigna al runner un rol de IAM con permiso para invocar el servicio de Anthropic y establece `AWS_REGION`. La cadena de credenciales detecta el rol automáticamente.

49 49 

50Si tus credenciales de SSO expiran durante la sesión, configura [`awsAuthRefresh`](https://code.claude.com/docs/es/amazon-bedrock#advanced-credential-configuration) para que Claude Code vuelva a ejecutar tu comando de inicio de sesión y reintente en lugar de fallar. Agrega el comando a tu [archivo de configuración](https://code.claude.com/docs/es/settings.md), como `~/.claude/settings.json`:50Si tus credenciales de SSO caducan a mitad de la sesión, configura [`awsAuthRefresh`](https://code.claude.com/docs/es/amazon-bedrock#advanced-credential-configuration) para que Claude Code vuelva a ejecutar tu comando de inicio de sesión y reintente en lugar de fallar. Agrega el comando a tu [archivo de configuración](https://code.claude.com/docs/es/settings.md), como `~/.claude/settings.json`:

51 51 

52```json theme={null}52```json theme={null}

53{53{


55}55}

56```56```

57 57 

58Claude Code también ejecuta este comando al inicio cuando no puede validar tus credenciales de AWS existentes, y muestra la salida del comando en un panel de `Authentication` hasta que el inicio de sesión se complete.58Claude Code también ejecuta este comando al inicio cuando no puede validar tus credenciales de AWS existentes, y muestra la salida del comando en un panel `Authentication` hasta que se completa el inicio de sesión.

59 59 

60Con `awsAuthRefresh` configurado, ejecute `/login`, seleccione **plataforma de terceros**, luego seleccione **Claude Platform on AWS · actualizar credenciales** en **Usando plataformas de terceros**. Claude Code ejecuta el comando configurado y vuelve a leer sus credenciales de AWS sin reiniciar.60Con `awsAuthRefresh` configurado, ejecuta `/login`, selecciona **3rd-party platform** y luego selecciona **Claude Platform on AWS · refresh credentials** en **Using 3rd-party platforms**. Claude Code ejecuta el comando configurado y vuelve a leer tus credenciales de AWS sin necesidad de reiniciar.

61 61 

62#### Usar una clave de API del espacio de trabajo62#### Usa una clave de API del espacio de trabajo

63 63 

64Una clave API del espacio de trabajo es un secreto de larga duración, útil cuando no desea gestionar credenciales de AWS federados. Genere una en la Consola de AWS en **Claude Platform on AWS → API keys** y establézcala como `ANTHROPIC_AWS_API_KEY`:64Una clave de API del espacio de trabajo es un secreto de larga duración, útil cuando no quieres gestionar credenciales federadas de AWS. Genera una en la consola de AWS en **Claude Platform on AWS → API keys** y establécela como `ANTHROPIC_AWS_API_KEY`:

65 65 

66```bash theme={null}66```bash theme={null}

67export ANTHROPIC_AWS_API_KEY=sk-ant-xxxxx67export ANTHROPIC_AWS_API_KEY=sk-ant-xxxxx

68```68```

69 69 

70La clave se envía como `x-api-key` y tiene prioridad sobre SigV4, por lo que cualquier credencial de AWS en su entorno se ignora. Las claves API de una organización separada de Claude Console no funcionarán aquí.70La clave se envía como `x-api-key` y tiene precedencia sobre SigV4, por lo que se ignoran las credenciales de AWS presentes en tu entorno. Las claves de API de una organización independiente de Claude Console no funcionan aquí.

71 71 

72Trate las claves API del espacio de trabajo como cualquier otra credencial de producción. El bloque `env` del [archivo de configuración del usuario](https://code.claude.com/docs/es/settings.md) es una forma conveniente de limitar la clave a su máquina sin exportarla globalmente.72Trata las claves de API del espacio de trabajo como cualquier otra credencial de producción. El bloque `env` del [archivo de configuración de usuario](https://code.claude.com/docs/es/settings.md) es una forma práctica de limitar la clave a tu máquina sin exportarla globalmente.

73 73 

74> [!NOTE]74> [!NOTE]

75>75>

76> Los comandos `/login` y `/logout` no lo registran en una suscripción de Claude.ai para Claude Platform on AWS. La autenticación se ejecuta a través de sus credenciales de AWS o clave API del espacio de trabajo.76> Los comandos `/login` y `/logout` no inician sesión en una suscripción de claude.ai para Claude Platform on AWS. La autenticación se realiza mediante tus credenciales de AWS o tu clave de API del espacio de trabajo.

77 77 

78### Configurar Claude Code78### Configura Claude Code

79 79 

80Establezca las variables de entorno que enrutan Claude Code a través de Claude Platform on AWS en lugar de la API de Anthropic predeterminada.80Establece las variables de entorno que enrutan Claude Code a través de Claude Platform on AWS en lugar de la API predeterminada de Anthropic.

81 81 

82```bash theme={null}82```bash theme={null}

83export CLAUDE_CODE_USE_ANTHROPIC_AWS=183export CLAUDE_CODE_USE_ANTHROPIC_AWS=1


85export AWS_REGION=us-east-185export AWS_REGION=us-east-1

86```86```

87 87 

88`ANTHROPIC_AWS_WORKSPACE_ID` es obligatorio. Claude Code lo envía en cada solicitud como el encabezado `anthropic-workspace-id`. Reemplace el valor de ejemplo `wrkspc_01ABCDEFGHIJKLMN` con su propio ID de espacio de trabajo de su configuración de Claude Platform on AWS.88`ANTHROPIC_AWS_WORKSPACE_ID` es obligatorio. Claude Code lo envía en cada solicitud como el encabezado `anthropic-workspace-id`. Reemplaza el valor de ejemplo `wrkspc_01ABCDEFGHIJKLMN` por tu propio ID de espacio de trabajo de tu configuración de Claude Platform on AWS.

89 89 

90Claude Code calcula la URL base como `https://aws-external-anthropic.{region}.api.aws` a partir de la región de AWS, que resuelve con [la misma precedencia que Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md#3-configure-claude-code). Para anular la URL directamente, establezca `ANTHROPIC_AWS_BASE_URL`.90Claude Code calcula la URL base como `https://aws-external-anthropic.{region}.api.aws` a partir de la región de AWS, que resuelve con la [misma precedencia que Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md#3-configure-claude-code). Para sobrescribir la URL directamente, establece `ANTHROPIC_AWS_BASE_URL`.

91 91 

92Claude Platform on AWS es opcional incluso cuando hay credenciales de AWS presentes en su entorno. Amazon Bedrock y Microsoft Foundry tienen prioridad en el enrutamiento de proveedores, por lo que desactive `CLAUDE_CODE_USE_BEDROCK` y `CLAUDE_CODE_USE_FOUNDRY` si están establecidos.92Claude Platform on AWS debe activarse explícitamente incluso cuando hay credenciales de AWS presentes en tu entorno. Amazon Bedrock y Microsoft Foundry tienen precedencia en el enrutamiento de proveedores, así que elimina `CLAUDE_CODE_USE_BEDROCK` y `CLAUDE_CODE_USE_FOUNDRY` si están establecidas.

93 93 

94### Fijar versiones de modelo94### Fija las versiones de los modelos

95 95 

96Claude Platform on AWS utiliza los mismos ID de modelo que la API de Claude directa.96Claude Platform on AWS usa los mismos IDs de modelo que la Claude API directa.

97 97 

98Los alias predeterminados `fable`, `opus`, `sonnet` y `haiku` se resuelven a los valores predeterminados integrados de Claude Code para Claude Platform on AWS, que pueden estar retrasados respecto a la versión más reciente. Sin `ANTHROPIC_DEFAULT_OPUS_MODEL`, el alias `opus` se resuelve a Opus 5.5. Antes de v2.1.280, se resolvía a Opus 5 desde v2.1.219.98Los alias predeterminados `fable`, `opus`, `sonnet` y `haiku` se resuelven en los valores predeterminados integrados de Claude Code para Claude Platform on AWS, que pueden ir por detrás de la versión más reciente. Sin `ANTHROPIC_DEFAULT_OPUS_MODEL`, el alias `opus` se resuelve en Opus 5.5. Antes de v2.1.280, se resolvía en Opus 5 a partir de v2.1.219.

99 99 

100Si implementa Claude Code en un equipo, fije explícitamente los ID de modelo para que un nuevo lanzamiento no mueva a todos a la vez:100Si implementas Claude Code para un equipo, fija los IDs de modelo explícitamente para que una nueva versión no cambie a todos a la vez:

101 101 

102```bash theme={null}102```bash theme={null}

103export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5103export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5


106export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5106export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

107```107```

108 108 

109Para la lista completa de ID de modelo y alias, consulte [Descripción general de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Para otras variables relacionadas con modelos, consulte [Configuración de modelo](https://code.claude.com/docs/es/model-config.md).109Para ver la lista completa de IDs de modelo y alias, consulta [Descripción general de los modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Para otras variables relacionadas con los modelos, consulta [Configuración del modelo](https://code.claude.com/docs/es/model-config.md).

110 110 

111[Prompt caching](https://code.claude.com/docs/es/prompt-caching.md) está habilitado automáticamente. Para solicitar un TTL de caché de 1 hora en lugar del predeterminado de 5 minutos, establezca `ENABLE_PROMPT_CACHING_1H=1`. La API factura las escrituras de caché de 1 hora a una tasa más alta. Consulte [precios de prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) para conocer las tarifas.111La [caché de prompts](https://code.claude.com/docs/es/prompt-caching.md) se habilita automáticamente. Para solicitar un TTL de caché de 1 hora en lugar del predeterminado de 5 minutos, establece `ENABLE_PROMPT_CACHING_1H=1`. La API factura las escrituras en caché de 1 hora a una tarifa más alta. Consulta los [precios de la caché de prompts](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) para ver las tarifas.

112 112 

113Para establecer diferentes TTL para su conversación principal y para las solicitudes que Claude Code realiza fuera de ella, [elija el TTL usted mismo](https://code.claude.com/docs/es/prompt-caching.md#choose-the-ttl-yourself).113Para establecer TTL diferentes para tu conversación principal y para las solicitudes que Claude Code realiza fuera de ella, [elige el TTL tú mismo](https://code.claude.com/docs/es/prompt-caching.md#choose-the-ttl-yourself).

114 114 

115### Iniciar y verificar115### Inicia y verifica

116 116 

117Inicie Claude Code y confirme el enrutamiento:117Inicia Claude Code y confirma el enrutamiento:

118 118 

119```bash theme={null}119```bash theme={null}

120claude120claude

121```121```

122 122 

123El banner de inicio muestra `Claude Platform on AWS` cuando el proveedor está activo. Ejecute `/status` para verificar los detalles: la línea `API provider` lee `Claude Platform on AWS`, y la salida incluye su `Workspace ID`, la `AWS region`, y la `Claude Platform on AWS base URL` si estableció una anulación.123El banner de inicio muestra `Claude Platform on AWS` cuando el proveedor está activo. Ejecuta `/status` para comprobar los detalles: la línea `API provider` indica `Claude Platform on AWS`, y la salida incluye tu `Workspace ID`, la `AWS region` y la `Claude Platform on AWS base URL` si estableciste una sobrescritura.

124 124 

125## Usar el Agent SDK125## Usar el Agent SDK

126 126 

Details

99 99 

100Estos requisitos deciden si puedes agregar un secreto y si el proxy del agente puede usarlo una vez agregado:100Estos requisitos deciden si puedes agregar un secreto y si el proxy del agente puede usarlo una vez agregado:

101 101 

102* **Rol**: en planes Pro, Max y Team, puedes agregar y eliminar secretos en tus propios entornos sin importar tu rol. En Team y Enterprise, los Propietarios tienen un rol de administrador de la organización en tu organización de claude.ai y los Administradores no, lo que cambia lo que ves en estos casos:102* **Rol**: en todos los planes, puedes agregar y eliminar secretos en tus propios entornos sin importar tu rol. En Team y Enterprise, los Propietarios tienen un rol de administrador de la organización en tu organización de claude.ai y los Administradores no, lo que cambia lo que ves en estos casos:

103 * **Tu propio entorno en Enterprise**: con un rol de administrador de la organización, agregas y eliminas secretos. Sin él, la fila **Secretos de red** abre la lista de secretos con la nota "Solo un administrador de la organización puede agregar o eliminar secretos de red", sin botón **Agregar secreto** ni de eliminar. Pide a un Propietario que agregue el secreto a un [entorno compartido](#organization-shared-environments) y luego ejecuta tus sesiones allí103 * **Tu propio entorno**: sin un rol de administrador de la organización, **Agregar secreto** abre un [formulario más corto](#add-a-secret-without-the-role)

104 * **Un entorno compartido**: los Propietarios [agregan y eliminan sus secretos](#add-a-credential) desde la configuración de administración. Sin un rol de administrador de la organización, pide a un Propietario que agregue el secreto, porque el diálogo del entorno no tiene sección **Secretos de red**104 * **Un entorno compartido**: los Propietarios [agregan y eliminan sus secretos](#add-a-credential) desde la configuración de administración. Sin un rol de administrador de la organización, pide a un Propietario que agregue el secreto, porque el diálogo del entorno no tiene sección **Secretos de red**

105 * **Tu propio entorno en Team**: sin un rol de administrador de la organización, **Agregar secreto** abre un [formulario más corto](#add-a-secret-without-the-role) que acepta un host

106* **Tipo de entorno**: un entorno en la nube alojado por Anthropic que ya existe. Un [entorno autohospedado](https://code.claude.com/docs/es/self-hosted-environments) no tiene secretos de red105* **Tipo de entorno**: un entorno en la nube alojado por Anthropic que ya existe. Un [entorno autohospedado](https://code.claude.com/docs/es/self-hosted-environments) no tiene secretos de red

107* **Accesibilidad de API**: la API acepta conexiones desde internet, porque las solicitudes salen de la red de Anthropic106* **Accesibilidad de API**: la API acepta conexiones desde internet, porque las solicitudes salen de la red de Anthropic

108* **Claves de cifrado**: si tu organización utiliza claves de cifrado administradas por el cliente, no puedes guardar secretos de red107* **Claves de cifrado**: si tu organización utiliza claves de cifrado administradas por el cliente, no puedes guardar secretos de red


111 110 

112Agregas secretos uno a la vez. Para cambiar los hosts o el valor de un secreto, elimínalo y agrégalo de nuevo.111Agregas secretos uno a la vez. Para cambiar los hosts o el valor de un secreto, elimínalo y agrégalo de nuevo.

113 112 

114Para agregar un secreto a un [entorno compartido](#organization-shared-environments), ábrelo para editar desde la página **Entornos en la nube** en la [configuración de administración](https://claude.ai/admin-settings) y luego continúa desde el paso 2 en su sección **Secretos de red**. Si estás en un plan Team y no tienes un [rol de administrador de la organización](#requirements), sigue el paso 1 en tu propio entorno y luego [completa el formulario más corto](#add-a-secret-without-the-role).113Para agregar un secreto a un [entorno compartido](#organization-shared-environments), ábrelo para editar desde la página **Entornos en la nube** en la [configuración de administración](https://claude.ai/admin-settings) y luego continúa desde el paso 2 en su sección **Secretos de red**. Si estás en un plan Team o Enterprise y no tienes un [rol de administrador de la organización](#requirements), sigue el paso 1 en tu propio entorno y luego [completa el formulario más corto](#add-a-secret-without-the-role).

115 114 

116**1. Abrir los secretos de red del entorno**115**1. Abrir los secretos de red del entorno**

117 116 


133 132 

134Para confirmar que el secreto funciona, inicia una sesión en el entorno y pide a Claude que llame a la API, por ejemplo con `curl`. La API responde como si la clave estuviera en la solicitud, y la clave no aparece en las variables de entorno de la sesión ni en ningún archivo. Si en cambio la lista marca un secreto como **No enviado**, la nota debajo dice por qué y qué hacer. Dos secretos cuyos hosts se superponen sin coincidir exactamente no obtienen marcador, y el proxy del agente envía solo uno de ellos.133Para confirmar que el secreto funciona, inicia una sesión en el entorno y pide a Claude que llame a la API, por ejemplo con `curl`. La API responde como si la clave estuviera en la solicitud, y la clave no aparece en las variables de entorno de la sesión ni en ningún archivo. Si en cambio la lista marca un secreto como **No enviado**, la nota debajo dice por qué y qué hacer. Dos secretos cuyos hosts se superponen sin coincidir exactamente no obtienen marcador, y el proxy del agente envía solo uno de ellos.

135 134 

136#### Agregar un secreto en un plan Team sin un rol de administrador de la organización135#### Agregar un secreto sin un rol de administrador de la organización

137 136 

138Si estás en un plan Team y no tienes un [rol de administrador de la organización](#requirements), el formulario **Agregar secreto** acepta un secreto para un host. Selecciona la [fila **Secretos de red**](#add-a-credential) de tu entorno y luego **Agregar secreto**. Completa estos campos y selecciona el botón **Agregar secreto** del formulario:137Si estás en un plan Team o Enterprise y no tienes un [rol de administrador de la organización](#requirements), el formulario **Agregar secreto** acepta un secreto para un host. Selecciona la [fila **Secretos de red**](#add-a-credential) de tu entorno y luego **Agregar secreto**. Completa estos campos y selecciona el botón **Agregar secreto** del formulario:

139 138 

140* **Host**: el único host que obtiene el secreto, como `api.example.com`. El formulario no acepta un comodín `*.`139* **Host**: el único host que obtiene el secreto, como `api.example.com`. El formulario no acepta un comodín `*.`

141* **Nombre**: una etiqueta opcional para el secreto140* **Nombre**: una etiqueta opcional para el secreto

common-workflows.md +146 −146

Details

17* [Delegar investigación a subagentes](#delegate-research-to-subagents) para mantener su contexto principal limpio17* [Delegar investigación a subagentes](#delegate-research-to-subagents) para mantener su contexto principal limpio

18* [Canalizar Claude en scripts](#pipe-claude-into-scripts) para CI y procesamiento por lotes18* [Canalizar Claude en scripts](#pipe-claude-into-scripts) para CI y procesamiento por lotes

19 19 

20## Recetas de indicaciones20## Recetas de prompts

21 21 

22Estos son patrones de indicaciones para tareas cotidianas como explorar código desconocido, depuración, refactorización, escritura de pruebas y creación de PRs. Cada uno funciona en cualquier superficie de Claude Code; adapte la redacción a su proyecto.22Estos son patrones de prompts para tareas cotidianas como explorar código desconocido, depurar, refactorizar, escribir pruebas y crear PRs. Cada uno funciona en cualquier superficie de Claude Code; adapta la redacción a tu proyecto.

23 23 

24### Comprender nuevas bases de código24### Comprender bases de código nuevas

25 25 

26Para configurar Claude Code en un monorepo o base de código grande, consulte [Monorepos y repositorios grandes](https://code.claude.com/docs/es/large-codebases.md).26Para configurar Claude Code en un monorepo o en una base de código grande, consulta [Monorepos y repositorios grandes](https://code.claude.com/docs/es/large-codebases.md).

27 27 

28#### Obtener una descripción general rápida de la base de código28#### Obtener una visión general rápida de la base de código

29 29 

30Supongamos que acaba de unirse a un nuevo proyecto y necesita comprender su estructura rápidamente.30Supongamos que acabas de unirte a un proyecto nuevo y necesitas comprender su estructura rápidamente.

31 31 

32**1. Navegue al directorio raíz del proyecto**32**1. Navega al directorio raíz del proyecto**

33 33 

34```bash theme={null}34```bash theme={null}

35cd /path/to/project 35cd /path/to/project

36```36```

37 37 

38Reemplace `/path/to/project` con la ruta a su proyecto.38Reemplaza `/path/to/project` con la ruta de tu proyecto.

39 39 

40**2. Inicie Claude Code**40**2. Inicia Claude Code**

41 41 

42```bash theme={null}42```bash theme={null}

43claude 43claude

44```44```

45 45 

46**3. Solicite una descripción general de alto nivel**46**3. Pide una visión general de alto nivel**

47 47 

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

49dame una descripción general de esta base de código49give me an overview of this codebase

50```50```

51 51 

52**4. Profundice en componentes específicos**52**4. Profundiza en componentes específicos**

53 53 

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

55explica los patrones de arquitectura principales utilizados aquí55explain the main architecture patterns used here

56```56```

57 57 

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

59¿cuáles son los modelos de datos clave?59what are the key data models?

60```60```

61 61 

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

63¿cómo se maneja la autenticación?63how is authentication handled?

64```64```

65 65 

66> [!TIP]66> [!TIP]

67>67>

68> Consejos:68> Consejos:

69>69>

70> * Comience con preguntas amplias, luego reduzca a áreas específicas70> * Comienza con preguntas amplias y luego enfócate en áreas específicas

71> * Pregunte sobre convenciones de codificación y patrones utilizados en el proyecto71> * Pregunta sobre las convenciones de código y los patrones usados en el proyecto

72> * Solicite un glosario de términos específicos del proyecto72> * Solicita un glosario de términos específicos del proyecto

73 73 

74#### Encontrar código relevante74#### Encontrar código relevante

75 75 

76Supongamos que necesita localizar código relacionado con una característica o funcionalidad específica.76Supongamos que necesitas localizar código relacionado con una funcionalidad específica.

77 77 

78**1. Pida a Claude que encuentre archivos relevantes**78**1. Pide a Claude que encuentre los archivos relevantes**

79 79 

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

81encuentra los archivos que manejan la autenticación de usuarios81find the files that handle user authentication

82```82```

83 83 

84**2. Obtenga contexto sobre cómo interactúan los componentes**84**2. Obtén contexto sobre cómo interactúan los componentes**

85 85 

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

87¿cómo funcionan juntos estos archivos de autenticación?87how do these authentication files work together?

88```88```

89 89 

90**3. Comprenda el flujo de ejecución**90**3. Comprende el flujo de ejecución**

91 91 

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

93rastrea el proceso de inicio de sesión desde el front-end hasta la base de datos93trace the login process from front-end to database

94```94```

95 95 

96> [!TIP]96> [!TIP]

97>97>

98> Consejos:98> Consejos:

99>99>

100> * Sea específico sobre lo que está buscando100> * Sé específico sobre lo que buscas

101> * Utilice el lenguaje del dominio del proyecto101> * Usa el lenguaje del dominio del proyecto

102> * Instale un [plugin de inteligencia de código](https://code.claude.com/docs/es/plugins/code-intelligence.md) para su lenguaje para dar a Claude una navegación precisa de "ir a definición" y "buscar referencias"102> * Instala un [plugin de inteligencia de código](https://code.claude.com/docs/es/plugins/code-intelligence.md) para tu lenguaje para darle a Claude navegación precisa de "ir a la definición" y "buscar referencias"

103 103 

104***104***

105 105 

106### Corregir errores de manera eficiente106### Corregir errores de forma eficiente

107 107 

108Supongamos que ha encontrado un mensaje de error y necesita encontrar y corregir su origen.108Supongamos que te encontraste con un mensaje de error y necesitas encontrar y corregir su origen.

109 109 

110**1. Comparta el error con Claude**110**1. Comparte el error con Claude**

111 111 

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

113estoy viendo un error cuando ejecuto npm test113I'm seeing an error when I run npm test

114```114```

115 115 

116**2. Solicite recomendaciones de corrección**116**2. Pide recomendaciones para corregirlo**

117 117 

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

119sugiere algunas formas de corregir el @ts-ignore en user.ts119suggest a few ways to fix the @ts-ignore in user.ts

120```120```

121 121 

122**3. Aplique la corrección**122**3. Aplica la corrección**

123 123 

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

125actualiza user.ts para agregar la verificación nula que sugeriste125update user.ts to add the null check you suggested

126```126```

127 127 

128> [!TIP]128> [!TIP]

129>129>

130> Consejos:130> Consejos:

131>131>

132> * Dígale a Claude el comando para reproducir el problema y obtener un seguimiento de pila132> * Dile a Claude el comando para reproducir el problema y obtener un stack trace

133> * Mencione cualquier paso para reproducir el error133> * Menciona los pasos para reproducir el error

134> * Hágale saber a Claude si el error es intermitente o consistente134> * Indícale a Claude si el error es intermitente o constante

135 135 

136***136***

137 137 

138### Refactorizar código138### Refactorizar código

139 139 

140Supongamos que necesita actualizar código antiguo para utilizar patrones y prácticas modernas.140Supongamos que necesitas actualizar código antiguo para usar patrones y prácticas modernas.

141 141 

142Para portar una base de código completa a un nuevo lenguaje, consulte [cómo Anthropic ejecuta migraciones de código a gran escala con Claude Code](https://claude.com/blog/ai-code-migration) en el blog.142Para portar una base de código completa a un lenguaje nuevo, consulta [cómo Anthropic ejecuta migraciones de código a gran escala con Claude Code](https://claude.com/blog/ai-code-migration) en el blog.

143 143 

144**1. Identifique código heredado para refactorización**144**1. Identifica código heredado para refactorizar**

145 145 

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

147encuentra el uso de API obsoleta en nuestra base de código147find deprecated API usage in our codebase

148```148```

149 149 

150**2. Obtenga recomendaciones de refactorización**150**2. Obtén recomendaciones de refactorización**

151 151 

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

153sugiere cómo refactorizar utils.js para usar características modernas de JavaScript153suggest how to refactor utils.js to use modern JavaScript features

154```154```

155 155 

156**3. Aplique los cambios de manera segura**156**3. Aplica los cambios de forma segura**

157 157 

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

159refactoriza utils.js para usar características de ES2024 manteniendo el mismo comportamiento159refactor utils.js to use ES2024 features while maintaining the same behavior

160```160```

161 161 

162**4. Verifique la refactorización**162**4. Verifica la refactorización**

163 163 

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

165ejecuta pruebas para el código refactorizado165run tests for the refactored code

166```166```

167 167 

168> [!TIP]168> [!TIP]

169>169>

170> Consejos:170> Consejos:

171>171>

172> * Pida a Claude que explique los beneficios del enfoque moderno172> * Pide a Claude que explique los beneficios del enfoque moderno

173> * Solicite que los cambios mantengan la compatibilidad hacia atrás cuando sea necesario173> * Solicita que los cambios mantengan la compatibilidad con versiones anteriores cuando sea necesario

174> * Realice la refactorización en incrementos pequeños y comprobables174> * Refactoriza en incrementos pequeños y comprobables

175 175 

176***176***

177 177 

178### Trabajar con pruebas178### Trabajar con pruebas

179 179 

180Supongamos que necesita agregar pruebas para código no cubierto.180Supongamos que necesitas agregar pruebas para código sin cobertura.

181 181 

182**1. Identifique código no probado**182**1. Identifica código sin pruebas**

183 183 

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

185encuentra funciones en NotificationsService.swift que no están cubiertas por pruebas185find functions in NotificationsService.swift that are not covered by tests

186```186```

187 187 

188**2. Genere andamiaje de prueba**188**2. Genera la estructura base de las pruebas**

189 189 

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

191agrega pruebas para el servicio de notificaciones191add tests for the notification service

192```192```

193 193 

194**3. Agregue casos de prueba significativos**194**3. Agrega casos de prueba significativos**

195 195 

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

197agrega casos de prueba para condiciones de borde en el servicio de notificaciones197add test cases for edge conditions in the notification service

198```198```

199 199 

200**4. Ejecute y verifique las pruebas**200**4. Ejecuta y verifica las pruebas**

201 201 

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

203ejecuta las nuevas pruebas y corrige cualquier fallo203run the new tests and fix any failures

204```204```

205 205 

206Claude puede generar pruebas que sigan los patrones y convenciones existentes de su proyecto. Al solicitar pruebas, sea específico sobre qué comportamiento desea verificar. Claude examina sus archivos de prueba existentes para coincidir con el estilo, marcos y patrones de afirmación ya en uso.206Claude puede generar pruebas que sigan los patrones y las convenciones existentes de tu proyecto. Al pedir pruebas, sé específico sobre qué comportamiento quieres verificar. Claude examina tus archivos de prueba existentes para igualar el estilo, los frameworks y los patrones de aserción que ya se usan.

207 207 

208Para mejorar la cobertura, pide a Claude que identifique casos extremos que podrías haber pasado por alto. Claude puede analizar tus rutas de código y sugerir pruebas para condiciones de error, valores límite y entradas inesperadas que a menudo se pasan por alto.208Para mejorar la cobertura, pide a Claude que identifique casos límite que podrías haber pasado por alto. Claude puede analizar las rutas de tu código y sugerir pruebas para condiciones de error, valores límite y entradas inesperadas que a menudo se pasan por alto.

209 209 

210***210***

211 211 

212### Crear solicitudes de extracción212### Crear pull requests

213 213 

214Puede crear solicitudes de extracción pidiendo a Claude directamente ("crear una pr para mis cambios"), o guiar a Claude a través de ella paso a paso:214Puedes crear pull requests pidiéndoselo a Claude directamente ("create a pr for my changes"), o guiar a Claude paso a paso:

215 215 

216**1. Resuma sus cambios**216**1. Resume tus cambios**

217 217 

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

219resume los cambios que he hecho en el módulo de autenticación219summarize the changes I've made to the authentication module

220```220```

221 221 

222**2. Genere una solicitud de extracción**222**2. Genera un pull request**

223 223 

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

225crea un pr225create a pr

226```226```

227 227 

228**3. Revise y refine**228**3. Revisa y refina**

229 229 

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

231mejora la descripción del PR con más contexto sobre las mejoras de seguridad231enhance the PR description with more context about the security improvements

232```232```

233 233 

234Para encontrar la sesión más tarde, ejecute `claude --from-pr 1234` con su propio número de PR, que abre el selector de sesión filtrado a sesiones vinculadas a esa PR, o pegue la URL de la PR en el selector [`/resume`](https://code.claude.com/docs/es/sessions#use-the-session-picker). Claude Code vincula la sesión a la PR cuando Claude la crea con `gh pr create` o `glab mr create`, y cuando Claude [trabaja en una PR existente](https://code.claude.com/docs/es/agent-view.md#pull-request-status).234Para encontrar la sesión más tarde, ejecuta `claude --from-pr 1234` con tu propio número de PR, lo que abre el selector de sesiones filtrado a las sesiones vinculadas a ese PR, o pega la URL del PR en la búsqueda del [selector de `/resume`](https://code.claude.com/docs/es/sessions#use-the-session-picker). Claude Code vincula la sesión al PR cuando Claude lo crea con `gh pr create` o `glab mr create`, y cuando Claude [trabaja en un PR existente](https://code.claude.com/docs/es/agent-view.md#pull-request-status).

235 235 

236> [!TIP]236> [!TIP]

237>237>

238> Revise la PR generada por Claude antes de enviarla y pida a Claude que destaque los riesgos potenciales o consideraciones.238> Revisa el PR generado por Claude antes de enviarlo y pide a Claude que destaque posibles riesgos o consideraciones.

239 239 

240### Manejar documentación240### Gestionar la documentación

241 241 

242Supongamos que necesita agregar o actualizar documentación para su código.242Supongamos que necesitas agregar o actualizar la documentación de tu código.

243 243 

244**1. Identifique código sin documentar**244**1. Identifica código sin documentar**

245 245 

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

247encuentra funciones sin comentarios JSDoc adecuados en el módulo de autenticación247find functions without proper JSDoc comments in the auth module

248```248```

249 249 

250**2. Genere documentación**250**2. Genera la documentación**

251 251 

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

253agrega comentarios JSDoc a las funciones sin documentar en auth.js253add JSDoc comments to the undocumented functions in auth.js

254```254```

255 255 

256**3. Revise y mejore**256**3. Revisa y mejora**

257 257 

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

259mejora la documentación generada con más contexto y ejemplos259improve the generated documentation with more context and examples

260```260```

261 261 

262**4. Verifique la documentación**262**4. Verifica la documentación**

263 263 

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

265verifica si la documentación sigue nuestros estándares de proyecto265check if the documentation follows our project standards

266```266```

267 267 

268> [!TIP]268> [!TIP]

269>269>

270> Consejos:270> Consejos:

271>271>

272> * Especifique el estilo de documentación que desea (JSDoc, docstrings, etc.)272> * Especifica el estilo de documentación que quieres (JSDoc, docstrings, etc.)

273> * Solicite ejemplos en la documentación273> * Pide ejemplos en la documentación

274> * Solicite documentación para API públicas, interfaces y lógica compleja274> * Solicita documentación para API públicas, interfaces y lógica compleja

275 275 

276***276***

277 277 

278### Trabajar en notas y carpetas que no son código278### Trabajar en notas y carpetas que no son de código

279 279 

280Claude Code funciona en cualquier directorio. Ejecútelo dentro de una bóveda de notas, una carpeta de documentación o cualquier colección de archivos markdown para buscar, editar y reorganizar contenido de la misma manera que lo haría con código.280Claude Code funciona en cualquier directorio. Ejecútalo dentro de un vault de notas, una carpeta de documentación o cualquier colección de archivos markdown para buscar, editar y reorganizar contenido de la misma forma en que lo harías con código.

281 281 

282El directorio `.claude/` y `CLAUDE.md` se encuentran junto a los directorios de configuración de otras herramientas sin conflicto. Claude lee archivos nuevos en cada llamada de herramienta, por lo que ve las ediciones que realiza en otra aplicación la próxima vez que lee ese archivo.282El directorio `.claude/` y `CLAUDE.md` conviven con los directorios de configuración de otras herramientas sin conflictos. Claude lee los archivos de nuevo en cada llamada a herramienta, por lo que ve las ediciones que haces en otra aplicación la próxima vez que lee ese archivo.

283 283 

284***284***

285 285 

286### Trabajar con imágenes286### Trabajar con imágenes

287 287 

288Supongamos que necesita trabajar con imágenes en su base de código y desea la ayuda de Claude para analizar el contenido de la imagen.288Supongamos que necesitas trabajar con imágenes en tu base de código y quieres la ayuda de Claude para analizar su contenido.

289 289 

290**1. Agregue una imagen a la conversación**290**1. Agrega una imagen a la conversación**

291 291 

292Puede usar cualquiera de estos métodos:292Puedes usar cualquiera de estos métodos:

293 293 

2941. Arrastre y suelte una imagen en la ventana de Claude Code2941. Arrastra y suelta una imagen en la ventana de Claude Code

2952. Copie una imagen y péguela en la CLI con `Ctrl+V`, o con [`Alt+V` en Windows y WSL](https://code.claude.com/docs/es/interactive-mode#general-controls)2952. Copia una imagen y pégala en la CLI con `Ctrl+V`, o con [`Alt+V` en Windows y WSL](https://code.claude.com/docs/es/interactive-mode#general-controls)

2963. Proporcione una ruta de imagen a Claude. Por ejemplo, "Analiza esta imagen: /path/to/your/image.png"2963. Proporciona a Claude la ruta de una imagen, por ejemplo "Analyze this image: /path/to/your/image.png"

297 297 

298**2. Pida a Claude que analice la imagen**298**2. Pide a Claude que analice la imagen**

299 299 

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

301¿Qué muestra esta imagen?301What does this image show?

302```302```

303 303 

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

305Describe los elementos de la interfaz de usuario en esta captura de pantalla305Describe the UI elements in this screenshot

306```306```

307 307 

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

309¿Hay algún elemento problemático en este diagrama?309Are there any problematic elements in this diagram?

310```310```

311 311 

312**3. Usar imágenes para contexto**312**3. Usa imágenes como contexto**

313 313 

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

315Aquí hay una captura de pantalla del error. ¿Qué lo está causando?315Here's a screenshot of the error. What's causing it?

316```316```

317 317 

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

319Este es nuestro esquema de base de datos actual. ¿Cómo deberíamos modificarlo para la nueva característica?319This is our current database schema. How should we modify it for the new feature?

320```320```

321 321 

322**4. Obtenga sugerencias de código del contenido visual**322**4. Obtén sugerencias de código a partir de contenido visual**

323 323 

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

325Genera CSS que coincida con este mockup de diseño325Generate CSS to match this design mockup

326```326```

327 327 

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

329¿Qué estructura HTML recrearía este componente?329What HTML structure would recreate this component?

330```330```

331 331 

332> [!TIP]332> [!TIP]

333>333>

334> Consejos:334> Consejos:

335>335>

336> * Use imágenes cuando las descripciones de texto serían poco claras o engorrosas336> * Usa imágenes cuando las descripciones de texto serían poco claras o engorrosas

337> * Incluya capturas de pantalla de errores, diseños de interfaz de usuario o diagramas para mejor contexto337> * Incluye capturas de pantalla de errores, diseños de UI o diagramas para dar un mejor contexto

338> * Puede trabajar con múltiples imágenes en una conversación338> * Puedes trabajar con varias imágenes en una conversación

339> * El análisis de imágenes funciona con diagramas, capturas de pantalla, mockups y más339> * El análisis de imágenes funciona con diagramas, capturas de pantalla, mockups y más

340> * Cuando Claude hace referencia a imágenes (por ejemplo, `[Image #1]`), `Cmd+Click` (Mac) o `Ctrl+Click` (Windows/Linux) el enlace para abrir la imagen en su visor predeterminado340> * Cuando Claude hace referencia a imágenes (por ejemplo, `[Image #1]`), haz `Cmd+Click` (Mac) o `Ctrl+Click` (Windows/Linux) en el enlace para abrir la imagen en tu visor predeterminado

341 341 

342***342***

343 343 

344### Archivos y directorios de referencia344### Hacer referencia a archivos y directorios

345 345 

346Use @ para incluir rápidamente archivos o directorios sin esperar a que Claude los lea.346Usa @ para incluir rápidamente archivos o directorios sin esperar a que Claude los lea.

347 347 

348**1. Haga referencia a un archivo único**348**1. Haz referencia a un solo archivo**

349 349 

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

351Explica la lógica en @src/utils/auth.js351Explain the logic in @src/utils/auth.js

352```352```

353 353 

354Esto incluye el contenido del archivo en la conversación cuando cabe en el límite de tokens de la [herramienta Read](https://code.claude.com/docs/es/tools-reference.md#read-tool-behavior), que es de 25,000 tokens de forma predeterminada. Un archivo de texto de más de 256KB no se incluye.354Esto incluye el contenido del archivo en la conversación cuando cabe en el límite de tokens de la [herramienta Read](https://code.claude.com/docs/es/tools-reference.md#read-tool-behavior), de 25,000 tokens de forma predeterminada. Un archivo de texto de más de 256KB no se incluye.

355 355 

356**2. Haz referencia a un directorio**356**2. Haz referencia a un directorio**

357 357 

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

359¿Cuál es la estructura de @src/components?359What's the structure of @src/components?

360```360```

361 361 

362**3. Haga referencia a recursos MCP**362**3. Haz referencia a recursos MCP**

363 363 

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

365Muéstrame los datos de @github:repos/owner/repo/issues365Show me the data from @github:repos/owner/repo/issues

366```366```

367 367 

368Esto obtiene datos de servidores MCP conectados usando el formato @server:resource. Consulte [recursos MCP](https://code.claude.com/docs/es/mcp.md#use-mcp-resources) para más detalles.368Esto obtiene datos de los servidores MCP conectados usando el formato @server:resource. Consulta [Recursos MCP](https://code.claude.com/docs/es/mcp.md#use-mcp-resources) para más detalles.

369 369 

370> [!TIP]370> [!TIP]

371>371>

372> Consejos:372> Consejos:

373>373>

374> * Las rutas de archivo pueden ser relativas o absolutas374> * Las rutas de archivo pueden ser relativas o absolutas

375> * Escriba `@` para abrir un menú de sugerencias de ruta, luego presione Intro o Tab para aceptar la ruta resaltada e Intro nuevamente para enviar el mensaje375> * Escribe `@` para abrir un menú de sugerencias de rutas, luego presiona Enter o Tab para aceptar la ruta resaltada y Enter de nuevo para enviar el mensaje

376> * Las referencias de archivo @ agregan `CLAUDE.md` en el directorio del archivo y directorios principales al contexto376> * Las referencias a archivos con @ agregan al contexto el `CLAUDE.md` del directorio del archivo y de los directorios superiores

377> * Las referencias de directorio muestran listados de archivos, no contenidos377> * Las referencias a directorios muestran listados de archivos, no su contenido

378> * Puede hacer referencia a múltiples archivos en un solo mensaje (por ejemplo, "@file1.js y @file2.js")378> * Puedes hacer referencia a varios archivos en un solo mensaje (por ejemplo, "@file1.js and @file2.js")

379 379 

380Para evitar que las referencias con `@` incluyan el contenido de los archivos y los listados de directorios, establece [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](https://code.claude.com/docs/es/env-vars#variables) en `1` en tu shell o en el [bloque `env`](https://code.claude.com/docs/es/env-vars#set-variables-in-settings-files) de la configuración de usuario o de la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md). Claude recibe entonces las rutas que referenciaste junto con una nota para leerlas usando sus herramientas de archivos. La variable requiere Claude Code v2.1.299 o posterior, y Claude Code la ignora en la configuración de proyecto y local.380Para evitar que las referencias con `@` incluyan el contenido de archivos y los listados de directorios, establece [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](https://code.claude.com/docs/es/env-vars#variables) en `1` en tu shell o en el [bloque `env`](https://code.claude.com/docs/es/env-vars#set-variables-in-settings-files) de la configuración de usuario o de la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md). Claude recibe entonces las rutas que referenciaste con una nota para leerlas usando sus herramientas de archivos. La variable requiere Claude Code v2.1.299 o posterior, y Claude Code la ignora en la configuración de proyecto y local.

381 381 

382Tus [hooks `PreToolUse`](https://code.claude.com/docs/es/hooks#pretooluse) no se ejecutan cuando Claude Code incluye un archivo que referencias con `@`, porque no realiza ninguna llamada a herramienta. Si dependes de esos hooks para controlar lo que Claude lee, bloquea rutas específicas o evita que las referencias con `@` incluyan archivos:382Tus [hooks `PreToolUse`](https://code.claude.com/docs/es/hooks#pretooluse) no se ejecutan cuando Claude Code incluye un archivo que referencias con `@`, porque no hace ninguna llamada a herramienta. Si dependes de esos hooks para controlar lo que Claude lee, bloquea rutas específicas o evita que las referencias con `@` incluyan archivos:

383 383 

384* **Bloquear rutas específicas**: agrega una [regla de denegación de `Read`](https://code.claude.com/docs/es/permissions#read-and-edit) para ellas. Claude Code no incluye un archivo que coincida con la regla.384* **Bloquear rutas específicas**: agrega una [regla de denegación `Read`](https://code.claude.com/docs/es/permissions#read-and-edit) para ellas. Claude Code no incluye un archivo que coincida con la regla.

385* **Evitar que las referencias con `@` incluyan archivos**: establece `CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`, lo que evita que las referencias con `@` a archivos y directorios en tus mensajes incluyan contenido, incluso para rutas que tus hooks no verifican. Tus hooks coincidentes se ejecutan entonces antes de que Claude abra una ruta referenciada con una herramienta como `Read`.385* **Evitar que las referencias con `@` incluyan archivos**: establece `CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`, lo que impide que las referencias a archivos y directorios con `@` en tus mensajes incluyan contenido, incluso para rutas que tus hooks no verifican. Tus hooks correspondientes se ejecutan entonces antes de que Claude abra una ruta referenciada con una herramienta como `Read`.

386 386 

387***387***

388 388 

389### Ejecutar Claude en un horario389### Ejecutar Claude de forma programada

390 390 

391Supongamos que desea que Claude maneje una tarea automáticamente de forma recurrente, como revisar PRs abiertas cada mañana, auditar dependencias semanalmente o verificar fallas de CI durante la noche.391Supongamos que quieres que Claude se encargue de una tarea automáticamente de forma recurrente, como revisar los PRs abiertos cada mañana, auditar las dependencias cada semana o buscar fallas de CI durante la noche.

392 392 

393Elija una opción de programación según dónde desee que se ejecute la tarea:393Elige una opción de programación según dónde quieres que se ejecute la tarea:

394 394 

395| Opción | Dónde se ejecuta | Mejor para |395| Opción | Dónde se ejecuta | Ideal para |

396| :- | :- | :- |396| :- | :- | :- |

397| [Tareas programadas en la nube](https://code.claude.com/docs/es/routines.md) | Nube, administrada por Anthropic de forma predeterminada | Tareas que deben ejecutarse incluso cuando tu computadora está apagada. También pueden activarse con llamadas a la API o eventos de GitHub además de un horario. Configúralas en [claude.ai/code/routines](https://claude.ai/code/routines). |397| [Tareas programadas en la nube](https://code.claude.com/docs/es/routines.md) | En la nube, administrada por Anthropic de forma predeterminada | Tareas que deben ejecutarse incluso cuando tu computadora está apagada. También pueden activarse con llamadas a la API o eventos de GitHub además de un horario. Configúralas en [claude.ai/code/routines](https://claude.ai/code/routines). |

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

399| [GitHub Actions](https://code.claude.com/docs/es/github-actions.md) | Su canalización de CI | Tareas vinculadas a eventos de repositorio como PRs abiertos, o horarios cron que deben vivir junto con su configuración de flujo de trabajo. |399| [GitHub Actions](https://code.claude.com/docs/es/github-actions.md) | Tu pipeline de CI | Tareas vinculadas a eventos del repositorio como PRs abiertos, o programaciones cron que deben vivir junto a la configuración de tu workflow. |

400| [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) | La sesión CLI actual | Sondeo rápido mientras una sesión está abierta. `--resume` y `--continue` restauran los bucles de intervalo fijo no expirados. |400| [`/loop`](https://code.claude.com/docs/es/scheduled-tasks) | La sesión actual de la CLI | Sondeos rápidos mientras una sesión está abierta. `--resume` y `--continue` restauran los bucles de intervalo fijo que no han expirado. |

401 401 

402> [!TIP]402> [!TIP]

403>403>

404> Al escribir indicaciones para tareas programadas, sea explícito sobre qué se ve como éxito y qué hacer con los resultados. La tarea se ejecuta de forma autónoma, por lo que no puede hacer preguntas aclaratorias. Por ejemplo: "Revise PRs abiertas etiquetadas con `needs-review`, deje comentarios en línea sobre cualquier problema y publique un resumen en el canal `#eng-reviews` de Slack."404> Al escribir prompts para tareas programadas, sé explícito sobre cómo se ve el éxito y qué hacer con los resultados. La tarea se ejecuta de forma autónoma, así que no puede hacer preguntas aclaratorias. Por ejemplo: "Review open PRs labeled `needs-review`, leave inline comments on any issues, and post a summary in the `#eng-reviews` Slack channel."

405 405 

406***406***

407 407 

408### Pregunte a Claude sobre sus capacidades408### Preguntar a Claude sobre sus capacidades

409 409 

410Claude puede responder preguntas sobre sus propias características y limitaciones. Busca las respuestas en la documentación actual de Claude Code, por lo que no se limitan a la versión que estás ejecutando.410Claude puede responder preguntas sobre sus propias funcionalidades y limitaciones. Busca las respuestas en la documentación actual de Claude Code, así que no se limitan a la versión que estás ejecutando.

411 411 

412#### Preguntas de ejemplo412#### Preguntas de ejemplo

413 413 

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

415¿puede Claude Code crear pull requests?415can Claude Code create pull requests?

416```416```

417 417 

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

419¿cómo maneja Claude Code los permisos?419how does Claude Code handle permissions?

420```420```

421 421 

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

423¿qué skills están disponibles?423what skills are available?

424```424```

425 425 

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

427¿cómo uso MCP con Claude Code?427how do I use MCP with Claude Code?

428```428```

429 429 

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

431¿cómo configuro Claude Code para Amazon Bedrock?431how do I configure Claude Code for Amazon Bedrock?

432```432```

433 433 

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

435¿cuáles son las limitaciones de Claude Code?435what are the limitations of Claude Code?

436```436```

437 437 

438> [!NOTE]438> [!NOTE]

439>439>

440> Claude proporciona respuestas basadas en documentación a estas preguntas. Para demostraciones prácticas, ejecute `/powerup` para lecciones interactivas con demostraciones animadas, o consulte las secciones de flujo de trabajo específicas anteriores.440> Claude proporciona respuestas basadas en la documentación para estas preguntas. Para demostraciones prácticas, ejecuta `/powerup` para ver lecciones interactivas con demos animadas, o consulta las secciones de flujos de trabajo específicos anteriores.

441 441 

442> [!TIP]442> [!TIP]

443>443>

444> Consejos:444> Consejos:

445>445>

446> * Haga preguntas específicas para obtener respuestas detalladas446> * Haz preguntas específicas para obtener respuestas detalladas

447> * Claude puede explicar características complejas como integración MCP, configuraciones empresariales y flujos de trabajo avanzados447> * Claude puede explicar funcionalidades complejas como la integración con MCP, las configuraciones empresariales y los flujos de trabajo avanzados

448 448 

449***449***

450 450 

Details

36Los siguientes procesos no se inician a través del lanzador:36Los siguientes procesos no se inician a través del lanzador:

37 37 

38* Una sesión que usted inicia usted mismo en una terminal, que se ejecuta como la invocó. Para cubrir estas sesiones, coloque un script llamado `claude` en un directorio anterior en `PATH` que ejecute su lanzador con el binario real; no reemplace el enlace simbólico administrado. El servicio de fondo y sus sesiones se inician sin una búsqueda de `PATH`, por lo que los dos lanzadores no se apilan allí.38* Una sesión que usted inicia usted mismo en una terminal, que se ejecuta como la invocó. Para cubrir estas sesiones, coloque un script llamado `claude` en un directorio anterior en `PATH` que ejecute su lanzador con el binario real; no reemplace el enlace simbólico administrado. El servicio de fondo y sus sesiones se inician sin una búsqueda de `PATH`, por lo que los dos lanzadores no se apilan allí.

39* El primer proceso de un enlace profundo `claude-cli://`, que el controlador de protocolo del sistema operativo inicia directamente. Todo lo que esa sesión inicia en el fondo después se ejecuta a través del lanzador. Para cerrar completamente este camino, [evite el registro del controlador](https://code.claude.com/docs/es/deep-links.md#registration-and-supported-platforms) con la configuración `disableDeepLinkRegistration`.39* Una sesión abierta desde un enlace profundo `claude-cli://`, que se inicia en una nueva terminal sin tu lanzador. Para evitar que los enlaces profundos abran sesiones para un usuario nuevo, establece [`disableDeepLinkRegistration`](https://code.claude.com/docs/es/settings-reference#disabledeeplinkregistration) en `"disable"` antes de que ese usuario ejecute Claude Code por primera vez. Para un usuario que ya tiene un [controlador registrado](https://code.claude.com/docs/es/deep-links.md#registration-and-supported-platforms), los enlaces profundos siguen abriendo sesiones, porque el ajuste no elimina el controlador.

40* El relanzamiento que `--worktree` combinado con `--tmux` realiza: el multiplexor de terminal inicia ese panel, no el binario de Claude Code.40* El relanzamiento que `--worktree` combinado con `--tmux` realiza: el multiplexor de terminal inicia ese panel, no el binario de Claude Code.

41* El host de mensajería nativa que [Claude en Chrome](https://code.claude.com/docs/es/chrome.md) registra: el navegador lo inicia, no el binario de Claude Code.41* El host de mensajería nativa que [Claude en Chrome](https://code.claude.com/docs/es/chrome.md) registra: el navegador lo inicia, no el binario de Claude Code.

42 42 

data-usage.md +23 −23

Details

8 8 

9## Políticas de datos9## Políticas de datos

10 10 

11### Política de entrenamiento de datos11### Política de entrenamiento con datos

12 12 

13**Usuarios de consumidor (planes Free, Pro y Max)**:13**Usuarios de consumo (planes Free, Pro y Max)**:

14Le damos la opción de permitir que sus datos se utilicen para mejorar futuros modelos de Claude. Entrenaremos nuevos modelos utilizando datos de cuentas Free, Pro y Max cuando esta configuración esté activada (incluso cuando utiliza Claude Code desde estas cuentas).14Te damos la opción de permitir que tus datos se usen para mejorar futuros modelos de Claude. Entrenaremos nuevos modelos usando datos de cuentas Free, Pro y Max cuando este ajuste esté activado (incluso cuando uses Claude Code desde estas cuentas).

15 15 

16**Usuarios comerciales**: (planes Team y Enterprise, API, plataformas de terceros y Claude Gov) mantienen políticas existentes: Anthropic no entrena modelos generativos utilizando código o indicaciones enviados a Claude Code bajo términos comerciales, a menos que el cliente haya elegido proporcionarnos sus datos para mejorar el modelo (por ejemplo, el [Development Partner Program](https://support.claude.com/es/articles/11174108-about-the-development-partner-program)).16**Usuarios comerciales**: (planes Team y Enterprise, API, plataformas de terceros y Claude Gov) mantienen las políticas existentes: Anthropic no entrena modelos generativos usando código o prompts enviados a Claude Code bajo términos comerciales, a menos que el cliente haya elegido proporcionarnos sus datos para la mejora de modelos (por ejemplo, el [Developer Partner Program](https://support.claude.com/en/articles/11174108-about-the-development-partner-program)).

17 17 

18### Development Partner Program18### Development Partner Program

19 19 

20Si opta explícitamente por métodos para proporcionarnos materiales para entrenar, como a través del [Development Partner Program](https://support.claude.com/es/articles/11174108-about-the-development-partner-program), podemos utilizar esos materiales proporcionados para entrenar nuestros modelos. Un administrador de la organización puede optar explícitamente por el Development Partner Program para su organización. Tenga en cuenta que este programa está disponible solo para API de primera parte de Anthropic, y no para usuarios de Amazon Bedrock o Google Cloud's Agent Platform.20Si aceptas explícitamente métodos para proporcionarnos materiales con los que entrenar, como a través del [Development Partner Program](https://support.claude.com/en/articles/11174108-about-the-development-partner-program), podemos usar esos materiales proporcionados para entrenar nuestros modelos. Un administrador de la organización puede inscribir expresamente a su organización en el Development Partner Program. Ten en cuenta que este programa solo está disponible para la API propia de Anthropic, y no para usuarios de Amazon Bedrock ni de Google Cloud's Agent Platform.

21 21 

22### Comentarios usando el comando `/feedback`22### Comentarios mediante el comando `/feedback`

23 23 

24Si elige enviarnos comentarios sobre Claude Code usando el comando `/feedback`, podemos utilizar sus comentarios para mejorar nuestros productos y servicios. Las transcripciones compartidas a través de `/feedback`, o a través de `/bug` y `/share`, que se reportan a través de la misma ruta, se retienen durante 5 años.24Si eliges enviarnos comentarios sobre Claude Code usando el comando `/feedback`, podemos usar tus comentarios para mejorar nuestros productos y servicios. Las transcripciones compartidas mediante `/feedback`, o mediante `/bug` y `/share`, que se reportan por la misma vía, se conservan durante 5 años.

25 25 

26Con [Claude-drafted feedback](https://code.claude.com/docs/es/tools-reference.md#sendfeedback-tool-behavior), Claude también puede redactar un informe de comentarios y ponerlo en cola en su máquina para que lo revise. Claude Code no envía nada hasta que usted elija enviar el borrador, y un borrador enviado pasa por la misma ruta de envío y retención que otros informes `/feedback`.26Con los [comentarios redactados por Claude](https://code.claude.com/docs/es/tools-reference.md#sendfeedback-tool-behavior), Claude también puede redactar un informe de comentarios y ponerlo en cola en tu máquina para que lo revises. Claude Code no envía nada hasta que eliges enviar el borrador, y un borrador enviado sigue la misma vía de envío y retención que los demás informes de `/feedback`.

27 27 

28### Encuestas de calidad de sesión28### Encuestas de calidad de sesión

29 29 

30Cuando ve el mensaje "¿Cómo está funcionando Claude en esta sesión?" en Claude Code, responder a esta encuesta, incluyendo seleccionar "Descartar", registra solo su calificación. No recopilamos ni almacenamos transcripciones de conversación, entradas, salidas u otros datos de sesión como parte de la solicitud de calificación en sí. A diferencia de los comentarios de pulgar hacia arriba/abajo o los informes `/feedback`, esta encuesta de calidad de sesión es una métrica simple de satisfacción del producto.30Cuando ves la pregunta "How is Claude doing this session?" en Claude Code, responder a esta encuesta, incluso seleccionar "Dismiss", registra únicamente tu calificación. No recopilamos ni almacenamos transcripciones de conversaciones, entradas, salidas ni otros datos de la sesión como parte de la propia solicitud de calificación. A diferencia de los comentarios con pulgar arriba/abajo o de los informes de `/feedback`, esta encuesta de calidad de sesión es una simple métrica de satisfacción con el producto.

31 31 

32Después de la solicitud de calificación, puede ver una pregunta de seguimiento separada que pregunta "¿Puede Anthropic ver su transcripción de sesión para ayudarnos a mejorar Claude Code?". Este es un segundo paso opcional distinto de la calificación:32Después de la solicitud de calificación, es posible que veas una pregunta de seguimiento separada: "Can Anthropic look at your session transcript to help us improve Claude Code?". Este es un segundo paso opcional, distinto de la calificación:

33 33 

34* **Sí**: carga su transcripción de conversación, cualquier transcripción de subagente y el archivo de registro de sesión sin procesar del disco a Anthropic. Los patrones de clave API y token conocidos se redactan antes de la carga. El código fuente, el contenido del archivo y otro contenido de conversación se cargan tal cual. Las transcripciones compartidas se retienen hasta 6 meses. En sesiones de Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry y [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway) con sesión iniciada, Sí escribe la misma carga en un archivo local bajo `~/.claude/feedback-bundles/` en lugar de cargar; nada sale de su máquina hasta que reenvíe ese archivo.34* **Yes**: sube a Anthropic la transcripción de tu conversación, las transcripciones de cualquier subagente y el archivo de registro sin procesar de la sesión desde el disco. Los patrones conocidos de claves de API y tokens se ocultan antes de la subida. El código fuente, el contenido de los archivos y el resto del contenido de la conversación se suben tal cual. Las transcripciones compartidas se conservan hasta 6 meses. En Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry y sesiones con inicio de sesión en [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway), Yes escribe el mismo payload en un archivo local en `~/.claude/feedback-bundles/` en lugar de subirlo; nada sale de tu máquina hasta que reenvíes ese archivo.

35* **No**: rechaza sin enviar nada35* **No**: rechaza sin enviar nada

36* **No preguntar de nuevo**: rechaza y evita que este seguimiento aparezca en futuras sesiones36* **Don't ask again**: rechaza y evita que esta pregunta de seguimiento aparezca en sesiones futuras

37 37 

38Nada se carga a menos que seleccione explícitamente **Sí**. Las organizaciones con [zero data retention](https://code.claude.com/docs/es/zero-data-retention.md), o donde los comentarios del producto están deshabilitados por política de la organización, o donde `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` está configurado, nunca ven este seguimiento. Sus respuestas a esta encuesta, incluyendo transcripciones de sesión enviadas después de la solicitud de calificación, no afectan sus preferencias de entrenamiento de datos y no se pueden utilizar para entrenar nuestros modelos de IA.38No se sube nada a menos que selecciones explícitamente **Yes**. Las organizaciones con [retención de datos cero](https://code.claude.com/docs/es/zero-data-retention.md), aquellas en las que los comentarios sobre el producto están deshabilitados por política de la organización o aquellas en las que está definida `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` nunca ven esta pregunta de seguimiento. Tus respuestas a esta encuesta, incluidas las transcripciones de sesión enviadas después de la solicitud de calificación, no afectan tus preferencias de entrenamiento con datos y no pueden usarse para entrenar nuestros modelos de IA.

39 39 

40Para desactivar estas encuestas, establezca `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1`. La encuesta también se desactiva cuando se establece `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Las organizaciones que bloquean tráfico no esencial pero capturan respuestas de encuestas a través de su propio [OpenTelemetry collector](https://code.claude.com/docs/es/monitoring-usage.md) pueden optar por volver a activar la encuesta estableciendo `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1`. La encuesta luego registra calificaciones solo en el recopilador configurado. El seguimiento de compartir transcripción y todo el otro tráfico de comentarios vinculado a Anthropic permanecen deshabilitados. Para controlar la frecuencia en lugar de desactivar, establezca [`feedbackSurveyRate`](https://code.claude.com/docs/es/settings-reference#feedbacksurveyrate) en su archivo de configuración a una probabilidad entre `0` y `1`.40Para deshabilitar estas encuestas, define `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1`. La encuesta también se deshabilita cuando está definida `DISABLE_TELEMETRY`, `DO_NOT_TRACK` o `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Las organizaciones que bloquean el tráfico no esencial pero capturan las respuestas a la encuesta a través de su propio [recopilador de OpenTelemetry](https://code.claude.com/docs/es/monitoring-usage.md) pueden volver a habilitar la encuesta definiendo `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1`. En ese caso, la encuesta registra las calificaciones únicamente en el recopilador configurado. La pregunta de seguimiento para compartir la transcripción y todo el resto del tráfico de comentarios dirigido a Anthropic permanecen deshabilitados. Para controlar la frecuencia en lugar de deshabilitarla, define [`feedbackSurveyRate`](https://code.claude.com/docs/es/settings-reference#feedbacksurveyrate) en tu archivo de configuración con una probabilidad entre `0` y `1`.

41 41 

42### Retención de datos42### Retención de datos

43 43 

44Anthropic retiene datos de Claude Code según su tipo de cuenta y preferencias.44Anthropic conserva los datos de Claude Code según tu tipo de cuenta y tus preferencias.

45 45 

46**Usuarios de consumidor (planes Free, Pro y Max)**:46**Usuarios de consumo (planes Free, Pro y Max)**:

47 47 

48* Usuarios que permiten el uso de datos para mejorar el modelo: período de retención de 5 años para apoyar el desarrollo del modelo y mejoras de seguridad48* Usuarios que permiten el uso de datos para la mejora de modelos: período de retención de 5 años para respaldar el desarrollo de modelos y las mejoras de seguridad

49* Usuarios que no permiten el uso de datos para mejorar el modelo: período de retención de 30 días49* Usuarios que no permiten el uso de datos para la mejora de modelos: período de retención de 30 días

50* La configuración de privacidad se puede cambiar en cualquier momento en [claude.ai/settings/data-privacy-controls](https://claude.ai/settings/data-privacy-controls).50* La configuración de privacidad se puede cambiar en cualquier momento en [claude.ai/settings/data-privacy-controls](https://claude.ai/settings/data-privacy-controls).

51 51 

52**Usuarios comerciales (Team, Enterprise y API)**:52**Usuarios comerciales (Team, Enterprise y API)**:

53 53 

54* Estándar: período de retención de 30 días54* Estándar: período de retención de 30 días

55* [Zero data retention](https://code.claude.com/docs/es/zero-data-retention.md): disponible para Claude Code en Claude for Enterprise. ZDR no está incluido en el plan Enterprise estándar; se habilita por organización después de que su equipo de cuenta confirme la elegibilidad55* [Retención de datos cero](https://code.claude.com/docs/es/zero-data-retention.md): disponible para cuentas que cumplan los requisitos para Claude Code en Claude for Enterprise. ZDR no está incluido en el plan Enterprise estándar; tu equipo de cuenta lo habilita por organización tras confirmar la elegibilidad

56* Almacenamiento en caché local: los clientes de Claude Code almacenan transcripciones de sesión localmente en texto sin formato bajo `~/.claude/projects/` durante 30 días de forma predeterminada para permitir la reanudación de sesiones. Ajuste el período con `cleanupPeriodDays`. Consulte [application data](https://code.claude.com/docs/es/claude-directory.md#application-data) para ver qué se almacena y cómo borrarlo.56* Caché local: los clientes de Claude Code almacenan las transcripciones de sesión localmente en texto plano en `~/.claude/projects/` durante 30 días de forma predeterminada para permitir reanudar sesiones. Ajusta el período con `cleanupPeriodDays`. Consulta [datos de la aplicación](https://code.claude.com/docs/es/claude-directory.md#application-data) para saber qué se almacena y cómo borrarlo.

57 57 

58 Las transcripciones de sesiones iniciadas o continuadas más recientemente en Claude Desktop o Cowork están [exentas de ese límite de forma predeterminada](https://code.claude.com/docs/es/claude-directory.md#cleaned-up-automatically).58 Las transcripciones de sesiones iniciadas o continuadas más recientemente en Claude Desktop o Cowork están [exentas de ese límite de forma predeterminada](https://code.claude.com/docs/es/claude-directory.md#cleaned-up-automatically).

59 59 

60Puede eliminar sesiones individuales de la nube en cualquier momento. Eliminar una sesión elimina permanentemente los datos de eventos de la sesión. Para obtener instrucciones sobre cómo eliminar sesiones, consulte [Delete sessions](https://code.claude.com/docs/es/claude-code-on-the-web.md#delete-sessions).60Puedes eliminar sesiones en la nube individuales en cualquier momento. Eliminar una sesión borra permanentemente los datos de eventos de la sesión. Para obtener instrucciones sobre cómo eliminar sesiones, consulta [Eliminar sesiones](https://code.claude.com/docs/es/claude-code-on-the-web.md#delete-sessions).

61 61 

62Obtenga más información sobre las prácticas de retención de datos en nuestro [Privacy Center](https://privacy.anthropic.com/).62Obtén más información sobre las prácticas de retención de datos en nuestro [Centro de privacidad](https://privacy.anthropic.com/).

63 63 

64Para obtener todos los detalles, consulte nuestros [Commercial Terms of Service](https://www.anthropic.com/legal/commercial-terms) (para usuarios de Team, Enterprise y API) o [Consumer Terms](https://www.anthropic.com/legal/consumer-terms) (para usuarios de Free, Pro y Max) y [Privacy Policy](https://www.anthropic.com/legal/privacy).64Para conocer todos los detalles, revisa nuestros [Términos de servicio comerciales](https://www.anthropic.com/legal/commercial-terms) (para usuarios de Team, Enterprise y API) o los [Términos para consumidores](https://www.anthropic.com/legal/consumer-terms) (para usuarios de Free, Pro y Max) y la [Política de privacidad](https://www.anthropic.com/legal/privacy).

65 65 

66## Acceso a datos66## Acceso a datos

67 67 

desktop.md +6 −6

Details

43Antes de enviar tu primer mensaje, elige el entorno, la carpeta del proyecto, el modo de permisos y el modelo en la fila que está debajo del cuadro del prompt:43Antes de enviar tu primer mensaje, elige el entorno, la carpeta del proyecto, el modo de permisos y el modelo en la fila que está debajo del cuadro del prompt:

44 44 

45* **Entorno**: usa el selector de entorno, el primer control de la fila, para elegir dónde se ejecuta Claude. Consulta [configuración del entorno](#environment-configuration).45* **Entorno**: usa el selector de entorno, el primer control de la fila, para elegir dónde se ejecuta Claude. Consulta [configuración del entorno](#environment-configuration).

46 * Si una sesión nueva no tiene un selector de entorno debajo del cuadro del prompt, sigue los [pasos del diseño anterior](#check-which-layout-you-have).46 * Si una sesión nueva no muestra ningún entorno debajo del cuadro del prompt, sigue los [pasos del diseño anterior](#check-which-layout-you-have).

47* **Carpeta del proyecto**: haz clic en el control de carpeta del proyecto, junto al selector de entorno, para elegir la carpeta en la que trabaja Claude.47* **Carpeta del proyecto**: haz clic en el control de carpeta del proyecto, junto al selector de entorno, para elegir la carpeta en la que trabaja Claude.

48 * **Sesión en la nube**: selecciona [repositorios](#run-long-running-tasks-in-the-cloud) en lugar de una carpeta48 * **Sesión en la nube**: selecciona [repositorios](#run-long-running-tasks-in-the-cloud) en lugar de una carpeta

49 * **[Entorno local o SSH guardado](#create-a-saved-environment)**: el entorno ya contiene sus carpetas, por lo que la fila no muestra ningún control de carpeta del proyecto. Para cambiar las carpetas, [edita el entorno](#use-edit-or-remove-a-saved-environment).49 * **[Entorno local o SSH guardado](#create-a-saved-environment)**: el entorno ya contiene sus carpetas, por lo que la fila no muestra ningún control de carpeta del proyecto. Para cambiar las carpetas, [edita el entorno](#use-edit-or-remove-a-saved-environment).


861 861 

862> [!NOTE]862> [!NOTE]

863>863>

864> Si tu selector de entorno está encima del cuadro del prompt, tienes el [diseño anterior](#check-which-layout-you-have), que no tiene entornos locales guardados. Usa en su lugar el [editor de entorno local](#use-the-local-environment-editor).864> Si una sesión nueva no muestra ningún entorno debajo del cuadro del prompt, tienes el [diseño anterior](#check-which-layout-you-have), que no tiene entornos locales guardados. Usa en su lugar el [editor de entorno local](#use-the-local-environment-editor).

865 865 

866**1. Abre el formulario de un entorno local**866**1. Abre el formulario de un entorno local**

867 867 


963>963>

964> Si usas Desktop con un [proveedor externo](https://code.claude.com/docs/es/third-party-integrations.md), las sesiones SSH necesitan su propia configuración. Consulta [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).964> Si usas Desktop con un [proveedor externo](https://code.claude.com/docs/es/third-party-integrations.md), las sesiones SSH necesitan su propia configuración. Consulta [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

965 965 

966Agrega una conexión SSH en el [diálogo **New environment**](#create-a-saved-environment) y luego inicia una sesión en esa conexión. Si una sesión nueva no tiene un selector de entorno debajo del cuadro del prompt, tienes el diseño anterior. Consulta [Comprobar qué diseño tienes](#check-which-layout-you-have).966Agrega una conexión SSH en el [cuadro de diálogo **New environment**](#create-a-saved-environment) y luego inicia una sesión en esa conexión. Si una sesión nueva no muestra ningún entorno debajo del cuadro del prompt, tienes el diseño anterior. Consulta [Comprobar qué diseño tienes](#check-which-layout-you-have).

967 967 

968**1. Abre el diálogo New environment**968**1. Abre el diálogo New environment**

969 969 


2122 2122 

2123### Verificar qué diseño tienes2123### Verificar qué diseño tienes

2124 2124 

2125Si una nueva sesión no tiene un [selector de entorno](#start-a-session) debajo del cuadro del prompt, tienes el diseño anterior:2125Si una nueva sesión muestra el [entorno](#start-a-session) encima del cuadro del prompt en lugar de debajo de él, tienes el diseño anterior:

2126 2126 

2127* **[Desktop anterior a v2.37337.0](#check-your-version)**: actualiza para obtener el diseño actual. Selecciona **Claude > Check for Updates…** en macOS o **Help > Check for Updates…** en Windows.2127* **[Desktop anterior a v2.37337.0](#check-your-version)**: actualiza para obtener el diseño actual. Selecciona **Claude > Check for Updates…** en macOS o **Help > Check for Updates…** en Windows.

2128* **[Proveedor externo](https://code.claude.com/docs/es/third-party-integrations.md) con sesiones en tu computadora**: el diseño actual requiere Claude Desktop v3.1623.0 o posterior, así que [verifica tu versión](#check-your-version). Para actualizar, selecciona **Claude > Check for Updates…** en macOS o **Help > Check for Updates…** en Windows. Si tu organización [desactiva las actualizaciones automáticas](#device-management-policies), **Check for Updates…** está oculto, así que pide a tu administrador la v3.1623.0 o posterior.2128* **[Proveedor externo](https://code.claude.com/docs/es/third-party-integrations.md) con sesiones en tu computadora**: el diseño actual requiere Claude Desktop v3.1623.0 o posterior, así que [verifica tu versión](#check-your-version). Para actualizar, selecciona **Claude > Check for Updates…** en macOS o **Help > Check for Updates…** en Windows. Si tu organización [desactiva las actualizaciones automáticas](#device-management-policies), **Check for Updates…** está oculto, así que pide a tu administrador la v3.1623.0 o posterior.

2129* **Proveedor externo con sesiones en la infraestructura de tu organización**: cuando tu organización ejecuta las sesiones en su propia infraestructura en lugar de en tu computadora, Desktop conserva el diseño anterior, y actualizar no cambia el diseño. Si no sabes dónde se ejecutan tus sesiones, pregunta a tu administrador.2129* **Proveedor externo con sesiones en la infraestructura de tu organización**: el diseño actual requiere Claude Desktop v4.29.0 o posterior, así que [verifica tu versión](#check-your-version). Si tienes una versión anterior, pide a tu administrador la v4.29.0 o posterior. Si no sabes dónde se ejecutan tus sesiones, pregunta a tu administrador.

2130 2130 

2131En el diseño anterior, elige el entorno y la carpeta del proyecto encima del cuadro del prompt, y el modo de permisos y el modelo en la fila debajo de él. El diseño anterior no incluye el [panel de detalles de la sesión](#see-session-details) ni los [entornos locales y SSH guardados](#create-a-saved-environment).2131En el diseño anterior, elige el entorno y cualquier carpeta de proyecto o repositorio encima del cuadro del prompt, y el modo de permisos y el modelo en la fila debajo de él. El diseño anterior no incluye el [panel de detalles de la sesión](#see-session-details) ni los [entornos locales y SSH guardados](#create-a-saved-environment).

2132 2132 

2133### Errores 403 o de autenticación en la pestaña Code2133### Errores 403 o de autenticación en la pestaña Code

2134 2134 

Details

57 57 

58En la [fila debajo del cuadro del prompt](https://code.claude.com/docs/es/desktop.md#start-a-session), haz clic en el primer control, el selector de entorno, y selecciona la primera entrada del grupo **Local**. Luego haz clic en el control de carpeta del proyecto junto al selector de entorno, selecciona **Open folder…** y elige el directorio de tu proyecto.58En la [fila debajo del cuadro del prompt](https://code.claude.com/docs/es/desktop.md#start-a-session), haz clic en el primer control, el selector de entorno, y selecciona la primera entrada del grupo **Local**. Luego haz clic en el control de carpeta del proyecto junto al selector de entorno, selecciona **Open folder…** y elige el directorio de tu proyecto.

59 59 

60Si no aparece ningún selector de entorno debajo del cuadro del prompt, tienes el diseño anterior. Consulta [Comprueba qué diseño tienes](https://code.claude.com/docs/es/desktop.md#check-which-layout-you-have).60Si una sesión nueva no muestra ningún entorno debajo del cuadro del prompt, tienes el diseño anterior. Consulta [Comprueba qué diseño tienes](https://code.claude.com/docs/es/desktop.md#check-which-layout-you-have).

61 61 

62> [!TIP]62> [!TIP]

63>63>


98 98 

99## ¿Y ahora qué?99## ¿Y ahora qué?

100 100 

101Ha realizado su primera edición. Para obtener la referencia completa sobre todo lo que puede hacer Claude Code Desktop, consulte [Usar Claude Code Desktop](https://code.claude.com/docs/es/desktop.md). Aquí hay algunas cosas para probar a continuación.101Ya hiciste tu primera edición. Para consultar la referencia completa de todo lo que puede hacer Desktop, consulta [Usar Claude Code Desktop](https://code.claude.com/docs/es/desktop.md). Estas son algunas cosas que puedes probar a continuación.

102 102 

103**Interrumpir y redirigir.** Puede redirigir a Claude en cualquier momento. Haga clic en el botón de parada para interrumpir inmediatamente, o escriba una corrección y presione **Intro** para enviarla sin detener la acción en ejecución. De cualquier forma, no tiene que esperar a que termine o empezar de nuevo.103**Interrumpe y redirige.** Puedes redirigir a Claude en cualquier momento. Haz clic en el botón de detener para interrumpir de inmediato, o escribe una corrección y presiona **Enter** para enviarla sin detener la acción en curso. En cualquier caso, no tienes que esperar a que termine ni empezar de nuevo.

104 104 

105**Dale más contexto a Claude.** Escribe `@filename` en el cuadro del prompt para incorporar un archivo específico a la conversación. Cuanto más contexto tenga Claude, mejores serán los resultados. Consulta [Agregar archivos y contexto](https://code.claude.com/docs/es/desktop.md#add-files-and-context-to-prompts).105**Dale más contexto a Claude.** Escribe `@filename` en el cuadro de prompt para incorporar un archivo específico a la conversación. Cuanto más contexto tenga Claude, mejores serán los resultados. Consulta [Agregar archivos y contexto](https://code.claude.com/docs/es/desktop.md#add-files-and-context-to-prompts).

106 106 

107**Use skills para tareas repetibles.** Escriba `/` o haga clic en **+** → **Slash commands** para examinar [comandos integrados](https://code.claude.com/docs/es/commands.md), [skills personalizados](https://code.claude.com/docs/es/skills.md) y skills de plugins. Los skills son solicitudes reutilizables que puede invocar siempre que las necesite, como listas de verificación de revisión de código o pasos de implementación.107**Usa skills para tareas repetibles.** Escribe `/` o haz clic en **+** → **Slash commands** para explorar los [comandos integrados](https://code.claude.com/docs/es/commands.md), los [skills personalizados](https://code.claude.com/docs/es/skills.md) y los skills de plugins. Los skills son prompts reutilizables que puedes invocar cuando los necesites, como listas de verificación para revisión de código o pasos de despliegue.

108 108 

109**Revisa los cambios antes de hacer commit.** Después de que Claude edite archivos, aparece un indicador `+12 -1`. Haz clic en él para abrir la [vista de diff](https://code.claude.com/docs/es/desktop.md#review-changes-with-diff-view), revisar las modificaciones archivo por archivo y comentar en líneas específicas. Claude lee tus comentarios y hace revisiones. Para que Claude revise los cambios por sí mismo, escribe [`/code-review`](https://code.claude.com/docs/es/desktop#review-your-code) en el cuadro del prompt.109**Revisa los cambios antes de hacer commit.** Después de que Claude edita archivos, aparece un indicador `+12 -1`. Haz clic en él para abrir la [vista de diff](https://code.claude.com/docs/es/desktop.md#review-changes-with-diff-view), revisar las modificaciones archivo por archivo y comentar líneas específicas. Claude lee tus comentarios y hace las revisiones. Para que Claude revise los cambios por sí mismo, escribe [`/code-review`](https://code.claude.com/docs/es/desktop#review-your-code) en el cuadro de prompt.

110 110 

111**Ajuste cuánto control tiene.** Su [modo de permisos](https://code.claude.com/docs/es/desktop.md#choose-a-permission-mode) establece cuánto puede hacer Claude sin pedir aprobación:111**Ajusta cuánto control tienes.** Tu [modo de permisos](https://code.claude.com/docs/es/desktop.md#choose-a-permission-mode) define cuánto puede hacer Claude sin pedir aprobación:

112 112 

113* **Auto**: un clasificador revisa las acciones en segundo plano y bloquea las arriesgadas en lugar de preguntarle.113* **Auto**: un clasificador revisa las acciones en segundo plano y bloquea las riesgosas en lugar de preguntarte.

114* **Manual**: Claude pregunta antes de editar archivos o ejecutar comandos.114* **Manual**: Claude pregunta antes de editar archivos o ejecutar comandos.

115* **Accept edits**: Claude acepta automáticamente ediciones de archivos para una iteración más rápida.115* **Accept edits**: Claude acepta automáticamente las ediciones de archivos para iterar más rápido.

116* **Plan**: Claude propone un enfoque sin editar ningún archivo, lo cual es útil antes de una refactorización grande.116* **Plan**: Claude propone un enfoque sin editar ningún archivo, lo cual es útil antes de una refactorización grande.

117 117 

118**Agrega plugins para más capacidades.** Instala [plugins](https://code.claude.com/docs/es/desktop.md#install-plugins) que agreguen skills, agentes, servidores MCP y más.118**Agrega plugins para obtener más capacidades.** Instala [plugins](https://code.claude.com/docs/es/desktop.md#install-plugins) que agregan skills, agentes, servidores MCP y más.

119 119 

120**Organiza tu espacio de trabajo.** Arrastra los paneles de chat, diff, terminal, archivos y navegador al diseño que quieras. Abre la terminal con **Ctrl+\`** para ejecutar comandos junto a tu sesión, o haz clic en una ruta de archivo para abrirlo. Consulta [Organizar tu espacio de trabajo](https://code.claude.com/docs/es/desktop.md#arrange-your-workspace).120**Organiza tu espacio de trabajo.** Arrastra los paneles de chat, diff, terminal, archivos y navegador para crear el diseño que quieras. Abre la terminal con **Ctrl+\`** para ejecutar comandos junto a tu sesión, o haz clic en la ruta de un archivo para abrirlo. Consulta [Organizar tu espacio de trabajo](https://code.claude.com/docs/es/desktop.md#arrange-your-workspace).

121 121 

122**Obtenga una vista previa de su aplicación.** Cuando ejecute su servidor de desarrollo en el escritorio, su aplicación se abre en el panel del navegador, que también puede [abrir sitios externos](https://code.claude.com/docs/es/desktop.md#browse-external-sites). Claude puede ver la aplicación en ejecución, probar puntos finales, inspeccionar registros e iterar sobre lo que ve. Consulte [Obtenga una vista previa de su aplicación](https://code.claude.com/docs/es/desktop.md#preview-your-app).122**Previsualiza tu app.** Cuando ejecutas tu servidor de desarrollo en la app de escritorio, tu app se abre en el panel Browser, que también puede [abrir sitios externos](https://code.claude.com/docs/es/desktop.md#browse-external-sites). Claude puede ver la app en ejecución, probar endpoints, inspeccionar registros e iterar sobre lo que ve. Consulta [Previsualizar tu app](https://code.claude.com/docs/es/desktop.md#preview-your-app).

123 123 

124**Haz seguimiento de tu pull request.** Después de abrir un PR, Claude Code monitorea los resultados de las verificaciones de CI y puede corregir fallos automáticamente. Consulta [Monitorear el estado del pull request](https://code.claude.com/docs/es/desktop.md#monitor-pull-request-status).124**Haz seguimiento de tu pull request.** Después de abrir un PR, Claude Code supervisa los resultados de las verificaciones de CI y puede corregir fallas automáticamente. Consulta [Supervisar el estado del pull request](https://code.claude.com/docs/es/desktop.md#monitor-pull-request-status).

125 125 

126**Ponga a Claude en un horario.** Configure [tareas programadas](https://code.claude.com/docs/es/desktop-scheduled-tasks.md) para ejecutar Claude automáticamente de forma recurrente: una revisión de código diaria cada mañana, una auditoría de dependencias semanal, o un resumen que extraiga de sus herramientas conectadas.126**Pon a Claude en un horario.** Configura [tareas programadas](https://code.claude.com/docs/es/desktop-scheduled-tasks.md) para ejecutar Claude automáticamente de forma recurrente: una revisión de código diaria cada mañana, una auditoría semanal de dependencias o un resumen que obtenga información de tus herramientas conectadas.

127 127 

128**Escala cuando estés listo.** Abre [sesiones paralelas](https://code.claude.com/docs/es/desktop.md#work-in-parallel-with-sessions) desde la barra lateral para trabajar en múltiples tareas a la vez, opcionalmente cada una en su propio Git worktree, y abre el [panel de tareas](https://code.claude.com/docs/es/desktop.md#watch-background-tasks) para ver los subagentes y comandos en segundo plano que una sesión tiene en ejecución. Abre un [chat lateral](https://code.claude.com/docs/es/desktop.md#ask-a-side-question-without-derailing-the-session) para hacer una pregunta sin desviar el hilo principal. Envía [trabajo de larga duración a la nube](https://code.claude.com/docs/es/desktop.md#run-long-running-tasks-in-the-cloud) para que continúe incluso si cierras la aplicación, o [mueve a la nube una sesión que ya iniciaste](https://code.claude.com/docs/es/desktop.md#continue-in-another-surface) si una tarea toma más tiempo del esperado. [Conecta herramientas externas](https://code.claude.com/docs/es/desktop.md#extend-claude-code) como GitHub, Slack y Linear para reunir tu flujo de trabajo.128**Escala cuando estés listo.** Abre [sesiones en paralelo](https://code.claude.com/docs/es/desktop.md#work-in-parallel-with-sessions) desde la barra lateral para trabajar en varias tareas a la vez, opcionalmente cada una en su propio worktree de Git, y abre el [panel de tareas](https://code.claude.com/docs/es/desktop.md#watch-background-tasks) para ver los subagentes y comandos en segundo plano que una sesión tiene en ejecución. Abre un [chat lateral](https://code.claude.com/docs/es/desktop.md#ask-a-side-question-without-derailing-the-session) para hacer una pregunta sin desviar el hilo principal. Envía [el trabajo de larga duración a la nube](https://code.claude.com/docs/es/desktop.md#run-long-running-tasks-in-the-cloud) para que continúe incluso si cierras la app, o [mueve a la nube una sesión que ya iniciaste](https://code.claude.com/docs/es/desktop.md#continue-in-another-surface) si una tarea tarda más de lo esperado. [Conecta herramientas externas](https://code.claude.com/docs/es/desktop.md#extend-claude-code) como GitHub, Slack y Linear para integrar tu flujo de trabajo.

129 129 

130## Qué sigue130## Qué sigue

131 131 

devcontainer.md +1 −1

Details

79 79 

80> [!NOTE]80> [!NOTE]

81>81>

82> Si el inicio de sesión del navegador se completa pero la devolución de llamada nunca llega al contenedor, copia el código mostrado en el navegador y pégalo en la solicitud `Paste code here if prompted` en la terminal. Esto puede suceder cuando el reenvío de puertos del editor no enruta la devolución de llamada de localhost.82> Para el inicio de sesión de Anthropic: si no se abre ningún navegador, o si inicia tu sesión y luego muestra un error de conexión de `localhost`, usa la URL de inicio de sesión que aparece encima de la solicitud para pegar en la terminal. Cópiala en tu navegador, inicia sesión allí y luego pega en esa solicitud el código que muestra el navegador. Si pegar no hace nada, consulta [El inicio de sesión de OAuth falla en WSL2, SSH o contenedores](https://code.claude.com/docs/es/troubleshoot-install.md#oauth-login-fails-in-wsl2-ssh-or-containers).

83 83 

84## Persistir autenticación y configuración entre reconstrucciones84## Persistir autenticación y configuración entre reconstrucciones

85 85 

env-vars.md +3 −3

Details

233| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Establécela en `1` para desactivar el procesamiento de archivos adjuntos. Las menciones de archivos con la sintaxis `@` se envían como texto plano en lugar de expandirse al contenido del archivo. 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) |233| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Establécela en `1` para desactivar el procesamiento de archivos adjuntos. Las menciones de archivos con la sintaxis `@` se envían como texto plano en lugar de expandirse al contenido del archivo. 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) |

234| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Establécela en `1` para que un proceso de Claude Code ejecute por sí mismo su comando [`gcpAuthRefresh`](https://code.claude.com/docs/es/settings-reference#gcpauthrefresh) o [`awsAuthRefresh`](https://code.claude.com/docs/es/settings-reference#awsauthrefresh) en lugar de esperar mientras otro proceso lo ejecuta. Requiere Claude Code v2.1.286 o posterior |234| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Establécela en `1` para que un proceso de Claude Code ejecute por sí mismo su comando [`gcpAuthRefresh`](https://code.claude.com/docs/es/settings-reference#gcpauthrefresh) o [`awsAuthRefresh`](https://code.claude.com/docs/es/settings-reference#awsauthrefresh) en lugar de esperar mientras otro proceso lo ejecuta. Requiere Claude Code v2.1.286 o posterior |

235| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Establécela en `1` para desactivar la [memoria automática](https://code.claude.com/docs/es/memory.md#auto-memory). Establécela en `0` para forzar la activación de la memoria automática incluso cuando el modo `--bare` o [`autoMemoryEnabled: false`](https://code.claude.com/docs/es/settings-reference#automemoryenabled) la desactivarían. Cuando está desactivada, Claude no crea ni carga archivos de memoria automática |235| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Establécela en `1` para desactivar la [memoria automática](https://code.claude.com/docs/es/memory.md#auto-memory). Establécela en `0` para forzar la activación de la memoria automática incluso cuando el modo `--bare` o [`autoMemoryEnabled: false`](https://code.claude.com/docs/es/settings-reference#automemoryenabled) la desactivarían. Cuando está desactivada, Claude no crea ni carga archivos de memoria automática |

236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Establécela en `1` para eliminar el parámetro `run_in_background` de las herramientas Bash, PowerShell y de subagentes, y para desactivar el atajo Ctrl+B y las ejecuciones en segundo plano de los [skills bifurcados](https://code.claude.com/docs/es/skills.md#run-skills-in-a-subagent). Claude Code entonces también deja de mover automáticamente a segundo plano los subagentes, las llamadas largas a herramientas MCP y los comandos de shell a los que se les agotó el tiempo de espera. Las [tareas MCP](https://code.claude.com/docs/es/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) y la [herramienta Monitor](https://code.claude.com/docs/es/tools-reference.md#monitor-tool) siguen ejecutándose en segundo plano |236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Establécela en `1` para eliminar el parámetro `run_in_background` de las herramientas Bash, PowerShell y de subagentes, y para desactivar el atajo Ctrl+B y las ejecuciones en segundo plano de los [skills bifurcados](https://code.claude.com/docs/es/skills.md#run-skills-in-a-subagent). Claude Code también deja entonces de pasar automáticamente a segundo plano los subagentes, las llamadas largas a herramientas de MCP y los comandos de shell que agotan el tiempo de espera. Las [tareas de MCP](https://code.claude.com/docs/es/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) y la [herramienta Monitor](https://code.claude.com/docs/es/tools-reference.md#monitor-tool) se siguen ejecutando en segundo plano. Para desactivar también las [sesiones en segundo plano](https://code.claude.com/docs/es/agent-view.md#turn-off-agent-view), establece `CLAUDE_CODE_DISABLE_AGENT_VIEW` en `1` |

237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Establécela en `1` para que Claude Code deje de tratar una respuesta en streaming de [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md) con un encabezado `Content-Type` ausente o vacío como el flujo de eventos binario de Amazon Bedrock. De forma predeterminada, Claude Code asume que un gateway eliminó el encabezado de una respuesta que por lo demás no se modificó, así que decodifica el cuerpo y el streaming sigue funcionando. Establécela solo para un gateway que además reemite el flujo como eventos enviados por el servidor; Claude Code lee entonces el cuerpo sin encabezado como eventos enviados por el servidor. Requiere Claude Code v2.1.239 o posterior |237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Establécela en `1` para que Claude Code deje de tratar una respuesta en streaming de [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md) con un encabezado `Content-Type` ausente o vacío como el flujo de eventos binario de Amazon Bedrock. De forma predeterminada, Claude Code asume que un gateway eliminó el encabezado de una respuesta que por lo demás no se modificó, así que decodifica el cuerpo y el streaming sigue funcionando. Establécela solo para un gateway que además reemite el flujo como eventos enviados por el servidor; Claude Code lee entonces el cuerpo sin encabezado como eventos enviados por el servidor. Requiere Claude Code v2.1.239 o posterior |

238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Establécela en `1` para omitir la comprobación de que una respuesta en streaming de [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md) lleva el content-type `application/vnd.amazon.eventstream`. Sin esta variable, cuando una respuesta lleva un content-type distinto, Claude Code hace fallar la solicitud con un error que nombra ese tipo, lo que significa que un [gateway o proxy está transformando la respuesta](https://code.claude.com/docs/es/amazon-bedrock.md#streaming-errors-behind-a-gateway-or-proxy). Configura el gateway para que reenvíe el encabezado `Content-Type` y el cuerpo sin modificar en lugar de establecer esta variable. Requiere Claude Code v2.1.208 o posterior |238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Establécela en `1` para omitir la comprobación de que una respuesta en streaming de [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md) lleva el content-type `application/vnd.amazon.eventstream`. Sin esta variable, cuando una respuesta lleva un content-type distinto, Claude Code hace fallar la solicitud con un error que nombra ese tipo, lo que significa que un [gateway o proxy está transformando la respuesta](https://code.claude.com/docs/es/amazon-bedrock.md#streaming-errors-behind-a-gateway-or-proxy). Configura el gateway para que reenvíe el encabezado `Content-Type` y el cuerpo sin modificar en lugar de establecer esta variable. Requiere Claude Code v2.1.208 o posterior |

239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Establécela en `1` para detener el trabajo en curso de una [sesión en segundo plano](https://code.claude.com/docs/es/agent-view.md) cuando el [supervisor](https://code.claude.com/docs/es/agent-view.md#the-supervisor-process) detiene, reinicia o actualiza el proceso de esa sesión, en lugar de traspasarlo al siguiente proceso de la sesión. Ese trabajo son los comandos de shell en segundo plano en ejecución de la sesión, además de los subagentes en segundo plano a partir de v2.1.198. Solo afecta a ese traspaso: pasar una sesión a segundo plano con `←` o [`/background`](https://code.claude.com/docs/es/agent-view#from-inside-a-session) sigue trasladando el trabajo en segundo plano en curso. Requiere Claude Code v2.1.196 o posterior |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Establécela en `1` para detener el trabajo en curso de una [sesión en segundo plano](https://code.claude.com/docs/es/agent-view.md) cuando el [supervisor](https://code.claude.com/docs/es/agent-view.md#the-supervisor-process) detiene, reinicia o actualiza el proceso de esa sesión, en lugar de traspasarlo al siguiente proceso de la sesión. Ese trabajo son los comandos de shell en segundo plano en ejecución de la sesión, además de los subagentes en segundo plano a partir de v2.1.198. Solo afecta a ese traspaso: pasar una sesión a segundo plano con `←` o [`/background`](https://code.claude.com/docs/es/agent-view#from-inside-a-session) sigue trasladando el trabajo en segundo plano en curso. Requiere Claude Code v2.1.196 o posterior |


276| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Establécela en `1` para desactivar la herramienta [WebFetch](https://code.claude.com/docs/es/tools-reference.md#webfetch-tool-behavior). La herramienta [WebSearch](https://code.claude.com/docs/es/tools-reference.md#websearch-tool-behavior) sigue disponible. Requiere Claude Code v2.1.285 o posterior |276| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Establécela en `1` para desactivar la herramienta [WebFetch](https://code.claude.com/docs/es/tools-reference.md#webfetch-tool-behavior). La herramienta [WebSearch](https://code.claude.com/docs/es/tools-reference.md#websearch-tool-behavior) sigue disponible. Requiere Claude Code v2.1.285 o posterior |

277| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Establécela en `1` para iniciar los comandos de la [herramienta PowerShell](https://code.claude.com/docs/es/tools-reference.md#powershell-tool) en Windows directamente en lugar de a través del lanzador `cmd.exe`. De forma predeterminada, el lanzador permite que un comando de PowerShell [que se ejecuta en segundo plano](https://code.claude.com/docs/es/tools-reference.md#background-commands) [se traslade al siguiente proceso de la sesión](https://code.claude.com/docs/es/agent-view.md#the-supervisor-process), por ejemplo cuando [pasas la sesión a segundo plano](https://code.claude.com/docs/es/agent-view.md#from-inside-a-session). Si estableces la variable, un comando de PowerShell en segundo plano se detiene cuando termina el proceso de la sesión. Los comandos de Bash no se ven afectados. Requiere Claude Code v2.1.269 o posterior |277| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Establécela en `1` para iniciar los comandos de la [herramienta PowerShell](https://code.claude.com/docs/es/tools-reference.md#powershell-tool) en Windows directamente en lugar de a través del lanzador `cmd.exe`. De forma predeterminada, el lanzador permite que un comando de PowerShell [que se ejecuta en segundo plano](https://code.claude.com/docs/es/tools-reference.md#background-commands) [se traslade al siguiente proceso de la sesión](https://code.claude.com/docs/es/agent-view.md#the-supervisor-process), por ejemplo cuando [pasas la sesión a segundo plano](https://code.claude.com/docs/es/agent-view.md#from-inside-a-session). Si estableces la variable, un comando de PowerShell en segundo plano se detiene cuando termina el proceso de la sesión. Los comandos de Bash no se ven afectados. Requiere Claude Code v2.1.269 o posterior |

278| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Establécela en `1` para desactivar los [flujos de trabajo](https://code.claude.com/docs/es/workflows.md#turn-workflows-off). Equivale al ajuste [`disableWorkflows`](https://code.claude.com/docs/es/settings-reference#disableworkflows) |278| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Establécela en `1` para desactivar los [flujos de trabajo](https://code.claude.com/docs/es/workflows.md#turn-workflows-off). Equivale al ajuste [`disableWorkflows`](https://code.claude.com/docs/es/settings-reference#disableworkflows) |

279| `CLAUDE_CODE_EFFORT_LEVEL` | Establece el nivel de esfuerzo para los modelos compatibles. Valores: `low`, `medium`, `high`, `xhigh`, `max`, o `auto` para usar el valor predeterminado del modelo. Los niveles disponibles dependen del modelo. Tiene precedencia sobre `--effort`, `/effort` y los ajustes `modelSettings` y `effortLevel`. Un límite de [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel) sigue aplicándose. Consulta [Ajustar el nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) |279| `CLAUDE_CODE_EFFORT_LEVEL` | Establece el nivel de esfuerzo para los modelos compatibles. Valores: `low`, `medium`, `high`, `xhigh` o `max`. Los niveles disponibles dependen del modelo. Tiene precedencia sobre `--effort`, `/effort` y los ajustes `modelSettings` y `effortLevel`. Un límite [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel) sigue aplicándose. Establécela en `auto` o `unset` para que Claude Code [no envíe ningún nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#send-no-effort-level), de modo que la API aplique su propio valor predeterminado para el modelo. Consulta [Ajustar el nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) |

280| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Establécela en `1` para agregar al flujo de mensajes los mensajes [`session_state_changed`](https://code.claude.com/docs/es/agent-sdk/typescript#sdksessionstatechangedmessage), que contienen el estado de la sesión. Requiere el [Agent SDK](https://code.claude.com/docs/es/agent-sdk/overview.md) o bien `--print`, `--output-format stream-json` y `--verbose` |280| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Establécela en `1` para agregar al flujo de mensajes los mensajes [`session_state_changed`](https://code.claude.com/docs/es/agent-sdk/typescript#sdksessionstatechangedmessage), que contienen el estado de la sesión. Requiere el [Agent SDK](https://code.claude.com/docs/es/agent-sdk/overview.md) o bien `--print`, `--output-format stream-json` y `--verbose` |

281| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Se acepta por compatibilidad con versiones anteriores y no tiene efecto. El modo automático está disponible de forma predeterminada en todos los proveedores, incluidos Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry y las sesiones con sesión iniciada en [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway). De la v2.1.158 a la v2.1.206, era necesario establecerla en `1` para que el [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode) estuviera disponible en esos proveedores |281| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Se acepta por compatibilidad con versiones anteriores y no tiene efecto. El modo automático está disponible de forma predeterminada en todos los proveedores, incluidos Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry y las sesiones con sesión iniciada en [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway). De la v2.1.158 a la v2.1.206, era necesario establecerla en `1` para que el [modo automático](https://code.claude.com/docs/es/permission-modes.md#eliminate-prompts-with-auto-mode) estuviera disponible en esos proveedores |

282| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sobrescribe la disponibilidad del [resumen de sesión](https://code.claude.com/docs/es/interactive-mode.md#session-recap). Establécela en `0` para forzar la desactivación de los resúmenes independientemente del interruptor de `/config`. Establécela en `1` para forzar su activación cuando [`awaySummaryEnabled`](https://code.claude.com/docs/es/settings-reference#awaysummaryenabled) sea `false`. Tiene precedencia sobre el ajuste y sobre el interruptor de `/config` |282| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Sobrescribe la disponibilidad del [resumen de sesión](https://code.claude.com/docs/es/interactive-mode.md#session-recap). Establécela en `0` para forzar la desactivación de los resúmenes independientemente del interruptor de `/config`. Establécela en `1` para forzar su activación cuando [`awaySummaryEnabled`](https://code.claude.com/docs/es/settings-reference#awaysummaryenabled) sea `false`. Tiene precedencia sobre el ajuste y sobre el interruptor de `/config` |


584* Obtener la [herramienta PowerShell](https://code.claude.com/docs/es/tools-reference.md#powershell-tool) de forma predeterminada para cuentas de claude.ai y Console en Windows con Git Bash instalado; Claude Code enruta los comandos de shell a través de Git Bash a menos que establezcas `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. En Windows sin Git Bash, la herramienta permanece activada584* Obtener la [herramienta PowerShell](https://code.claude.com/docs/es/tools-reference.md#powershell-tool) de forma predeterminada para cuentas de claude.ai y Console en Windows con Git Bash instalado; Claude Code enruta los comandos de shell a través de Git Bash a menos que establezcas `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. En Windows sin Git Bash, la herramienta permanece activada

585* Obtener [comentarios redactados por Claude](https://code.claude.com/docs/es/tools-reference.md#sendfeedback-tool-behavior), que Claude Code activa mediante un flag obtenido585* Obtener [comentarios redactados por Claude](https://code.claude.com/docs/es/tools-reference.md#sendfeedback-tool-behavior), que Claude Code activa mediante un flag obtenido

586* Hacer que Claude [trate los pegados grandes como texto pegado en lugar de texto escrito](https://code.claude.com/docs/es/terminal-config.md#how-claude-treats-pasted-text); el contenido detrás de un marcador de posición `[Pasted text #N]` llega a Claude sin marcar586* Hacer que Claude [trate los pegados grandes como texto pegado en lugar de texto escrito](https://code.claude.com/docs/es/terminal-config.md#how-claude-treats-pasted-text); el contenido detrás de un marcador de posición `[Pasted text #N]` llega a Claude sin marcar

587* Hacer que Claude Code [excluya las herramientas MCP cuyo esquema de entrada rechazaría la API](https://code.claude.com/docs/es/mcp.md#tools-with-invalid-input-schemas); envía el esquema de todos modos, y una solicitud que lo incluya falla con [un error 400 que nombra la herramienta por su posición](https://code.claude.com/docs/es/errors.md#tool-input-schema-is-invalid)587* Hacer que Claude Code [excluya las herramientas MCP cuyo esquema de entrada rechazaría la API](https://code.claude.com/docs/es/mcp.md#tools-with-invalid-input-schemas)

588* Hacer que Claude Code [compacte una conversación larga mientras tu sesión de terminal está inactiva](https://code.claude.com/docs/es/settings-reference.md#idlecompaction), poco antes de que caduque una caché de prompts de una hora588* Hacer que Claude Code [compacte una conversación larga mientras tu sesión de terminal está inactiva](https://code.claude.com/docs/es/settings-reference.md#idlecompaction), poco antes de que caduque una caché de prompts de una hora

589 589 

590### Primera sesión después de una instalación o actualización590### Primera sesión después de una instalación o actualización

errors.md +45 −11

Details

219| `Cloud sessions use your claude.ai login`, al final de una denegación de política que nombra una credencial | [Errores de línea de comandos](#cloud-sessions-use-your-claude-ai-login) |219| `Cloud sessions use your claude.ai login`, al final de una denegación de política que nombra una credencial | [Errores de línea de comandos](#cloud-sessions-use-your-claude-ai-login) |

220| `Couldn't verify your organization's policy for cloud sessions` | [Errores de línea de comandos](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |220| `Couldn't verify your organization's policy for cloud sessions` | [Errores de línea de comandos](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |

221| `Cloud sessions aren't available:` seguido del motivo por el que no se pudo cargar la política de tu organización | [Errores de línea de comandos](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |221| `Cloud sessions aren't available:` seguido del motivo por el que no se pudo cargar la política de tu organización | [Errores de línea de comandos](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |

222| `Cloud sessions aren't available with this Console sign-in. They need a claude.ai sign-in.` | [No se puede obtener el UUID de la organización](https://code.claude.com/docs/es/claude-code-on-the-web.md#unable-to-get-organization-uuid) |

222| `Cloud sessions need a claude.ai sign-in` | [No se puede obtener el UUID de la organización](https://code.claude.com/docs/es/claude-code-on-the-web.md#unable-to-get-organization-uuid) |223| `Cloud sessions need a claude.ai sign-in` | [No se puede obtener el UUID de la organización](https://code.claude.com/docs/es/claude-code-on-the-web.md#unable-to-get-organization-uuid) |

223| `Nothing was stashed: "<path>" is now a folder in place of a tracked file or link` / `are now folders in place of tracked files or links` | [Errores de línea de comandos](#nothing-was-stashed-because-a-folder-replaced-a-tracked-file) |224| `Nothing was stashed: "<path>" is now a folder in place of a tracked file or link` / `are now folders in place of tracked files or links` | [Errores de línea de comandos](#nothing-was-stashed-because-a-folder-replaced-a-tracked-file) |

224| `Error: --json-schema is not a valid JSON Schema` | [Errores de línea de comandos](#the-json-schema-value-is-not-a-valid-json-schema) |225| `Error: --json-schema is not a valid JSON Schema` | [Errores de línea de comandos](#the-json-schema-value-is-not-a-valid-json-schema) |


325| `File is covered by a Read deny rule in your permission settings` | [Errores de herramientas](#file-is-covered-by-a-read-deny-rule) |326| `File is covered by a Read deny rule in your permission settings` | [Errores de herramientas](#file-is-covered-by-a-read-deny-rule) |

326| `cannot contain null bytes (\0)` | [Errores de herramientas](#path-cannot-contain-null-bytes) |327| `cannot contain null bytes (\0)` | [Errores de herramientas](#path-cannot-contain-null-bytes) |

327| `Path contains null bytes` | [Errores de herramientas](#path-cannot-contain-null-bytes) |328| `Path contains null bytes` | [Errores de herramientas](#path-cannot-contain-null-bytes) |

329| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Errores de herramientas](#command-contains-an-invisible-character) |

328| `File is too large to read as an image (the limit is 128MB)` | [Errores de herramientas](#file-is-too-large-to-read-as-an-image) |330| `File is too large to read as an image (the limit is 128MB)` | [Errores de herramientas](#file-is-too-large-to-read-as-an-image) |

329| `Cannot read this as an image: <path> is a pipe or a device` | [Errores de herramientas](#file-is-too-large-to-read-as-an-image) |331| `Cannot read this as an image: <path> is a pipe or a device` | [Errores de herramientas](#file-is-too-large-to-read-as-an-image) |

330| `subagent_type is required: the general-purpose agent is not available in this session` | [Errores de herramientas](#subagent-type-is-required) |332| `subagent_type is required: the general-purpose agent is not available in this session` | [Errores de herramientas](#subagent-type-is-required) |


397| `Claude Code process exited with code N` | [Errores de contenedor e IDE](#claude-code-process-exited-with-code-n) |399| `Claude Code process exited with code N` | [Errores de contenedor e IDE](#claude-code-process-exited-with-code-n) |

398| `The connection to Claude Code ended before this message completed` | [Errores de contenedor e IDE](#the-connection-to-claude-code-ended-before-this-message-completed) |400| `The connection to Claude Code ended before this message completed` | [Errores de contenedor e IDE](#the-connection-to-claude-code-ended-before-this-message-completed) |

399| `Could not locate the Claude CLI on PATH` | [Errores de contenedor e IDE](#could-not-locate-the-claude-cli-on-path) |401| `Could not locate the Claude CLI on PATH` | [Errores de contenedor e IDE](#could-not-locate-the-claude-cli-on-path) |

402| `The Claude Code program for this computer, the <build> build, could not be found` | [Errores del wrapper y del IDE](#the-claude-code-program-for-this-computer-could-not-be-found) |

400| `Restored the code, but skipped N files` | [Advertencias y errores de Rewind](#restored-the-code-but-skipped-files) |403| `Restored the code, but skipped N files` | [Advertencias y errores de Rewind](#restored-the-code-but-skipped-files) |

401| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Advertencias y errores de Rewind](#no-files-were-restored) |404| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Advertencias y errores de Rewind](#no-files-were-restored) |

402| `Transcript writes are failing (...)` | [Advertencias de guardado de sesión](#transcript-writes-are-failing) |405| `Transcript writes are failing (...)` | [Advertencias de guardado de sesión](#transcript-writes-are-failing) |


485 488 

486A partir de v2.1.198, la sugerencia habitual del spinner se suprime durante los reintentos. Una vez que se revela la razón del error, si el fallo es una sobrecarga 529, la línea debajo de la cuenta regresiva también indica dónde verificar el estado del servicio: `status.claude.com` en la API de Anthropic, o el host del proveedor o gateway nombrado en el mensaje en otras configuraciones.489A partir de v2.1.198, la sugerencia habitual del spinner se suprime durante los reintentos. Una vez que se revela la razón del error, si el fallo es una sobrecarga 529, la línea debajo de la cuenta regresiva también indica dónde verificar el estado del servicio: `status.claude.com` en la API de Anthropic, o el host del proveedor o gateway nombrado en el mensaje en otras configuraciones.

487 490 

488Si no llegan datos en el stream de respuesta durante 20 segundos mientras una solicitud sigue pendiente, el spinner muestra `Waiting for API response · will retry in … · check your network` antes de que haya comenzado ningún reintento. La solicitud aún no ha fallado: la cuenta regresiva corre hasta el punto en que Claude Code aborta la conexión estancada. Después de abortarla, lo que ves depende de cuánto había avanzado la respuesta:491#### Waiting for API response

492 

493El banner `Waiting for API response · will retry in … · check your network` significa que Claude Code ha esperado al menos 20 segundos sin recibir ningún dato para una solicitud. La solicitud aún no ha fallado: la cuenta regresiva corre hasta el punto en que Claude Code aborta la conexión estancada. Si la conexión se aborta:

489 494 

490* Antes de que Claude haya completado un bloque de texto o una llamada a herramienta, o haya comenzado uno después de terminar su pensamiento, Claude Code reintenta la solicitud o termina el turno con un error. [Reintentos automáticos](#automatic-retries) indica qué estancamientos reintenta y cuántas veces.495* Antes de que Claude haya completado un bloque de texto o una llamada a herramienta, o haya comenzado uno después de terminar su pensamiento, Claude Code reintenta la solicitud o termina el turno con un error. [Reintentos automáticos](#automatic-retries) indica qué estancamientos reintenta y cuántas veces.

491* Después de que Claude ha completado un bloque de texto o una llamada a herramienta, o ha comenzado uno después de terminar su pensamiento, pero antes de que Claude haya terminado la respuesta, Claude Code conserva lo que Claude completó, continúa el turno a partir de las llamadas a herramientas que Claude terminó y muestra [The response above may be incomplete](#the-response-above-may-be-incomplete). En una sesión no interactiva, y para la respuesta de un subagente en cualquier sesión, Claude Code puede primero pedirle a Claude que continúe la respuesta; esa entrada indica cuándo lo hace y cuándo sigues viendo el aviso allí.496* Después de que Claude ha completado un bloque de texto o una llamada a herramienta, o ha comenzado uno después de terminar su pensamiento, pero antes de que Claude haya terminado la respuesta, Claude Code conserva lo que Claude completó, continúa el turno a partir de las llamadas a herramientas que Claude terminó y muestra [The response above may be incomplete](#the-response-above-may-be-incomplete). En una sesión no interactiva, y para la respuesta de un subagente en cualquier sesión, Claude Code puede primero pedirle a Claude que continúe la respuesta; esa entrada indica cuándo lo hace y cuándo sigues viendo el aviso allí.

492* Después de que Claude terminó la respuesta, Claude Code termina el turno normalmente.497* Después de que Claude terminó la respuesta, Claude Code termina el turno normalmente.

493 498 

494El banner desaparece por sí solo una vez que los datos se reanudan o un reintento tiene éxito. Si reaparece en cada intento, trátalo como un [problema de red](#unable-to-connect-to-api). Antes de v2.1.185, el banner aparecía después de 10 segundos con una redacción diferente.499El banner desaparece por sí solo una vez que los datos se reanudan o un reintento tiene éxito. Si reaparece en cada intento, trátalo como un [problema de red](#unable-to-connect-to-api). Si te conectas a través de un gateway, consulta [El banner de espera aparece y desaparece detrás de un gateway](#waiting-banner-behind-a-gateway). Antes de v2.1.185, el banner aparecía después de 10 segundos con una redacción diferente.

495 

496Mientras Claude consulta al [asesor](https://code.claude.com/docs/es/advisor.md), el banner aparece después de 90 segundos sin datos en lugar de 20, porque una revisión larga del asesor puede no enviar nada durante bastante más de 20 segundos. Antes de v2.1.214, el umbral de 20 segundos también se aplicaba durante las llamadas al asesor, por lo que el banner aparecía durante las revisiones del asesor incluso cuando no pasaba nada malo.

497 500 

498#### El banner de espera aparece y desaparece detrás de un gateway501#### El banner de espera aparece y desaparece detrás de un gateway

499 502 


2495 2498 

2496**Qué hacer:**2499**Qué hacer:**

2497 2500 

2498* Si tu versión de Claude Code es anterior a v2.1.216, ejecuta `claude update`.2501* Si tu versión de Claude Code es anterior a v2.1.300, ejecuta [`claude update`](https://code.claude.com/docs/es/setup#update-claude-code) en tu shell. Antes de v2.1.300, Claude Code no [reintentaba la solicitud sin los parámetros de la herramienta rechazada](https://code.claude.com/docs/es/mcp.md#tools-whose-input-schema-the-api-refuses), así que este error se repetía en cada solicitud que incluía la herramienta.

2499* Elimina o [desactiva](https://code.claude.com/docs/es/mcp.md#disable-a-server-without-removing-it) el servidor MCP que declara el esquema no válido. El error identifica la herramienta solo por su posición. En v2.1.216 o posterior, revisa el registro de cada servidor en busca de una línea que nombre una herramienta cuyo esquema de entrada sería rechazado. Si ningún registro nombra una, desactiva los servidores de uno en uno.2502* Elimina o [desactiva](https://code.claude.com/docs/es/mcp.md#disable-a-server-without-removing-it) el servidor MCP que declara el esquema no válido. El error identifica la herramienta solo por su posición. En v2.1.216 o posterior, revisa el registro de cada servidor en busca de una línea que nombre una herramienta cuyo esquema de entrada sería rechazado. Si ningún registro nombra una, desactiva los servidores de uno en uno.

2500* Si mantienes el servidor, corrige el `input_schema` de la herramienta. El esquema debe ser JSON Schema válido, y los nombres de propiedad de nivel superior deben tener entre 1 y 64 caracteres y usar solo letras y dígitos ASCII, `_`, `.` y `-`. Consulta [Herramientas con esquemas de entrada no válidos](https://code.claude.com/docs/es/mcp.md#tools-with-invalid-input-schemas).2503* Si mantienes el servidor, corrige el `input_schema` de la herramienta. El esquema debe ser JSON Schema válido, y los nombres de propiedad de nivel superior deben tener entre 1 y 64 caracteres y usar solo letras y dígitos ASCII, `_`, `.` y `-`. Consulta [Herramientas con esquemas de entrada no válidos](https://code.claude.com/docs/es/mcp.md#tools-with-invalid-input-schemas).

2501 2504 


3587 3590 

3588Hay cadenas similares que se activan antes de que el comando llegue a ejecutarse:3591Hay cadenas similares que se activan antes de que el comando llegue a ejecutarse:

3589 3592 

3590* `Shell command permission check failed for pattern "..."`: la verificación de permisos del comando no lo permitió. [Verificaciones de permisos en comandos inyectados](https://code.claude.com/docs/es/skills.md#permission-checks-on-injected-commands) explica qué resultados abortan en cada modo de permisos y cómo preaprobar un comando con `allowed-tools`3593* `Shell command permission check failed for pattern "..."`: la comprobación de permisos del comando no lo permitió. [Comprobaciones de permisos en comandos inyectados](https://code.claude.com/docs/es/skills.md#permission-checks-on-injected-commands) explica qué resultados abortan en cada modo de permisos y cómo aprobar previamente un comando con `allowed-tools`

3591* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: el frontmatter del skill exige bash en una máquina que no lo tiene. Instala Git for Windows o cambia el frontmatter a `shell: powershell`. Consulta [Cómo se ejecutan los comandos inyectados](https://code.claude.com/docs/es/skills.md#how-injected-commands-run)3594* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: el frontmatter del skill exige bash en una máquina que no lo tiene. Instala Git for Windows o cambia el frontmatter a `shell: powershell`. Consulta [Cómo se ejecutan los comandos inyectados](https://code.claude.com/docs/es/skills.md#how-injected-commands-run)

3592* `No shell command in <name> was run`: uno de los comandos `!` del archivo contiene un carácter de control sin procesar distinto de tabulación o salto de línea, así que ninguno de ellos se ejecuta. Consulta [cómo encontrar y eliminar el carácter](#no-shell-command-was-run)

3593 3595 

3594**Qué hacer:**3596**Qué hacer:**

3595 3597 


3599 3601 

3600### No shell command in a skill or command was run3602### No shell command in a skill or command was run

3601 3603 

3602Uno de los [comandos de contexto dinámico](https://code.claude.com/docs/es/skills.md#inject-dynamic-context) `` !`<command>` `` de un archivo de skill o de comando personalizado contiene un carácter de control sin procesar distinto de tabulación o salto de línea. Claude Code rechaza toda la invocación antes de que se ejecute cualquiera de los comandos del archivo.3604`No shell command in <name> was run` significa que un [comando de contexto dinámico](https://code.claude.com/docs/es/skills.md#inject-dynamic-context) `` !`<command>` `` en ese archivo de skill o comando contiene un carácter que la herramienta Bash o PowerShell rechaza:

3605 

3606* **Cualquiera de las dos herramientas**: un carácter de control sin procesar distinto de una tabulación o un salto de línea

3607* **Herramienta PowerShell**: también U+FEFF o U+180E

3603 3608 

3604El mensaje nombra la herramienta de shell que habría ejecutado los comandos, Bash o PowerShell, y termina con el comando rechazado. Cada uno de esos caracteres se reemplaza por `�` para que puedas ver dónde está:3609El mensaje termina con el comando rechazado, mostrando cada carácter rechazado como `�`, como en este ejemplo de la herramienta Bash:

3605 3610 

3606```text theme={null}3611```text theme={null}

3607No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.3612No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.


3610 3615 

3611**Qué hacer:**3616**Qué hacer:**

3612 3617 

3613* Encuentra cada `�` en el comando citado al final del mensaje. Elimina el carácter que representa del archivo de skill o de comando, o de los argumentos u opciones que se sustituyen en el archivo.3618* Busca cada `�` en el comando citado al final del mensaje. Elimina el carácter que representa del [archivo de skill o comando](https://code.claude.com/docs/es/skills.md#where-skills-live), o de los argumentos u [opciones](https://code.claude.com/docs/es/plugins/manifest-reference.md#user-configuration) que se sustituyen en el archivo.

3614 3619 

3615### Se debe proporcionar una entrada al usar `--print`3620### Se debe proporcionar una entrada al usar `--print`

3616 3621 


3739 3744 

3740* **No pasaste una rama base**: Claude Code comparó contra la rama predeterminada del repositorio y sugiere pasar tu base explícitamente, como en el ejemplo anterior3745* **No pasaste una rama base**: Claude Code comparó contra la rama predeterminada del repositorio y sugiere pasar tu base explícitamente, como en el ejemplo anterior

3741* **Pasaste una rama base que ya estaba en tu clon**: la sugerencia dice ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3746* **Pasaste una rama base que ya estaba en tu clon**: la sugerencia dice ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3742* **Pasaste una rama base que no estaba en tu clon**: Claude Code la obtuvo de origin antes de comparar. La sugerencia dice ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; cuando Claude Code no puede determinar si tu clon es superficial (shallow), sugiere `git fetch --unshallow origin` en su lugar. Antes de la v2.1.221, la sugerencia proponía `git fetch --unshallow origin` para toda rama base obtenida, y en un clon completo ese comando falla con `fatal: --unshallow on a complete repository does not make sense`.3747* **Pasaste una rama base que no estaba en tu clon**: Claude Code la obtuvo de origin antes de comparar. La sugerencia dice ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; cuando Claude Code no puede determinar si tu clon es superficial (shallow), sugiere `git fetch --unshallow origin` en su lugar. Antes de la v2.1.221, la sugerencia proponía `git fetch --unshallow origin` para cada rama base obtenida, y en un clon completo ese comando falla con `fatal: --unshallow on a complete repository does not make sense`.

3743 3748 

3744**Qué hacer:**3749**Qué hacer:**

3745 3750 


4568 4573 

4569Antes de la v2.1.281, un byte nulo en una ruta de Read, Write, Edit o NotebookEdit terminaba todo el turno con un error que mencionaba `Path contains null bytes`, y la herramienta nunca se ejecutaba.4574Antes de la v2.1.281, un byte nulo en una ruta de Read, Write, Edit o NotebookEdit terminaba todo el turno con un error que mencionaba `Path contains null bytes`, y la herramienta nunca se ejecutaba.

4570 4575 

4576### Command contains an invisible character

4577 

4578La [herramienta PowerShell](https://code.claude.com/docs/es/tools-reference.md#powershell-tool) se negó a ejecutar un comando que contiene U+FEFF o U+180E:

4579 

4580```text theme={null}

4581Error: command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run. Remove the character, keep the text that needs it in a file that the command reads, or write it as $([char]0xFEFF) or $([char]0x180E) inside a double-quoted string

4582```

4583 

4584**Qué hacer:**

4585 

4586* **Para un comando que escribió Claude**: no tienes nada que corregir. El mensaje le indica a Claude cómo reescribir el comando.

4587* **Para un archivo de skill o de comando**: el mensaje aparece después de `No shell command in <name> was run`. Consulta [dónde encontrar el carácter y eliminarlo](#no-shell-command-was-run).

4588 

4571### File is too large to read as an image4589### File is too large to read as an image

4572 4590 

4573Claude intentó leer un archivo como imagen con la [herramienta Read](https://code.claude.com/docs/es/tools-reference.md#read-tool-behavior), y el archivo supera los 128 MB, el máximo que Read carga de un archivo de imagen. No se leyó nada, y Claude recibe este error como resultado de la herramienta:4591Claude intentó leer un archivo como imagen con la [herramienta Read](https://code.claude.com/docs/es/tools-reference.md#read-tool-behavior), y el archivo supera los 128 MB, el máximo que Read carga de un archivo de imagen. No se leyó nada, y Claude recibe este error como resultado de la herramienta:


5431* Establezca la entrada de PATH como una variable de entorno de usuario o sistema, no en su perfil de PowerShell. La extensión no ejecuta su perfil, por lo que una edición de PATH que vive solo allí nunca la alcanza.5449* Establezca la entrada de PATH como una variable de entorno de usuario o sistema, no en su perfil de PowerShell. La extensión no ejecuta su perfil, por lo que una edición de PATH que vive solo allí nunca la alcanza.

5432* Reinicie VS Code después de cambiar PATH. La extensión verifica el PATH que VS Code capturó al inicio, por lo que un cambio de PATH solo tiene efecto después de un reinicio.5450* Reinicie VS Code después de cambiar PATH. La extensión verifica el PATH que VS Code capturó al inicio, por lo que un cambio de PATH solo tiene efecto después de un reinicio.

5433 5451 

5452### The Claude Code program for this computer could not be found

5453 

5454La [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) buscó la copia de Claude Code incluida en ella y no encontró ninguna compilada para tu computadora. El mensaje indica la compilación que necesita tu computadora:

5455 

5456```text theme={null}

5457The Claude Code program for this computer, the Linux (linux-x64) build, could not be found.

5458```

5459 

5460**Qué hacer:**

5461 

5462* Si el mensaje indica qué compilación contiene la extensión, tienes el paquete de la extensión para otra plataforma: instala el paquete hecho para la compilación que indica el mensaje

5463* Si el mensaje no indica qué compilación contiene la extensión, reinstala la extensión de Claude Code desde la vista Extensions de tu editor

5464* O, en cualquiera de los dos casos, configura [`claudeCode.claudeProcessWrapper`](https://code.claude.com/docs/es/vs-code#extension-settings) con un binario `claude` instalado por separado

5465 

5466Antes de v2.1.290, esto aparecía como `Unsupported platform: <platform>-<arch>. No compatible Claude Code binary found.`

5467 

5434### La conexión a Claude Code terminó antes de que este mensaje se completara5468### La conexión a Claude Code terminó antes de que este mensaje se completara

5435 5469 

5436La [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) envió su mensaje al proceso `claude`, y la conexión terminó sin un error antes de que el proceso lo reconociera o lo completara. La extensión no puede saber si el mensaje fue procesado, por lo que le pide que lo envíe de nuevo:5470La [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) envió su mensaje al proceso `claude`, y la conexión terminó sin un error antes de que el proceso lo reconociera o lo completara. La extensión no puede saber si el mensaje fue procesado, por lo que le pide que lo envíe de nuevo:

fast-mode.md +10 −8

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> El modo rápido está en [vista previa de investigación](#research-preview). La función, los precios y la disponibilidad pueden cambiar según los comentarios.11> El modo rápido para Claude Opus 5.5 está disponible, y el modo rápido para Claude Opus 5 y Claude Opus 4.8 está en [vista previa de investigación](#research-preview).

12 12 

13El modo rápido es una configuración de alta velocidad para Claude Opus, haciendo que el modelo sea hasta 2.5x más rápido a un costo más alto por token. Actívalo con `/fast` cuando necesites velocidad para trabajo interactivo como iteración rápida o depuración en vivo, y desactívalo cuando el costo sea más importante que la latencia.13El modo rápido es una configuración de alta velocidad para Claude Opus, haciendo que el modelo sea hasta 2.5x más rápido a un costo más alto por token. Actívalo con `/fast` cuando necesites velocidad para trabajo interactivo como iteración rápida o depuración en vivo, y desactívalo cuando el costo sea más importante que la latencia.

14 14 


20 20 

21* Usa `/fast` para activar o desactivar el modo rápido en Claude Code CLI. La [extensión VS Code](https://code.claude.com/docs/es/vs-code.md) ofrece un comando **Toggle fast mode** cuando el modelo seleccionado admite el modo rápido. Claude Code guarda ese cambio en tu configuración [`fastMode`](#toggle-fast-mode).21* Usa `/fast` para activar o desactivar el modo rápido en Claude Code CLI. La [extensión VS Code](https://code.claude.com/docs/es/vs-code.md) ofrece un comando **Toggle fast mode** cuando el modelo seleccionado admite el modo rápido. Claude Code guarda ese cambio en tu configuración [`fastMode`](#toggle-fast-mode).

22* Los precios del modo rápido por MTok de entrada/salida son \$8/\$40 en Opus 5.5 y \$10/\$50 en Opus 5 y Opus 4.8.22* Los precios del modo rápido por MTok de entrada/salida son \$8/\$40 en Opus 5.5 y \$10/\$50 en Opus 5 y Opus 4.8.

23* Disponible para usuarios de Claude Code en planes de suscripción (Pro/Max/Team/Enterprise) y en Claude Console. Las organizaciones Team y Enterprise necesitan que un Propietario lo habilite primero, y las organizaciones Console necesitan que se aprovisione el acceso primero, ambos descritos en [Requisitos](#requirements).23* Disponible para usuarios de Claude Code en planes de suscripción (Pro/Max/Team/Enterprise) y en Claude Console. Las organizaciones Team y Enterprise necesitan que un Propietario lo habilite primero, y las organizaciones Console necesitan que se aprovisione el acceso primero para usarlo con Opus 5 u Opus 4.8. En [Requisitos](#requirements) se describen ambos casos.

24* Para los usuarios de Claude Code en planes de suscripción (Pro/Max/Team/Enterprise), el modo rápido está disponible solo a través de créditos de uso y no está incluido en los límites de velocidad de la suscripción.24* Para los usuarios de Claude Code en planes de suscripción (Pro/Max/Team/Enterprise), el modo rápido está disponible solo a través de créditos de uso y no está incluido en los límites de velocidad de la suscripción.

25 25 

26## Activar el modo rápido26## Activar el modo rápido


119 119 

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

121 121 

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

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

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

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


129> El uso del modo rápido se extrae directamente de los créditos de uso, incluso si tiene uso restante en su plan.129> El uso del modo rápido se extrae directamente de los créditos de uso, incluso si tiene uso restante en su plan.

130 130 

131* **Organización de Console pagada**: las cuentas de Claude Console no utilizan créditos de uso, y su organización paga por el modo rápido por token junto con el resto de su uso de API. En el plan de Evaluación gratuito de Console, `/fast` muestra "Fast mode unavailable during evaluation. Please purchase credits." Para borrarlo, compre créditos en su [configuración de facturación de Console](https://platform.claude.com/settings/billing).131* **Organización de Console pagada**: las cuentas de Claude Console no utilizan créditos de uso, y su organización paga por el modo rápido por token junto con el resto de su uso de API. En el plan de Evaluación gratuito de Console, `/fast` muestra "Fast mode unavailable during evaluation. Please purchase credits." Para borrarlo, compre créditos en su [configuración de facturación de Console](https://platform.claude.com/settings/billing).

132 

133 El modo rápido con Opus 5.5 también depende del [nivel de uso](https://platform.claude.com/docs/en/api/rate-limits) de tu organización.

132* **Habilitación del propietario para Team y Enterprise**: el modo rápido está deshabilitado de forma predeterminada para organizaciones Team y Enterprise. Un propietario debe [habilitar explícitamente el modo rápido](#enable-fast-mode-for-your-organization) antes de que los usuarios puedan acceder a él.134* **Habilitación del propietario para Team y Enterprise**: el modo rápido está deshabilitado de forma predeterminada para organizaciones Team y Enterprise. Un propietario debe [habilitar explícitamente el modo rápido](#enable-fast-mode-for-your-organization) antes de que los usuarios puedan acceder a él.

133 135 

134> [!NOTE]136> [!NOTE]


144 146 

145Dónde habilita el modo rápido depende de qué producto usa su organización:147Dónde habilita el modo rápido depende de qué producto usa su organización:

146 148 

147* **Console** (clientes de API): un administrador lo habilita en [Preferencias de Claude Code](https://platform.claude.com/claude-code/preferences). El modo rápido está en [vista previa de investigación](#research-preview), por lo que su organización también debe tener acceso al modo rápido aprovisionado antes de que las solicitudes de modo rápido tengan éxito. Para obtener acceso, póngase en contacto con su gerente de cuenta o únase a la lista de espera, como se describe en [modo rápido en la API de Claude](https://platform.claude.com/docs/en/build-with-claude/fast-mode).149* **Console** (clientes de API): un administrador lo habilita en [Preferencias de Claude Code](https://platform.claude.com/claude-code/preferences)

148 

149 Sin acceso aprovisionado, la API rechaza cada solicitud de modo rápido con un 429, y Claude Code trata cada rechazo como un [límite de velocidad del modo rápido](#handle-rate-limits). A diferencia del tiempo de espera de un límite de velocidad, los rechazos continúan hasta que se aprovisione el acceso.

150* **Claude AI** (Team y Enterprise): un Owner lo habilita en [**Organization settings > Claude Code**](https://claude.ai/admin-settings/claude-code)150* **Claude AI** (Team y Enterprise): un Owner lo habilita en [**Organization settings > Claude Code**](https://claude.ai/admin-settings/claude-code)

151 151 

152Las organizaciones de Console que usan Claude Opus 5 o Claude Opus 4.8 también necesitan acceso aprovisionado, como se describe en [modo rápido en la API de Claude](https://platform.claude.com/docs/en/build-with-claude/fast-mode). Sin ese acceso, las solicitudes de modo rápido en esos modelos alcanzan el [rate limit del modo rápido](#handle-rate-limits) y vuelven a la velocidad estándar hasta que se aprovisione el acceso.

153 

152Otra opción para desactivar completamente el modo rápido es establecer `CLAUDE_CODE_DISABLE_FAST_MODE=1`. Consulte [Variables de entorno](https://code.claude.com/docs/es/env-vars.md).154Otra opción para desactivar completamente el modo rápido es establecer `CLAUDE_CODE_DISABLE_FAST_MODE=1`. Consulte [Variables de entorno](https://code.claude.com/docs/es/env-vars.md).

153 155 

154### Usar el modo rápido detrás de proxies y puertas de enlace LLM156### Usar el modo rápido detrás de proxies y puertas de enlace LLM


201 203 

202## Manejar límites de velocidad204## Manejar límites de velocidad

203 205 

204El modo rápido tiene límites de velocidad separados del Opus estándar. Todos los modelos Opus compatibles comparten un grupo de límite de velocidad del modo rápido: el uso en cualquiera de ellos se extrae de los mismos límites. Cuando alcanzas el límite de velocidad del modo rápido:206El modo rápido tiene rate limits separados de los del Opus estándar; para las organizaciones de Console, la página de [rate limits](https://platform.claude.com/docs/en/api/rate-limits) de Claude Platform los describe. Cuando alcanzas el rate limit del modo rápido:

205 207 

2061. El modo rápido automáticamente vuelve a velocidad estándar2081. El modo rápido automáticamente vuelve a velocidad estándar

2072. El icono `↯` se vuelve gris para indicar enfriamiento2092. El icono `↯` se vuelve gris para indicar enfriamiento


217 219 

218## Vista previa de investigación220## Vista previa de investigación

219 221 

220El modo rápido es una función de vista previa de investigación. Esto significa:222El modo rápido para Claude Opus 5 y Claude Opus 4.8 es una función de vista previa de investigación. Esto significa:

221 223 

222* La función puede cambiar según los comentarios224* La función puede cambiar según los comentarios

223* La disponibilidad y los precios están sujetos a cambios225* La disponibilidad y los precios están sujetos a cambios

Details

90 <tr>90 <tr>

91 <td>[Modo rápido](https://code.claude.com/docs/es/fast-mode.md)</td>91 <td>[Modo rápido](https://code.claude.com/docs/es/fast-mode.md)</td>

92 <td>✓ ([Habilitado por el propietario](https://code.claude.com/docs/es/fast-mode.md#enable-fast-mode-for-your-organization) en Team y Enterprise)</td>92 <td>✓ ([Habilitado por el propietario](https://code.claude.com/docs/es/fast-mode.md#enable-fast-mode-for-your-organization) en Team y Enterprise)</td>

93 <td>✓ (organizaciones aprovisionadas)</td>93 <td>✓ (Opus 5 y 4.8 requieren aprovisionamiento)</td>

94 <td>✗</td>94 <td>✗</td>

95 <td>✗</td>95 <td>✗</td>

96 <td>✗</td>96 <td>✗</td>


285 285 

286**No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription).286**No disponible:** todas las [características que requieren una suscripción a Claude](#features-that-require-a-claude-subscription).

287 287 

288Todo en [Capacidades de CLI que varían por proveedor](#cli-capabilities-that-vary-by-provider) está disponible, excepto que el [modo rápido](https://code.claude.com/docs/es/fast-mode.md) requiere [acceso aprovisionado](https://code.claude.com/docs/es/fast-mode.md#enable-fast-mode-for-your-organization). La [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) que configuras en una organización Team o Enterprise de claude.ai no llega a una sesión que se autentica con una clave de API de la Consola. Consulta [Disponibilidad por plataforma](https://code.claude.com/docs/es/server-managed-settings.md#platform-availability) para saber cómo cubrir esas sesiones.288Todo en [Capacidades de CLI que varían por proveedor](#cli-capabilities-that-vary-by-provider) está disponible, excepto que el [modo rápido](https://code.claude.com/docs/es/fast-mode.md) con Claude Opus 5 o Claude Opus 4.8 requiere [acceso aprovisionado](https://code.claude.com/docs/es/fast-mode.md#enable-fast-mode-for-your-organization). La [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) que configuras en una organización Team o Enterprise de claude.ai no llega a una sesión que se autentica con una clave de API de la Consola. Consulta [Disponibilidad por plataforma](https://code.claude.com/docs/es/server-managed-settings.md#platform-availability) para saber cómo cubrir esas sesiones.

289 289 

290**Soporte parcial:**290**Soporte parcial:**

291 291 

github-actions.md +57 −57

Details

17 17 

18## Configuración18## Configuración

19 19 

20Puede configurar la GitHub Action de Claude Code de una de dos formas:20Puedes configurar la GitHub Action de Claude Code de una de dos maneras:

21 21 

22* **Configuración rápida**: ejecute `/install-github-app` desde Claude Code. Claude Code instala la GitHub App, agrega su secreto de autenticación y prepara la solicitud de extracción del flujo de trabajo para usted22* **Configuración rápida**: ejecuta `/install-github-app` desde Claude Code. Claude Code instala la GitHub App, agrega tu secreto de autenticación y prepara el pull request del workflow por ti

23* **Configuración manual**: instale la aplicación, agregue el secreto y copie el archivo de flujo de trabajo en su repositorio usted mismo. Use esta ruta cuando no ejecute Claude Code localmente, cuando el comando falle o cuando desee control total de los archivos de flujo de trabajo23* **Configuración manual**: instala la app, agrega el secreto y copia el archivo de workflow en tu repositorio tú mismo. Usa esta opción cuando no ejecutes Claude Code localmente, cuando el comando falle o cuando quieras tener control total de los archivos de workflow

24 24 

25Para cualquiera de las rutas, necesita acceso de administrador al repositorio.25Para cualquiera de las dos opciones, necesitas acceso de administrador al repositorio.

26 26 

27### Configuración rápida27### Configuración rápida

28 28 

29`/install-github-app` funciona solo con repositorios de github.com. Si el repositorio remoto de git está en gitlab.com o bitbucket.org, el comando imprime un aviso y sale en lugar de iniciar la configuración. Para ejecutar Claude Code desde canalizaciones de GitLab, consulte [Claude Code GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md).29`/install-github-app` funciona solo con repositorios de github.com. Si el remoto de git de tu repositorio está en gitlab.com o bitbucket.org, el comando muestra un aviso y termina en lugar de iniciar la configuración. Para ejecutar Claude Code desde pipelines de GitLab, consulta [Claude Code GitLab CI/CD](https://code.claude.com/docs/es/gitlab-ci-cd.md).

30 30 

31Antes de comenzar, instale la [GitHub CLI](https://cli.github.com) y auténtiquese con `gh auth login`. Claude Code la verifica y le advierte si falta.31Antes de empezar, instala la [GitHub CLI](https://cli.github.com) y autentícala con `gh auth login`. Claude Code verifica que esté instalada y te advierte si falta.

32 32 

33Abra `claude` en el repositorio que desea conectar, ejecute `/install-github-app` y siga las indicaciones. Claude Code instala la GitHub App de Claude, luego configura un secreto de autenticación para los flujos de trabajo:33Abre `claude` en el repositorio que quieres conectar, ejecuta `/install-github-app` y sigue las indicaciones. Claude Code instala la Claude GitHub App y luego configura un secreto de autenticación para los workflows:

34 34 

35* Si Claude Code ya tiene una clave API, reutiliza esa clave y ofrece mantener el secreto `ANTHROPIC_API_KEY` existente del repositorio si ya está configurado35* Si Claude Code ya tiene una clave de API, reutiliza esa clave y ofrece conservar el secreto `ANTHROPIC_API_KEY` existente del repositorio si ya hay uno configurado

36* De lo contrario, elija entre crear un token de larga duración con su suscripción de Claude y pegar una clave API36* De lo contrario, elige entre crear un token de larga duración con tu suscripción de Claude y pegar una clave de API

37 37 

38Claude Code guarda la credencial como un secreto del repositorio, denominado `ANTHROPIC_API_KEY` para una clave API o `CLAUDE_CODE_OAUTH_TOKEN` para un token de suscripción.38Claude Code guarda la credencial como un secreto del repositorio, llamado `ANTHROPIC_API_KEY` para una clave de API o `CLAUDE_CODE_OAUTH_TOKEN` para un token de suscripción.

39 39 

40Claude Code luego inserta una rama con los archivos de flujo de trabajo que selecciona, ya configurados para usar ese secreto, y abre GitHub en su navegador con una solicitud de extracción lista para crear. Cree y fusione esa solicitud de extracción, y `@claude` funciona en el repositorio.40Después, Claude Code sube una rama con los archivos de workflow que selecciones, ya configurados para usar ese secreto, y abre GitHub en tu navegador con un pull request listo para crear. Crea y fusiona ese pull request, y `@claude` funcionará en el repositorio.

41 41 

42Para detener la configuración a mitad de camino, presione Esc. Un paso ya en progreso se termina, y ningún paso posterior comienza. El mensaje de cierre enumera lo que ya sucedió en el repositorio, como una rama insertada o un secreto guardado.42Para detener la configuración a medio camino, presiona Esc. Un paso que ya esté en curso termina, y no se inicia ningún paso posterior. El mensaje final enumera lo que ya ocurrió en el repositorio, como una rama subida o un secreto guardado.

43 43 

44Si selecciona el flujo de trabajo de revisión, Claude publica cada revisión en la solicitud de extracción misma, como un comentario en línea en cada problema que encuentra o como un comentario de resumen cuando no encuentra ninguno. Claude omite algunas solicitudes de extracción, como borradores. El [ejemplo de flujo de trabajo de revisión](#run-a-skill) usa la misma skill y las enumera. Antes de v2.1.229, Claude escribía su revisión solo en el registro de ejecución del flujo de trabajo.44Si seleccionas el workflow de revisión, Claude publica cada revisión en el propio pull request, como un comentario en línea en cada problema que encuentra o como un único comentario de resumen cuando no encuentra ninguno. Claude omite algunos pull requests, como los borradores. El [ejemplo de workflow de revisión](#run-a-skill) usa el mismo skill y los enumera. Antes de la v2.1.229, Claude escribía su revisión solo en el registro de ejecución del workflow.

45 45 

46Para actualizar un flujo de trabajo de revisión que una versión anterior generó, haga una de las siguientes:46Para actualizar un workflow de revisión generado por una versión anterior, haz una de las siguientes acciones:

47 47 

48* Ejecute `/install-github-app` nuevamente. Cuando el repositorio ya tiene un `claude.yml`, seleccione **Actualizar archivo de flujo de trabajo con la última versión**. Claude Code inserta copias nuevas de los archivos de flujo de trabajo en una rama nueva y abre la solicitud de extracción, igual que una primera instalación.48* Ejecuta `/install-github-app` de nuevo. Cuando el repositorio ya tenga un `claude.yml`, selecciona **Update workflow file with latest version**. Claude Code sube copias nuevas de los archivos de workflow a una rama nueva y abre el pull request, igual que en una primera instalación.

49* Agregue el argumento `--comment` y la línea `claude_args` del [ejemplo de flujo de trabajo de revisión](#run-a-skill) al archivo registrado usted mismo, lo que mantiene cualquier otra edición que haya realizado.49* Agrega tú mismo el argumento `--comment` y la línea `claude_args` del [ejemplo de workflow de revisión](#run-a-skill) al archivo confirmado en el repositorio, lo que conserva cualquier otra edición que le hayas hecho.

50 50 

51Después de instalar la GitHub App, Claude Code pregunta si desea continuar con la configuración de GitHub Actions. Elija **Omitir por ahora** para detener solo con la GitHub App instalada. Ejecute `/install-github-app` nuevamente más tarde para terminar los pasos de flujo de trabajo y secreto.51Después de instalar la GitHub App, Claude Code pregunta si quieres continuar con la configuración de GitHub Actions. Elige **Skip for now** para detenerte con solo la GitHub App instalada. Ejecuta `/install-github-app` de nuevo más tarde para completar los pasos del workflow y del secreto.

52 52 

53> [!NOTE]53> [!NOTE]

54>54>

55> * Cuando instala la GitHub App, le otorga varios permisos. Consulte [Permisos de GitHub App](#github-app-permissions) para el conjunto completo55> * Cuando instalas la GitHub App, le otorgas varios permisos. Consulta [Permisos de la GitHub App](#github-app-permissions) para ver el conjunto completo

56> * La configuración rápida funciona con la API de Claude y las suscripciones de Claude. Si usa Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry, consulte [Usar Claude Code GitHub Actions con proveedores en la nube](https://code.claude.com/docs/es/github-actions-cloud-providers.md)56> * La configuración rápida funciona con la Claude API y con las suscripciones de Claude. Si usas Amazon Bedrock, Agent Platform de Google Cloud o Microsoft Foundry, consulta [Usar GitHub Actions de Claude Code con proveedores de nube](https://code.claude.com/docs/es/github-actions-cloud-providers.md)

57 57 

58### Configuración manual58### Configuración manual

59 59 

60Para configurar la GitHub Action de Claude Code sin ejecutar `/install-github-app`, instale la aplicación, agregue un secreto y copie un archivo de flujo de trabajo usted mismo:60Para configurar la GitHub Action de Claude Code sin ejecutar `/install-github-app`, instala la app, agrega un secreto y copia un archivo de workflow tú mismo:

61 61 

62**1. Instale la GitHub App de Claude**62**1. Instala la Claude GitHub App**

63 63 

64Instale la [GitHub App de Claude](https://github.com/apps/claude) en su repositorio. La GitHub Action de Claude Code depende de tres de los permisos de la aplicación:64Instala la [Claude GitHub App](https://github.com/apps/claude) en tu repositorio. La GitHub Action de Claude Code depende de tres de los permisos de la app:

65 65 

66* **Contents**: lectura y escritura, para que Claude pueda modificar archivos del repositorio66* **Contents**: lectura y escritura, para que Claude pueda modificar archivos del repositorio

67* **Issues**: lectura y escritura, para que Claude pueda responder a problemas67* **Issues**: lectura y escritura, para que Claude pueda responder a issues

68* **Pull requests**: lectura y escritura, para que Claude pueda crear PR e insertar cambios68* **Pull requests**: lectura y escritura, para que Claude pueda crear PRs y subir cambios

69 69 

70Durante la instalación, también otorga permisos que otras características de Claude usan. Consulte [Permisos de GitHub App](#github-app-permissions) para el conjunto completo.70Durante la instalación, también otorgas permisos que usan otras funciones de Claude. Consulta [Permisos de la GitHub App](#github-app-permissions) para ver el conjunto completo.

71 71 

72**2. Agregue un secreto de autenticación**72**2. Agrega un secreto de autenticación**

73 73 

74Agregue uno de los siguientes secretos a su repositorio, dependiendo de cómo se autentique. Consulte la guía de GitHub sobre [uso de secretos en GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).74Agrega uno de los siguientes secretos a tu repositorio, según cómo te autentiques. Consulta la guía de GitHub sobre [cómo usar secretos en GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).

75 75 

76* `ANTHROPIC_API_KEY`: una clave API de Claude de la [Consola de Claude](https://platform.claude.com)76* `ANTHROPIC_API_KEY`: una clave de la Claude API de la [Claude Console](https://platform.claude.com)

77* `CLAUDE_CODE_OAUTH_TOKEN`: un token OAuth que se autentica con su suscripción de Claude, disponible en planes Pro, Max, Team y Enterprise. Genere uno ejecutando `claude setup-token` localmente. Consulte [Generar un token de larga duración](https://code.claude.com/docs/es/authentication.md#generate-a-long-lived-token)77* `CLAUDE_CODE_OAUTH_TOKEN`: un token de OAuth que se autentica con tu suscripción de Claude, disponible en los planes Pro, Max, Team y Enterprise. Genera uno ejecutando `claude setup-token` localmente. Consulta [Generar un token de larga duración](https://code.claude.com/docs/es/authentication.md#generate-a-long-lived-token)

78 78 

79En archivos de flujo de trabajo, pase el secreto a la entrada correspondiente: `anthropic_api_key` para una clave API, o `claude_code_oauth_token` para un token OAuth.79En los archivos de workflow, pasa el secreto a la entrada correspondiente: `anthropic_api_key` para una clave de API, o `claude_code_oauth_token` para un token de OAuth.

80 80 

81**3. Copie el archivo de flujo de trabajo**81**3. Copia el archivo de workflow**

82 82 

83Copie [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) en el directorio `.github/workflows/` de su repositorio. El archivo es un flujo de trabajo funcional, no solo un ejemplo. Tal como está confirmado, Claude responde cada vez que alguien menciona `@claude` en un problema o solicitud de extracción, autenticándose con el secreto `ANTHROPIC_API_KEY`. Si agregó `CLAUDE_CODE_OAUTH_TOKEN` en su lugar, cambie la línea `anthropic_api_key` del flujo de trabajo a `claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`.83Copia [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) en el directorio `.github/workflows/` de tu repositorio. El archivo es un workflow funcional, no solo un ejemplo. Tal como está, Claude responde cada vez que alguien menciona `@claude` en un issue o pull request, autenticándose con el secreto `ANTHROPIC_API_KEY`. Si en su lugar agregaste `CLAUDE_CODE_OAUTH_TOKEN`, cambia la línea `anthropic_api_key` del workflow por `claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`.

84 84 

85> [!TIP]85> [!TIP]

86>86>

87> Después de la configuración, pruebe la GitHub Action de Claude Code etiquetando `@claude` en un comentario de problema o PR.87> Después de la configuración, prueba la GitHub Action de Claude Code etiquetando a `@claude` en un comentario de un issue o PR.

88 88 

89### Configurar para una organización89### Configurar para una organización

90 90 

91Con la configuración rápida o manual, configura un repositorio a la vez. Para implementar la GitHub Action de Claude Code en toda una organización:91Con la configuración rápida o la manual, configuras un repositorio a la vez. Para implementar la GitHub Action de Claude Code en toda una organización:

92 92 

93* Instale la [GitHub App de Claude](https://github.com/apps/claude) una vez a nivel de organización, eligiendo todos los repositorios o una lista seleccionada93* Instala la [Claude GitHub App](https://github.com/apps/claude) una sola vez a nivel de organización, eligiendo todos los repositorios o una lista seleccionada

94* Almacene el secreto de autenticación como un secreto de Actions a nivel de organización para que cada repositorio no necesite su propia copia94* Guarda el secreto de autenticación como un secreto de Actions a nivel de organización para que cada repositorio no necesite su propia copia

95* Agregue el archivo de flujo de trabajo a cada repositorio que deba ejecutar la GitHub Action de Claude Code, o defina el trabajo una vez como un [flujo de trabajo reutilizable](https://docs.github.com/en/actions/using-workflows/reusing-workflows) que cada repositorio llama95* Agrega el archivo de workflow a cada repositorio que deba ejecutar la GitHub Action de Claude Code, o define el job una sola vez como un [workflow reutilizable](https://docs.github.com/en/actions/using-workflows/reusing-workflows) al que llame cada repositorio

96 96 

97Para un secreto compartido entre repositorios, auténtiquese con una clave API de la [Consola de Claude](https://platform.claude.com) en lugar de un token OAuth, ya que un token OAuth está vinculado a la suscripción de la persona que ejecutó `claude setup-token`.97Para un secreto compartido entre repositorios, autentícate con una clave de API de la [Claude Console](https://platform.claude.com) en lugar de un token de OAuth, ya que un token de OAuth está vinculado a la suscripción de la persona que ejecutó `claude setup-token`.

98 98 

99Para evitar almacenar un secreto de larga duración en absoluto, auténtiquese a través de federación de identidad de carga de trabajo, donde la GitHub Action de Claude Code intercambia el token OpenID Connect (OIDC) de GitHub del flujo de trabajo por acceso a la API de Claude a través de una cuenta de servicio de la Consola de Claude. Establezca estas entradas:99Para evitar por completo guardar un secreto de larga duración, autentícate mediante federación de identidades de carga de trabajo, en la que la GitHub Action de Claude Code intercambia el token de OpenID Connect (OIDC) de GitHub del workflow por acceso a la Claude API a través de una cuenta de servicio de la Claude Console. Configura estas entradas:

100 100 

101* `anthropic_federation_rule_id`: el ID de la regla de federación, `fdrl_...`101* `anthropic_federation_rule_id`: el ID de la regla de federación, `fdrl_...`

102* `anthropic_organization_id`: su ID de organización de Anthropic102* `anthropic_organization_id`: el ID de tu organización de Anthropic

103* `anthropic_service_account_id`: el ID de la cuenta de servicio, `svac_...`. Opcional, ya que la regla de federación que crea en la Consola ya apunta a una cuenta de servicio103* `anthropic_service_account_id`: el ID de la cuenta de servicio, `svac_...`. Es opcional, ya que la regla de federación que creas en la Console ya apunta a una cuenta de servicio

104* `anthropic_workspace_id`: el ID del espacio de trabajo, `wrkspc_...`. Opcional cuando la regla de federación apunta a un único espacio de trabajo104* `anthropic_workspace_id`: el ID del espacio de trabajo, `wrkspc_...`. Es opcional cuando la regla de federación apunta a un único espacio de trabajo

105 105 

106Otorgue al flujo de trabajo el permiso `id-token: write`, que la GitHub Action de Claude Code necesita para el intercambio de federación incluso cuando pasa su propio `github_token`. Consulte la [guía de configuración de la GitHub Action de Claude Code](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md) para la configuración del lado de la Consola.106Otorga al workflow el permiso `id-token: write`, que la GitHub Action de Claude Code necesita para el intercambio de federación incluso cuando pasas tu propio `github_token`. Consulta la [guía de configuración de la GitHub Action de Claude Code](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md) para la configuración del lado de la Console.

107 107 

108Para preguntas sobre manejo de datos y retención en una revisión de seguridad, consulte [uso de datos](https://code.claude.com/docs/es/data-usage.md) y [seguridad](https://code.claude.com/docs/es/security.md).108Para preguntas sobre el manejo y la retención de datos en una revisión de seguridad, consulta [uso de datos](https://code.claude.com/docs/es/data-usage.md) y [seguridad](https://code.claude.com/docs/es/security.md).

109 109 

110### Desinstalar110### Desinstalar

111 111 

112Para eliminar la GitHub Action de Claude Code, deshaga cada parte de la configuración que se aplique a su instalación:112Para quitar la GitHub Action de Claude Code, deshaz cada parte de la configuración que aplique a tu instalación:

113 113 

114* **Archivos de flujo de trabajo**: elimine los flujos de trabajo que usan `anthropics/claude-code-action` de `.github/workflows/`. Si usó la configuración rápida, busque `claude.yml` y, si seleccionó el flujo de trabajo de revisión, `claude-code-review.yml`. Con los flujos de trabajo eliminados, la GitHub Action de Claude Code ya no se ejecuta114* **Archivos de workflow**: elimina de `.github/workflows/` los workflows que usan `anthropics/claude-code-action`. Si usaste la configuración rápida, busca `claude.yml` y, si seleccionaste el workflow de revisión, `claude-code-review.yml`. Una vez eliminados los workflows, la GitHub Action de Claude Code deja de ejecutarse

115* **Secretos**: elimine el secreto `ANTHROPIC_API_KEY` o `CLAUDE_CODE_OAUTH_TOKEN` del repositorio, y de los secretos de Actions a nivel de organización si lo [compartió entre repositorios](#set-up-for-an-organization). Si elimina un secreto, la credencial que contenía sigue siendo válida. Para retirar completamente una clave API, también elimine la clave en la [Consola de Claude](https://platform.claude.com)115* **Secretos**: elimina el secreto `ANTHROPIC_API_KEY` o `CLAUDE_CODE_OAUTH_TOKEN` del repositorio, y de los secretos de Actions a nivel de organización si lo [compartiste entre repositorios](#set-up-for-an-organization). Si eliminas un secreto, la credencial que contenía sigue siendo válida. Para retirar una clave de API por completo, elimina también la clave en la [Claude Console](https://platform.claude.com)

116* **GitHub App**: desinstale la GitHub App de Claude en la configuración de su repositorio u organización en GitHub Apps, pero solo si no la usa para otra característica de Claude, como Code Review o auto-fix web116* **GitHub App**: desinstala la Claude GitHub App en la configuración de tu repositorio u organización, en GitHub Apps, pero solo si no la usas para otra función de Claude, como Code Review o la corrección automática web

117 117 

118Si configuró un [proveedor en la nube](https://code.claude.com/docs/es/github-actions-cloud-providers.md), también elimine los secretos del proveedor, como `AWS_ROLE_TO_ASSUME`, los secretos `GCP_*` o los secretos `AZURE_*`, y desinstale la GitHub App personalizada junto con sus secretos `APP_ID` y `APP_PRIVATE_KEY`.118Si configuraste un [proveedor de nube](https://code.claude.com/docs/es/github-actions-cloud-providers.md), elimina también los secretos del proveedor, como `AWS_ROLE_TO_ASSUME`, los secretos `GCP_*` o los secretos `AZURE_*`, y desinstala la GitHub App personalizada junto con sus secretos `APP_ID` y `APP_PRIVATE_KEY`.

119 119 

120### Permisos de GitHub App120### Permisos de la GitHub App

121 121 

122La [GitHub App de Claude](https://github.com/apps/claude) es compartida por cada característica de Claude que se integra con GitHub, incluida la GitHub Action de Claude Code, [Code Review](https://code.claude.com/docs/es/code-review.md) y [auto-fix para solicitudes de extracción](https://code.claude.com/docs/es/claude-code-on-the-web.md#auto-fix-pull-requests) en Claude Code en la web. Una GitHub App tiene un conjunto de permisos único que cubre todas sus características, por lo que el conjunto incluye algunos permisos que la GitHub Action de Claude Code no usa.122La [Claude GitHub App](https://github.com/apps/claude) es compartida por todas las funciones de Claude que se integran con GitHub, incluidas la GitHub Action de Claude Code, [Code Review](https://code.claude.com/docs/es/code-review.md) y la [corrección automática de pull requests](https://code.claude.com/docs/es/claude-code-on-the-web.md#auto-fix-pull-requests) en sesiones en la nube. Una GitHub App tiene un único conjunto de permisos que cubre todas sus funciones, por lo que el conjunto incluye algunos permisos que la GitHub Action de Claude Code no usa.

123 123 

124Cuando instala la aplicación, otorga los siguientes permisos:124Cuando instalas la app, otorgas los siguientes permisos:

125 125 

126| Permiso | Acceso |126| Permiso | Acceso |

127| - | - |127| - | - |


139| Statuses | Lectura |139| Statuses | Lectura |

140| Workflows | Lectura y escritura |140| Workflows | Lectura y escritura |

141 141 

142El conjunto de permisos también puede cambiar antes de las características que lo usan. Cuando la aplicación solicita un permiso que no tenía antes, GitHub solicita al propietario de la cuenta que lo apruebe, un propietario de la organización para una instalación de organización, y la instalación mantiene sus permisos antiguos hasta que lo hagan. Por ejemplo, cuando el acceso de Actions cambia de lectura a escritura, la aplicación puede volver a ejecutar flujos de trabajo en lugar de solo ver ejecuciones y registros, por lo que GitHub le pide al propietario que apruebe el cambio.142El conjunto de permisos también puede cambiar antes que las funciones que lo usan. Cuando la app solicita un permiso que no tenía antes, GitHub le pide al propietario de la cuenta que lo apruebe, a un propietario de la organización en el caso de una instalación de organización, y la instalación conserva sus permisos anteriores hasta que lo haga. Por ejemplo, cuando el acceso a Actions cambia de lectura a escritura, la app puede volver a ejecutar workflows en lugar de solo ver ejecuciones y registros, por lo que GitHub le pide al propietario que apruebe el cambio.

143 143 

144Cuando instala la aplicación, acepta su conjunto de permisos completo. GitHub no le permite aceptar un subconjunto. Si su organización requiere solo los permisos que usa la GitHub Action de Claude Code, cree una GitHub App personalizada con Contents, Issues y Pull requests en su lugar, siguiendo la [guía de configuración de la GitHub Action de Claude Code](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md). Una aplicación personalizada cubre solo la GitHub Action de Claude Code. Code Review y auto-fix web aún requieren la aplicación oficial.144Cuando instalas la app, aceptas su conjunto completo de permisos. GitHub no te permite aceptar solo una parte. Si tu organización exige únicamente los permisos que usa la GitHub Action de Claude Code, crea en su lugar una GitHub App personalizada con Contents, Issues y Pull requests, siguiendo la [guía de configuración de la GitHub Action de Claude Code](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md). Una app personalizada cubre solo la GitHub Action de Claude Code. Code Review y la corrección automática web siguen requiriendo la app oficial.

145 145 

146Para detalles sobre cómo la GitHub Action de Claude Code limita lo que Claude puede hacer con estos permisos, consulte la [documentación de seguridad](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).146Para obtener detalles sobre cómo la GitHub Action de Claude Code limita lo que Claude puede hacer con estos permisos, consulta la [documentación de seguridad](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).

147 147 

148## Modos interactivo y de automatización148## Modos interactivo y de automatización

149 149 


241 - uses: anthropics/claude-code-action@v1241 - uses: anthropics/claude-code-action@v1

242 with:242 with:

243 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}243 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

244 plugin_marketplaces: "https://github.com/anthropics/claude-code.git"244 plugin_marketplaces: "https://github.com/anthropics/claude-plugins-official.git"

245 plugins: "code-review@claude-code-plugins"245 plugins: "code-review@claude-plugins-official"

246 prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"246 prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"

247 claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'247 claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'

248```248```

Details

221 221 

222Si las revisiones o sesiones en la nube alojadas por Anthropic se agotan, su instancia de GHES puede no ser accesible desde la infraestructura de Anthropic. Confirme que su firewall permite conexiones entrantes desde las [direcciones IP de salida](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) de Anthropic. Las sesiones en un [entorno autohospedado](https://code.claude.com/docs/es/self-hosted-environments) alcanzan GHES desde dentro de su red, así que cuando uno de ellos no pueda clonar, verifique la ruta de red propia del ejecutor en su lugar. Para el selector de repositorio y otros flujos previos a la sesión alojados, consulte [Requisitos de red](#network-requirements).222Si las revisiones o sesiones en la nube alojadas por Anthropic se agotan, su instancia de GHES puede no ser accesible desde la infraestructura de Anthropic. Confirme que su firewall permite conexiones entrantes desde las [direcciones IP de salida](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) de Anthropic. Las sesiones en un [entorno autohospedado](https://code.claude.com/docs/es/self-hosted-environments) alcanzan GHES desde dentro de su red, así que cuando uno de ellos no pueda clonar, verifique la ruta de red propia del ejecutor en su lugar. Para el selector de repositorio y otros flujos previos a la sesión alojados, consulte [Requisitos de red](#network-requirements).

223 223 

224### La prueba de conexión se supera, pero una segunda prueba falla

225 

226La segunda prueba se conecta a tu instancia de GHES de la misma forma que lo hacen las sesiones en la nube alojadas por Anthropic. Busca tu mensaje para saber si debes revisar tu firewall o volver a intentarlo:

227 

228* **`Connection test passed, but a second test failed.`**: si tu instancia está detrás de un firewall, permite todas las [direcciones IP de salida](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) de Anthropic, porque una prueba de conexión puede superarse incluso cuando tu firewall bloquea algunas de ellas. También puedes volver a intentarlo en unos minutos.

229* **`Connection test passed, but a second test could not run.`**: vuelve a intentarlo en unos minutos.

230 

231Para volver a probar, abre el menú **More options** de la conexión en [**Organization settings > Git providers**](https://claude.ai/admin-settings/source-control#github-enterprise) y selecciona **Test connection**.

232 

224### El inicio de sesión falla con `Unable to get organization UUID`233### El inicio de sesión falla con `Unable to get organization UUID`

225 234 

226Claude Code no pudo leer una organización de claude.ai desde sus credenciales. Inicie sesión con `/login` usando una cuenta en su organización de Team o Enterprise, ya que la compatibilidad con GitHub Enterprise Server se limita a esos planes. Consulte [Unable to get organization UUID](https://code.claude.com/docs/es/claude-code-on-the-web.md#unable-to-get-organization-uuid) para conocer las causas y los otros mensajes que produce este estado.235Claude Code no pudo leer una organización de claude.ai desde sus credenciales. Inicie sesión con `/login` usando una cuenta en su organización de Team o Enterprise, ya que la compatibilidad con GitHub Enterprise Server se limita a esos planes. Consulte [Unable to get organization UUID](https://code.claude.com/docs/es/claude-code-on-the-web.md#unable-to-get-organization-uuid) para conocer las causas y los otros mensajes que produce este estado.

hooks-guide.md +68 −68

Details

75 75 

76## Qué puedes automatizar76## Qué puedes automatizar

77 77 

78Los hooks te permiten ejecutar código en puntos clave del ciclo de vida de Claude Code: formatear archivos después de ediciones, bloquear comandos antes de que se ejecuten, enviar notificaciones cuando Claude necesita entrada, inyectar contexto al inicio de la sesión, y más. Para la lista completa de eventos de hook, consulta la [referencia de Hooks](https://code.claude.com/docs/es/hooks.md#hook-lifecycle).78Los hooks te permiten ejecutar código en puntos clave del ciclo de vida de Claude Code: formatear archivos después de las ediciones, bloquear comandos antes de que se ejecuten, enviar notificaciones cuando Claude necesita tu intervención, inyectar contexto al inicio de la sesión y más. Para ver la lista completa de eventos de hooks, consulta la [referencia de Hooks](https://code.claude.com/docs/es/hooks.md#hook-lifecycle).

79 79 

80Cada ejemplo incluye un bloque de configuración listo para usar que añades a un [archivo de configuración](#configure-hook-location).80Cada ejemplo incluye un bloque de configuración listo para usar que agregas a un [archivo de configuración](#configure-hook-location).

81 81 

82Para un ejemplo de producción de hooks que ejecutan una revisión de modelo separada y alimentan los hallazgos de vuelta a la sesión, consulta [cómo el plugin `security-guidance` se integra con Claude Code](https://code.claude.com/docs/es/security-guidance#how-the-plugin-integrates-with-claude-code).82Para ver un ejemplo en producción de hooks que ejecutan una revisión con un modelo separado y devuelven los hallazgos a la sesión, consulta [cómo se integra el plugin `security-guidance` con Claude Code](https://code.claude.com/docs/es/security-guidance#how-the-plugin-integrates-with-claude-code).

83 83 

84### Recibe notificaciones cuando Claude necesita entrada84### Recibe una notificación cuando Claude necesite tu intervención

85 85 

86Obtén una notificación de escritorio cada vez que Claude termine de trabajar y necesite tu entrada, para que puedas cambiar a otras tareas sin verificar la terminal.86Recibe una notificación de escritorio cada vez que Claude termine de trabajar y necesite tu intervención, para que puedas cambiar a otras tareas sin revisar la terminal.

87 87 

88Este hook usa el evento `Notification`, que Claude Code activa cuando Claude está esperando entrada o permiso. Consulta [cuándo se activa cada tipo de notificación](https://code.claude.com/docs/es/hooks.md#notification) para el momento exacto.88Este hook usa el evento `Notification`, que Claude Code dispara cuando Claude está esperando una entrada o un permiso. Consulta [cuándo se dispara cada tipo de notificación](https://code.claude.com/docs/es/hooks.md#notification) para conocer el momento exacto.

89 89 

90Cada pestaña a continuación usa el comando de notificación nativo de la plataforma. Añade esto a `~/.claude/settings.json`:90Cada pestaña a continuación usa el comando de notificación nativo de la plataforma. Agrega esto a `~/.claude/settings.json`:

91 91 

92**macOS**92**macOS**

93 93 


111 111 

112> **Si no aparece ninguna notificación**112> **Si no aparece ninguna notificación**

113>113>

114> `osascript` enruta notificaciones a través de la aplicación Script Editor integrada. Si Script Editor no tiene permiso de notificación, el comando falla silenciosamente, y macOS no te pedirá que lo otorgues.114> `osascript` envía las notificaciones a través de la app integrada Script Editor. Si Script Editor no tiene permiso para mostrar notificaciones, el comando falla en silencio y macOS no te pedirá que lo concedas.

115>115>

116> Ejecuta esto en Terminal una vez para que Script Editor aparezca en tu configuración de notificaciones:116> Ejecuta esto en Terminal una vez para que Script Editor aparezca en tu configuración de notificaciones:

117>117>


119> osascript -e 'display notification "test"'119> osascript -e 'display notification "test"'

120> ```120> ```

121>121>

122> Nada aparecerá aún. Abre **Configuración del Sistema > Notificaciones**, encuentra **Script Editor** en la lista, y activa **Permitir notificaciones**. Ejecuta el comando de nuevo para confirmar que aparece la notificación de prueba.122> Todavía no aparecerá nada. Abre **System Settings > Notifications**, busca **Script Editor** en la lista y activa **Allow Notifications**. Ejecuta el comando de nuevo para confirmar que aparece la notificación de prueba.

123 123 

124**Linux**124**Linux**

125 125 


143 143 

144> **Si no aparece ninguna notificación**144> **Si no aparece ninguna notificación**

145>145>

146> `notify-send` necesita un demonio de notificación de escritorio, que los servidores sin interfaz gráfica, sesiones SSH y la mayoría de contenedores no tienen. Prueba el comando directamente primero:146> `notify-send` necesita un daemon de notificaciones de escritorio, que los servidores sin interfaz gráfica, las sesiones SSH y la mayoría de los contenedores no tienen. Primero prueba el comando directamente:

147>147>

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

149> notify-send 'Claude Code' 'test'149> notify-send 'Claude Code' 'test'

150> ```150> ```

151>151>

152> Si el comando no se encuentra, instala el paquete `libnotify-bin` en Debian y Ubuntu, o el equivalente de tu distribución.152> Si no se encuentra el comando, instala el paquete `libnotify-bin` en Debian y Ubuntu, o el equivalente de tu distribución.

153 153 

154**Windows (PowerShell)**154**Windows (PowerShell)**

155 155 


171}171}

172```172```

173 173 

174> **Si no aparece ningún diálogo**174> **Si no aparece ningún cuadro de diálogo**

175>175>

176> Este comando abre un cuadro de diálogo en lugar de una notificación en la esquina de tu pantalla, por lo que el diálogo puede abrirse detrás de tu ventana de terminal. Prueba el comando directamente en PowerShell primero.176> Este comando abre un cuadro de diálogo en lugar de una notificación en la esquina de tu pantalla, por lo que el cuadro de diálogo puede abrirse detrás de la ventana de tu terminal. Primero prueba el comando directamente en PowerShell.

177>177>

178> Si ejecutas Claude Code dentro de WSL, `powershell.exe` debe estar disponible en tu `PATH` a través de interoperabilidad de Windows.178> Si ejecutas Claude Code dentro de WSL, `powershell.exe` debe estar disponible en tu `PATH` mediante la interoperabilidad de Windows.

179 179 

180El matcher vacío se activa en todos los tipos de notificación. Para activarse solo en eventos específicos, establécelo en uno de estos valores:180El `matcher` vacío se dispara con todos los tipos de notificación. Para que se dispare solo con eventos específicos, establécelo en uno de estos valores:

181 181 

182| Matcher | Se activa cuando |182| Matcher | Se dispara cuando |

183| :- | :- |183| :- | :- |

184| `permission_prompt` | Claude necesita que apruebes un uso de herramienta o una [solicitud de red](https://code.claude.com/docs/es/sandboxing.md#network-isolation) de un comando en sandbox, y el aviso ha esperado aproximadamente seis segundos |184| `permission_prompt` | Claude necesita que apruebes el uso de una herramienta o la [solicitud de red](https://code.claude.com/docs/es/sandboxing.md#network-isolation) de un comando en sandbox, y la solicitud de permiso lleva unos seis segundos esperando |

185| `idle_prompt` | Claude terminó de responder hace aproximadamente 60 segundos y no has escrito desde entonces |185| `idle_prompt` | Claude terminó de responder hace unos 60 segundos y no has escrito nada desde entonces |

186| `auth_success` | La autenticación se completa |186| `auth_success` | Se completa la autenticación |

187| `elicitation_dialog` | Un servidor MCP abre un formulario de elicitación y no has escrito durante aproximadamente seis segundos |187| `elicitation_dialog` | Un servidor MCP abre un formulario de elicitación y no has escrito nada durante unos seis segundos |

188| `elicitation_url_dialog` | Un servidor MCP te pide que abras una URL en el navegador y no has escrito durante aproximadamente seis segundos |188| `elicitation_url_dialog` | Un servidor MCP te pide que abras una URL en el navegador y no has escrito nada durante unos seis segundos |

189| `elicitation_complete` | Un servidor MCP reporta que una [elicitación en modo URL](https://code.claude.com/docs/es/hooks.md#elicitation-input) está completa |189| `elicitation_complete` | Un servidor MCP informa que una [elicitación en modo URL](https://code.claude.com/docs/es/hooks.md#elicitation-input) está completa |

190| `elicitation_response` | Una respuesta de elicitación de MCP se envía de vuelta al servidor |190| `elicitation_response` | Se envía de vuelta al servidor una respuesta de elicitación MCP |

191| `agent_needs_input` | Una sesión en segundo plano comienza a esperar tu entrada mientras la [vista de agente](https://code.claude.com/docs/es/agent-view.md) está abierta. También se activa cuando una sesión de terminal te muestra una [pregunta de configuración de terminal de un compañero de equipo de agente](https://code.claude.com/docs/es/agent-teams.md#choose-a-display-mode) o el aviso del modo automático sobre [cargos de solicitud de clasificador](https://code.claude.com/docs/es/auto-mode-classifier-billing.md) y no has escrito durante aproximadamente seis segundos |191| `agent_needs_input` | Una sesión en segundo plano empieza a esperar tu intervención mientras la [vista de agentes](https://code.claude.com/docs/es/agent-view.md) está abierta. También se dispara cuando una sesión de terminal te muestra la [pregunta de configuración de terminal de un compañero del equipo de agentes](https://code.claude.com/docs/es/agent-teams.md#choose-a-display-mode) o el aviso del modo automático sobre [cargos por solicitudes del clasificador](https://code.claude.com/docs/es/auto-mode-classifier-billing.md) y no has escrito nada durante unos seis segundos |

192| `agent_completed` | Una sesión en segundo plano se completa o falla. Se activa solo mientras la [vista de agente](https://code.claude.com/docs/es/agent-view.md) está abierta |192| `agent_completed` | Una sesión en segundo plano termina o falla. Solo se dispara mientras la [vista de agentes](https://code.claude.com/docs/es/agent-view.md) está abierta |

193| `quota_auto_resume_fired` | Claude Code continúa tu tarea después de que un límite de uso de claude.ai la pausó: en el reinicio, o antes cuando algo que haces en Claude Code durante la espera, como añadir créditos de uso, actualizar tu plan o cambiar modelos, hace que el uso esté disponible de nuevo, con la [excepción de configuración de modelo](https://code.claude.com/docs/es/interactive-mode.md#wait-for-a-usage-limit-to-reset) |193| `quota_auto_resume_fired` | Claude Code continúa tu tarea después de que un límite de uso de claude.ai la pausara: al restablecerse, o antes cuando algo que haces en Claude Code durante la espera, como agregar créditos de uso, mejorar tu plan o cambiar de modelo, vuelve a hacer disponible el uso, con la [excepción del ajuste de modelo](https://code.claude.com/docs/es/interactive-mode.md#wait-for-a-usage-limit-to-reset) |

194| `quota_auto_resume_stale` | Un límite de uso de claude.ai se reinició mientras tu computadora dormía durante más de aproximadamente 30 minutos. Claude Code espera a que presiones `Enter` en lugar de continuar. Después de un sueño más corto continúa y activa `quota_auto_resume_fired` en su lugar |194| `quota_auto_resume_stale` | Un límite de uso de claude.ai se restableció mientras tu computadora estuvo en reposo durante más de unos 30 minutos. Claude Code espera a que presiones `Enter` en lugar de continuar. Tras un reposo más corto, continúa y dispara `quota_auto_resume_fired` en su lugar |

195| `quota_auto_resume_disabled` | Claude Code termina su espera por un límite de uso de claude.ai sin continuar tu tarea: [`autoContinueAtUsageLimit`](https://code.claude.com/docs/es/settings-reference#autocontinueatusagelimit) se desactivó o el reinicio se movió más de 24 horas durante una espera que Claude Code inició por sí solo, la tarea continuada siguió golpeando el límite, o la continuación fue bloqueada antes de llegar al modelo. No se activa cuando presionas `Esc` o `Ctrl+C`, o seleccionas **No continuar automáticamente** |195| `quota_auto_resume_disabled` | Claude Code termina su espera de un límite de uso de claude.ai sin continuar tu tarea: [`autoContinueAtUsageLimit`](https://code.claude.com/docs/es/settings-reference#autocontinueatusagelimit) se desactivó o el restablecimiento se movió a más de 24 horas durante una espera que Claude Code inició por su cuenta, la tarea continuada siguió alcanzando el límite, o la continuación se bloqueó antes de llegar al modelo. No se dispara cuando presionas `Esc` o `Ctrl+C`, ni cuando eliges **Don't continue automatically** |

196| `plugin_notification` | Un [mod](https://code.claude.com/docs/es/plugins/mods/api.md#show-something-without-starting-a-turn) genera una notificación con `$.ui.notify`. El `title` del hook es el nombre del mod, a menos que el mod haya establecido uno |196| `plugin_notification` | Un [mod](https://code.claude.com/docs/es/plugins/mods/api.md#show-something-without-starting-a-turn) genera una notificación con `$.ui.notify`. El `title` del hook es el nombre del mod, a menos que el mod haya establecido uno |

197 197 

198Claude Code cronometra `permission_prompt` de manera diferente en una terminal y en Claude Desktop, la extensión de VS Code y otros hosts que responden solicitudes de permiso a través del Agent SDK. Consulta [cuándo se activa cada tipo de notificación](https://code.claude.com/docs/es/hooks.md#notification) para ambos tiempos.198Claude Code mide el tiempo de `permission_prompt` de forma diferente en una terminal y en Claude Desktop, la extensión de VS Code y otros hosts que responden a las solicitudes de permiso a través del Agent SDK. Consulta [cuándo se dispara cada tipo de notificación](https://code.claude.com/docs/es/hooks.md#notification) para conocer ambos tiempos.

199 199 

200Los matchers `quota_auto_resume_fired`, `quota_auto_resume_stale` y `quota_auto_resume_disabled` requieren Claude Code v2.1.234 o posterior.200Los matchers `quota_auto_resume_fired`, `quota_auto_resume_stale` y `quota_auto_resume_disabled` requieren Claude Code v2.1.234 o posterior.

201 201 

202En sesiones de terminal, `permission_prompt` para una solicitud de red de un comando en sandbox requiere Claude Code v2.1.246 o posterior.202En sesiones de terminal, `permission_prompt` para la solicitud de red de un comando en sandbox requiere Claude Code v2.1.246 o posterior.

203 203 

204`agent_needs_input` para una pregunta de configuración de terminal de un compañero de equipo requiere Claude Code v2.1.248 o posterior.204`agent_needs_input` para la pregunta de configuración de terminal de un compañero requiere Claude Code v2.1.248 o posterior.

205 205 

206Escribe `/hooks` en el prompt de Claude Code y confirma que el hook aparece en `Notification`.206Escribe `/hooks` en el prompt de Claude Code y confirma que el hook aparece en `Notification`.

207 207 

208### Formatea automáticamente el código después de ediciones208### Formatea el código automáticamente después de las ediciones

209 209 

210Ejecuta automáticamente [Prettier](https://prettier.io/) en cada archivo que Claude edita, para que el formato se mantenga consistente sin intervención manual.210Ejecuta automáticamente [Prettier](https://prettier.io/) en cada archivo que Claude edite, para que el formato se mantenga consistente sin intervención manual.

211 211 

212Este hook usa el evento `PostToolUse` con un matcher `Edit|Write`, por lo que se ejecuta solo después de herramientas de edición de archivos. El comando extrae la ruta del archivo editado con [`jq`](https://jqlang.org/) y la pasa a Prettier. Añade esto a `.claude/settings.json` en la raíz de tu proyecto:212Este hook usa el evento `PostToolUse` con un matcher `Edit|Write`, por lo que solo se ejecuta después de las herramientas de edición de archivos. El comando extrae la ruta del archivo editado con [`jq`](https://jqlang.org/) y se la pasa a Prettier. Agrega esto a `.claude/settings.json` en la raíz de tu proyecto:

213 213 

214```json theme={null}214```json theme={null}

215{215{


229}229}

230```230```

231 231 

232Para probar el hook, pídele a Claude que añada una línea con cadenas entre comillas simples a un archivo JavaScript, luego abre el archivo: con la configuración predeterminada de Prettier, el hook las reescribe a comillas dobles.232Para probar el hook, pídele a Claude que agregue una línea con cadenas entre comillas simples a un archivo JavaScript y luego abre el archivo: con la configuración predeterminada de Prettier, el hook las reescribe con comillas dobles.

233 233 

234Cuando el hook tiene éxito, Claude Code no muestra nada en la conversación. Para confirmar que el hook se ejecutó, verifica que el archivo editado esté reformateado, o consulta [Comprueba qué hizo un hook](#check-what-a-hook-did).234Cuando el hook se ejecuta correctamente, Claude Code no muestra nada en la conversación. Para confirmar que el hook se ejecutó, verifica que el archivo editado se haya reformateado o consulta [Comprueba qué hizo un hook](#check-what-a-hook-did).

235 235 

236Para reformatear un archivo específico sin importar cómo cambie, incluyendo cuando un comando `Bash` lo reescribe, usa un hook [FileChanged](https://code.claude.com/docs/es/hooks.md#filechanged) en su lugar.236Para reformatear un archivo específico sin importar cómo cambie, incluso cuando un comando `Bash` lo reescribe, usa en su lugar un hook [FileChanged](https://code.claude.com/docs/es/hooks.md#filechanged).

237 237 

238> [!NOTE]238> [!NOTE]

239>239>

240> Los ejemplos de Bash en esta página usan `jq` para análisis JSON. Instálalo con `brew install jq` en macOS, `apt-get install jq` en Debian y Ubuntu, o consulta [descargas de `jq`](https://jqlang.org/download/).240> Los ejemplos de Bash de esta página usan `jq` para analizar JSON. Instálalo con `brew install jq` en macOS, `apt-get install jq` en Debian y Ubuntu, o consulta las [descargas de `jq`](https://jqlang.org/download/).

241 241 

242### Bloquea ediciones a archivos protegidos242### Bloquea ediciones en archivos protegidos

243 243 

244Evita que Claude modifique archivos sensibles como `.env`, `package-lock.json`, o cualquier cosa en `.git/`. Claude recibe retroalimentación explicando por qué se bloqueó la edición, para que pueda ajustar su enfoque.244Evita que Claude modifique archivos sensibles como `.env`, `package-lock.json` o cualquier cosa dentro de `.git/`. Claude recibe comentarios que explican por qué se bloqueó la edición, para que pueda ajustar su enfoque.

245 245 

246Este ejemplo usa un archivo de script separado que el hook llama. El script verifica la ruta del archivo de destino contra una lista de patrones protegidos y sale con código 2 para bloquear la edición.246Este ejemplo usa un archivo de script separado al que llama el hook. El script compara la ruta del archivo de destino con una lista de patrones protegidos y termina con el código 2 para bloquear la edición.

247 247 

248**1. Crea el script del hook**248**1. Crea el script del hook**

249 249 


256INPUT=$(cat)256INPUT=$(cat)

257FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')257FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')

258 258 

259# Normaliza separadores de barra invertida de Windows para que los patrones a continuación coincidan259# Normalize Windows backslash separators so the patterns below match

260FILE_PATH="${FILE_PATH//\\//}"260FILE_PATH="${FILE_PATH//\\//}"

261 261 

262PROTECTED_PATTERNS=(".env" "package-lock.json" ".git/")262PROTECTED_PATTERNS=(".env" "package-lock.json" ".git/")


271exit 0271exit 0

272```272```

273 273 

274**2. Haz el script ejecutable en macOS y Linux**274**2. Haz que el script sea ejecutable en macOS y Linux**

275 275 

276Los scripts de hook deben ser ejecutables para que Claude Code los ejecute:276Los scripts de hooks deben ser ejecutables para que Claude Code pueda ejecutarlos:

277 277 

278```bash theme={null}278```bash theme={null}

279chmod +x .claude/hooks/protect-files.sh279chmod +x .claude/hooks/protect-files.sh


281 281 

282**3. Registra el hook**282**3. Registra el hook**

283 283 

284Añade un hook `PreToolUse` a `.claude/settings.json` que ejecute el script antes de cualquier llamada a herramienta `Edit` o `Write`:284Agrega un hook `PreToolUse` a `.claude/settings.json` que ejecute el script antes de cualquier llamada a las herramientas `Edit` o `Write`:

285 285 

286```json theme={null}286```json theme={null}

287{287{


303 303 

304**4. Prueba el hook**304**4. Prueba el hook**

305 305 

306Pídele a Claude que añada un comentario a tu archivo `.env`. Claude Code bloquea la edición antes de que se ejecute y pasa el mensaje `Blocked:` del script a Claude como retroalimentación.306Pídele a Claude que agregue un comentario a tu archivo `.env`. Claude Code bloquea la edición antes de que se ejecute y le pasa a Claude el mensaje `Blocked:` del script como retroalimentación.

307 307 

308### Reinyecta contexto después de compactación308### Vuelve a inyectar contexto después de la compactación

309 309 

310Cuando la ventana de contexto de Claude se llena, la compactación resume la conversación para liberar espacio. Esto puede perder detalles importantes. Usa un hook `SessionStart` con un matcher `compact` para reinyectar contexto crítico después de cada compactación.310Cuando la ventana de contexto de Claude se llena, la compactación resume la conversación para liberar espacio. Esto puede hacer que se pierdan detalles importantes. Usa un hook `SessionStart` con un matcher `compact` para volver a inyectar contexto crítico después de cada compactación.

311 311 

312Claude Code añade texto plano que tu comando escribe en stdout al contexto de Claude. Este ejemplo recuerda a Claude las convenciones del proyecto y el trabajo reciente. Añade esto a `.claude/settings.json` en la raíz de tu proyecto:312Claude Code agrega al contexto de Claude el texto plano que tu comando escribe en stdout. Este ejemplo le recuerda a Claude las convenciones del proyecto y el trabajo reciente. Agrega esto a `.claude/settings.json` en la raíz de tu proyecto:

313 313 

314```json theme={null}314```json theme={null}

315{315{


329}329}

330```330```

331 331 

332Puedes reemplazar el `echo` con cualquier comando que produzca salida dinámica, como `git log --oneline -5` para mostrar commits recientes. Para inyectar contexto en cada inicio de sesión, considera usar [CLAUDE.md](https://code.claude.com/docs/es/memory.md) en su lugar. Para variables de entorno, consulta [`CLAUDE_ENV_FILE`](https://code.claude.com/docs/es/hooks#persist-environment-variables) en la referencia.332Puedes reemplazar el `echo` con cualquier comando que produzca una salida dinámica, como `git log --oneline -5` para mostrar los commits recientes. Para inyectar contexto al inicio de cada sesión, considera usar [CLAUDE.md](https://code.claude.com/docs/es/memory.md) en su lugar. Para las variables de entorno, consulta [`CLAUDE_ENV_FILE`](https://code.claude.com/docs/es/hooks#persist-environment-variables) en la referencia.

333 333 

334### Audita cambios de configuración334### Audita los cambios de configuración

335 335 

336Realiza un seguimiento de cuándo los archivos de configuración o skills cambian durante una sesión. El evento `ConfigChange` se activa cuando un proceso externo o editor modifica un archivo de configuración, para que puedas registrar cambios para cumplimiento o bloquear modificaciones no autorizadas.336Haz un seguimiento de cuándo cambian los archivos de configuración o de skills durante una sesión. El evento `ConfigChange` se dispara cuando un proceso externo o un editor modifica un archivo de configuración, para que puedas registrar los cambios por motivos de cumplimiento o bloquear modificaciones no autorizadas.

337 337 

338Este ejemplo añade cada cambio a un registro de auditoría. Añade esto a `~/.claude/settings.json`:338Este ejemplo añade cada cambio a un registro de auditoría. Agrega esto a `~/.claude/settings.json`:

339 339 

340```json theme={null}340```json theme={null}

341{341{


355}355}

356```356```

357 357 

358El matcher filtra por tipo de configuración: `user_settings`, `project_settings`, `local_settings`, `policy_settings`, o `skills`. Para bloquear que un cambio tenga efecto, sal con código 2 o devuelve `{"decision": "block"}`. Consulta la [referencia de ConfigChange](https://code.claude.com/docs/es/hooks.md#configchange) para el esquema de entrada completo.358El matcher filtra por tipo de configuración: `user_settings`, `project_settings`, `local_settings`, `policy_settings` o `skills`. Para impedir que un cambio surta efecto, termina con el código 2 o devuelve `{"decision": "block"}`. Consulta la [referencia de ConfigChange](https://code.claude.com/docs/es/hooks.md#configchange) para ver el esquema de entrada completo.

359 359 

360Para confirmar que el hook registra cambios, edita un archivo de configuración en otro editor mientras una sesión está en ejecución, luego abre `~/claude-config-audit.log`: el hook añade una línea JSON por cambio con la marca de tiempo, fuente y ruta del archivo.360Para confirmar que el hook registra los cambios, edita un archivo de configuración en otro editor mientras se ejecuta una sesión y luego abre `~/claude-config-audit.log`: el hook añade una línea JSON por cambio con la marca de tiempo, el origen y la ruta del archivo.

361 361 

362### Recarga el entorno cuando el directorio o los archivos cambian362### Recarga el entorno cuando cambien el directorio o los archivos

363 363 

364Algunos proyectos establecen diferentes variables de entorno dependiendo de en qué directorio estés. Herramientas como [direnv](https://direnv.net/) hacen esto automáticamente en tu shell, pero la herramienta Bash de Claude no recoge esos cambios por sí sola.364Algunos proyectos establecen distintas variables de entorno según el directorio en el que te encuentres. Herramientas como [direnv](https://direnv.net/) hacen esto automáticamente en tu shell, pero la herramienta Bash de Claude no detecta esos cambios por sí sola.

365 365 

366Emparejar un hook `SessionStart` con un hook `CwdChanged` arregla esto. `SessionStart` carga las variables para el directorio en el que lanzas, y `CwdChanged` las recarga cada vez que Claude cambia de directorio. Ambos escriben en `CLAUDE_ENV_FILE`, que Claude Code ejecuta como un preámbulo de script antes de cada comando Bash. Añade esto a `~/.claude/settings.json`:366Combinar un hook `SessionStart` con un hook `CwdChanged` resuelve esto. `SessionStart` carga las variables del directorio en el que inicias, y `CwdChanged` las recarga cada vez que Claude cambia de directorio. Ambos escriben en `CLAUDE_ENV_FILE`, que Claude Code ejecuta como preámbulo de script antes de cada comando Bash. Agrega esto a `~/.claude/settings.json`:

367 367 

368```json theme={null}368```json theme={null}

369{369{


394 394 

395Ejecuta `direnv allow` una vez en cada directorio que tenga un `.envrc` para que direnv tenga permiso de cargarlo. Si usas devbox o nix en lugar de direnv, el mismo patrón funciona con `devbox shellenv` o `devbox global shellenv` en lugar de `direnv export bash`.395Ejecuta `direnv allow` una vez en cada directorio que tenga un `.envrc` para que direnv tenga permiso de cargarlo. Si usas devbox o nix en lugar de direnv, el mismo patrón funciona con `devbox shellenv` o `devbox global shellenv` en lugar de `direnv export bash`.

396 396 

397Para reaccionar a archivos específicos en lugar de cada cambio de directorio, usa `FileChanged` con un `matcher` listando los nombres de archivo a observar, separados por `|`. Cuando construyas la lista de observación, Claude Code divide este valor en nombres de archivo literales en lugar de evaluarlo como una expresión regular. Consulta [FileChanged](https://code.claude.com/docs/es/hooks.md#filechanged) para cómo el mismo valor también filtra qué grupos de hooks se ejecutan cuando un archivo cambia. Este ejemplo observa `.envrc` y `.env` en el directorio de trabajo:397Para reaccionar a archivos específicos en lugar de a cada cambio de directorio, usa `FileChanged` con un `matcher` que enumere los nombres de archivo que quieres vigilar, separados por `|`. Al construir la lista de vigilancia, Claude Code divide este valor en nombres de archivo literales en lugar de evaluarlo como una expresión regular. Consulta [FileChanged](https://code.claude.com/docs/es/hooks.md#filechanged) para ver cómo el mismo valor también filtra qué grupos de hooks se ejecutan cuando cambia un archivo. Este ejemplo vigila `.envrc` y `.env` en el directorio de trabajo:

398 398 

399```json theme={null}399```json theme={null}

400{400{


414}414}

415```415```

416 416 

417Consulta las entradas de referencia [CwdChanged](https://code.claude.com/docs/es/hooks.md#cwdchanged) y [FileChanged](https://code.claude.com/docs/es/hooks.md#filechanged) para esquemas de entrada, salida `watchPaths`, y detalles de `CLAUDE_ENV_FILE`.417Consulta las entradas de referencia de [CwdChanged](https://code.claude.com/docs/es/hooks.md#cwdchanged) y [FileChanged](https://code.claude.com/docs/es/hooks.md#filechanged) para ver los esquemas de entrada, la salida `watchPaths` y los detalles de `CLAUDE_ENV_FILE`.

418 418 

419### Aprueba automáticamente avisos de permiso específicos419### Aprueba automáticamente solicitudes de permiso específicas

420 420 

421Omite el diálogo de aprobación para llamadas a herramientas que siempre permites. Este ejemplo aprueba automáticamente `ExitPlanMode`, la herramienta que Claude llama cuando termina de presentar un plan y pide proceder, para que no se te solicite cada vez que un plan esté listo.421Omite el cuadro de diálogo de aprobación para las llamadas a herramientas que siempre permites. Este ejemplo aprueba automáticamente `ExitPlanMode`, la herramienta que Claude llama cuando termina de presentar un plan y pide continuar, para que no se te pida confirmación cada vez que un plan esté listo.

422 422 

423A diferencia de los ejemplos de código de salida anteriores, la aprobación automática requiere que tu hook escriba una decisión JSON en stdout. Claude Code ejecuta hooks `PermissionRequest` cuando está a punto de pedirte permiso, y si tu hook devuelve `"behavior": "allow"`, Claude Code responde la solicitud en tu nombre.423A diferencia de los ejemplos anteriores con códigos de salida, la aprobación automática requiere que tu hook escriba una decisión JSON en stdout. Claude Code ejecuta los hooks `PermissionRequest` cuando está a punto de pedirte permiso, y si tu hook devuelve `"behavior": "allow"`, Claude Code responde a la solicitud en tu nombre.

424 424 

425El matcher limita el hook a `ExitPlanMode` solamente, para que ningún otro aviso se vea afectado. Añade esto a `~/.claude/settings.json`:425El matcher limita el hook solo a `ExitPlanMode`, por lo que ninguna otra solicitud de permiso se ve afectada. Agrega esto a `~/.claude/settings.json`:

426 426 

427```json theme={null}427```json theme={null}

428{428{


442}442}

443```443```

444 444 

445Cuando el hook aprueba, Claude Code sale del modo plan y restaura cualquier modo de permiso que estuviera activo antes de entrar en modo plan. La transcripción muestra "Allowed by PermissionRequest hook" donde habría aparecido el diálogo. La ruta del hook siempre mantiene la conversación actual: no puede limpiar contexto e iniciar una sesión de implementación fresca de la manera que el diálogo puede.445Cuando el hook aprueba, Claude Code sale del modo plan y restaura el modo de permisos que estaba activo antes de que entraras en el modo plan. La transcripción muestra "Allowed by PermissionRequest hook" donde habría aparecido el cuadro de diálogo. La ruta del hook siempre conserva la conversación actual: no puede borrar el contexto e iniciar una nueva sesión de implementación como sí puede hacerlo el cuadro de diálogo.

446 446 

447Para establecer un modo de permiso específico en su lugar, la salida de tu hook puede incluir un array `updatedPermissions` con una entrada `setMode`. El valor `mode` es cualquier modo de permiso como `default`, `acceptEdits`, o `bypassPermissions`, y `destination: "session"` lo aplica solo para la sesión actual.447Para establecer un modo de permisos específico, la salida de tu hook puede incluir un arreglo `updatedPermissions` con una entrada `setMode`. El valor de `mode` es cualquier modo de permisos, como `default`, `acceptEdits` o `bypassPermissions`, y `destination: "session"` lo aplica solo a la sesión actual.

448 448 

449> [!NOTE]449> [!NOTE]

450>450>

451> `bypassPermissions` solo se aplica si iniciaste la sesión con modo bypass ya disponible: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions`, o `permissions.defaultMode: "bypassPermissions"` en [configuración de usuario, `--settings`, o configuración administrada](https://code.claude.com/docs/es/settings-reference#permissions-defaultmode). No se aplica si el modo bypass está deshabilitado por [`permissions.disableBypassPermissionsMode`](https://code.claude.com/docs/es/permissions#managed-settings), o si iniciaste la sesión en [modo restringido](https://code.claude.com/docs/es/cli-reference.md#cli-flags).451> `bypassPermissions` solo se aplica si iniciaste la sesión con el modo bypass ya disponible: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` o `permissions.defaultMode: "bypassPermissions"` en la [configuración de usuario, de `--settings` o administrada](https://code.claude.com/docs/es/settings-reference#permissions-defaultmode). No se aplica si el modo bypass está desactivado mediante [`permissions.disableBypassPermissionsMode`](https://code.claude.com/docs/es/permissions#managed-settings), o si iniciaste la sesión en [modo restringido](https://code.claude.com/docs/es/cli-reference.md#cli-flags).

452>452>

453> Claude Code nunca lo guarda como `defaultMode`.453> Claude Code nunca lo guarda como `defaultMode`.

454 454 


468}468}

469```469```

470 470 

471Mantén el matcher lo más estrecho posible. Coincidir con `.*` o dejar el matcher vacío aprobaría automáticamente cada aviso de permiso de herramienta, incluyendo escrituras de archivos y comandos de shell. Consulta la [referencia de PermissionRequest](https://code.claude.com/docs/es/hooks.md#permissionrequest-decision-control) para el conjunto completo de campos de decisión.471Mantén el matcher lo más específico posible. Usar `.*` o dejar el matcher vacío aprobaría automáticamente todas las solicitudes de permiso de herramientas, incluidas las escrituras de archivos y los comandos de shell. Consulta la [referencia de PermissionRequest](https://code.claude.com/docs/es/hooks.md#permissionrequest-decision-control) para ver el conjunto completo de campos de decisión.

472 472 

473## Cómo funcionan los hooks473## Cómo funcionan los hooks

474 474 

Details

270 270 

271## Historial de comandos271## Historial de comandos

272 272 

273Claude Code mantiene un historial de los prompts que escribe, y la recuperación con la flecha hacia arriba accede a prompts de sesiones anteriores del mismo proyecto:273Claude Code guarda un historial de los prompts que escribes, y la recuperación con la flecha arriba alcanza prompts de sesiones anteriores del mismo proyecto:

274 274 

275* El historial de entrada se almacena por directorio de trabajo275* El historial de entrada se almacena por directorio de trabajo

276* Ejecutar `/clear` inicia una nueva sesión: la recuperación luego enumera los prompts de la nueva sesión primero, con los prompts de sesiones anteriores después de ellos. La conversación de la sesión anterior se conserva y se puede reanudar.276* Ejecutar `/clear` inicia una nueva sesión: la recuperación muestra primero los prompts de la nueva sesión y, después, los de sesiones anteriores. La conversación de la sesión anterior se conserva y se puede reanudar.

277* Enviar el mismo prompt dos veces seguidas registra una entrada de historial, por lo que presionar Arriba va al prompt anterior distinto277* Enviar el mismo prompt dos veces seguidas registra una sola entrada en el historial, por lo que al presionar Up pasas al prompt distinto anterior

278* Cuando recupera un prompt que incluía texto pegado, Claude Code envía el contenido pegado completo nuevamente cuando lo reenvía. Si el contenido ha sido [limpiado](https://code.claude.com/docs/es/claude-directory.md#cleaned-up-automatically), Claude Code no envía la cadena literal `[Pasted text #N]`; consulte [Pegar contenido grande](https://code.claude.com/docs/es/terminal-config.md#paste-large-content) para ver qué sucede con el prompt278* Cuando recuperas un prompt que incluía texto pegado, Claude Code vuelve a enviar todo el contenido pegado al reenviarlo. Si desde entonces el contenido se ha [limpiado](https://code.claude.com/docs/es/claude-directory.md#cleaned-up-automatically), Claude Code no envía la cadena literal `[Pasted text #N]`; consulta [Pegar contenido extenso](https://code.claude.com/docs/es/terminal-config.md#paste-large-content) para saber qué pasa con el prompt

279* La expansión del historial con `!` está deshabilitada de forma predeterminada279* La expansión del historial con `!` está deshabilitada de forma predeterminada

280 280 

281### Recuperar un borrador borrado281### Recuperar un borrador borrado

282 282 

283Para recuperar un borrador que borraste con `Ctrl+C`, presiona `Arriba`, ya sea de inmediato o después de haber enviado un mensaje o comando:283Para recuperar un borrador que borraste con `Ctrl+C`, presiona `Up`, ya sea de inmediato o después de haber enviado un mensaje o comando:

284 284 

285* **Justo después de borrar el borrador**: presiona `Arriba` una vez mientras el prompt todavía está vacío. Requiere Claude Code v2.1.288 o posterior.285* **Justo después de borrar el borrador**: presiona `Up` una vez mientras el prompt todavía está vacío. Requiere Claude Code v2.1.288 o posterior.

286* **Después de enviar un mensaje o comando**: presiona `Arriba` para retroceder hasta el borrador. Claude Code conserva los diez borradores borrados más recientes de la sesión actual, con su texto pegado e imágenes, y los descarta cuando sales. Requiere Claude Code v2.1.292 o posterior.286* **Después de enviar un mensaje o comando**: presiona `Up` para retroceder hasta el borrador. Claude Code guarda los diez borradores borrados más recientes de la sesión actual, con su texto pegado y sus imágenes, y los descarta cuando sales. Requiere Claude Code v2.1.292 o posterior.

287 287 

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

289 289 

290Presione `Ctrl+R` para buscar interactivamente en su historial de comandos. En [renderizado a pantalla completa](https://code.claude.com/docs/es/fullscreen.md), `Ctrl+R` abre un diálogo de búsqueda en su lugar: escriba para filtrar, presione `Arriba` y `Abajo` para moverse entre coincidencias, y presione `Ctrl+S` para cambiar el alcance entre esta sesión, este proyecto y todos los proyectos. Presione `Intro` o `Tab` para colocar una coincidencia en la entrada del prompt, o `Esc` para cancelar. Los pasos a continuación 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, 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:

291 291 

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

2932. **Escribir consulta**: ingrese texto para buscar en comandos anteriores. El término de búsqueda se resalta en los resultados coincidentes2932. **Escribir la consulta**: ingresa el texto que quieres buscar en los comandos anteriores. El término de búsqueda se resalta en los resultados coincidentes

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

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

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

297 * Presione `Tab` o `Esc` para aceptar la coincidencia actual y continuar editando297 * Presiona `Tab` o `Esc` para aceptar la coincidencia actual y seguir editando

298 * Presione `Intro` para aceptar y ejecutar el comando inmediatamente298 * Presiona `Enter` para aceptar y ejecutar el comando de inmediato

2996. **Cancelar búsqueda**:2996. **Cancelar la búsqueda**:

300 * Presione `Ctrl+C` para cancelar y restaurar su entrada original300 * Presiona `Ctrl+C` para cancelar y restaurar tu entrada original

301 * Presione `Retroceso` en búsqueda vacía para cancelar301 * Presiona `Backspace` con la búsqueda vacía para cancelar

302 302 

303La búsqueda en línea escanea su historial de prompts completo, el más reciente primero, con duplicados contraídos a la ocurrencia más reciente. El diálogo a pantalla completa busca en todo su historial de prompts en el alcance seleccionado, el más reciente primero, con duplicados contraídos a la ocurrencia más reciente: los prompts más recientes aparecen inmediatamente, y las coincidencias de prompts más antiguos se rellenan a medida que Claude Code carga el resto. Los prompts coincidentes se muestran con el término de búsqueda resaltado, para que pueda encontrar y reutilizar entradas anteriores.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 304 

305Aceptar una coincidencia o cancelar la búsqueda tiene efecto inmediatamente, incluso mientras Claude Code aún 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

308 308 


332* Los comandos en segundo plano en una sesión local en la que trabajas desde una terminal, la aplicación de escritorio o la extensión de VS Code no tienen límite de tiempo. En una sesión que se ejecuta sin supervisión, como una ejecución con `-p` o una sesión en la nube, Claude Code detiene un comando en segundo plano al alcanzar su [límite de tiempo](https://code.claude.com/docs/es/tools-reference.md#time-limit-for-background-commands)332* Los comandos en segundo plano en una sesión local en la que trabajas desde una terminal, la aplicación de escritorio o la extensión de VS Code no tienen límite de tiempo. En una sesión que se ejecuta sin supervisión, como una ejecución con `-p` o una sesión en la nube, Claude Code detiene un comando en segundo plano al alcanzar su [límite de tiempo](https://code.claude.com/docs/es/tools-reference.md#time-limit-for-background-commands)

333* Un comando en segundo plano que un [subagente](https://code.claude.com/docs/es/sub-agents.md#run-subagents-in-foreground-or-background) en primer plano inició termina cuando ese subagente finaliza su ejecución, ya sea que se haya completado, fallado o fue interrumpido; consulte [Cuándo se detiene un comando en segundo plano](https://code.claude.com/docs/es/tools-reference.md#when-a-background-command-stops) en la referencia de herramientas333* Un comando en segundo plano que un [subagente](https://code.claude.com/docs/es/sub-agents.md#run-subagents-in-foreground-or-background) en primer plano inició termina cuando ese subagente finaliza su ejecución, ya sea que se haya completado, fallado o fue interrumpido; consulte [Cuándo se detiene un comando en segundo plano](https://code.claude.com/docs/es/tools-reference.md#when-a-background-command-stops) en la referencia de herramientas

334 334 

335Para desactivar los comandos en segundo plano, establece la variable de entorno [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/es/env-vars#variables) en `1`. Con ella establecida, también pierdes los subagentes en segundo plano, los skills bifurcados en segundo plano y `Ctrl+B`. Iniciar en [modo bare](https://code.claude.com/docs/es/headless.md#start-faster-with-bare-mode) tiene el mismo efecto.335Para desactivar los comandos en segundo plano, establece la variable de entorno [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/es/env-vars#variables) en `1`. Con ella establecida, también pierdes el atajo `Ctrl+B` y [otras funciones en segundo plano](https://code.claude.com/docs/es/env-vars.md#variables), como [ejecutar skills en segundo plano](https://code.claude.com/docs/es/skills.md#run-skills-in-a-subagent). Iniciar en [modo bare](https://code.claude.com/docs/es/headless.md#start-faster-with-bare-mode) tiene el mismo efecto.

336 336 

337**Comandos comúnmente colocados en segundo plano:**337**Comandos comúnmente colocados en segundo plano:**

338 338 


416 416 

417Si recuperas texto encolado mientras `←` [espera para enviar la sesión al segundo plano](https://code.claude.com/docs/es/agent-view.md#switch-sessions-without-leaving-the-terminal), el texto permanece en el cuadro de entrada y Claude Code cancela el cambio. Si lo recuperas en el momento en que la sesión se mueve, el texto desaparece junto con la pantalla en primer plano: no se envió. Cada mensaje que recuperaste se guarda como su propia entrada en el [historial de comandos](#command-history). Para recuperar uno, vuelve a abrir la sesión y presiona `Up` en un prompt vacío sin nada encolado.417Si recuperas texto encolado mientras `←` [espera para enviar la sesión al segundo plano](https://code.claude.com/docs/es/agent-view.md#switch-sessions-without-leaving-the-terminal), el texto permanece en el cuadro de entrada y Claude Code cancela el cambio. Si lo recuperas en el momento en que la sesión se mueve, el texto desaparece junto con la pantalla en primer plano: no se envió. Cada mensaje que recuperaste se guarda como su propia entrada en el [historial de comandos](#command-history). Para recuperar uno, vuelve a abrir la sesión y presiona `Up` en un prompt vacío sin nada encolado.

418 418 

419## Sugerencias de prompt419## Sugerencias de prompts

420 420 

421Cuando abre una sesión por primera vez, Claude Code muestra un comando de ejemplo atenuado en la entrada del prompt para ayudarle a comenzar. Lo selecciona del historial de git de su proyecto, por lo que el ejemplo refleja los archivos en los que ha estado trabajando recientemente.421Cuando abres una sesión por primera vez, Claude Code muestra un comando de ejemplo atenuado en la entrada del prompt para ayudarte a comenzar. Lo elige a partir del historial de git de tu proyecto, por lo que el ejemplo refleja archivos en los que has estado trabajando recientemente.

422 422 

423Después de que Claude responda, Claude Code puede sugerir su próximo prompt basándose en el historial de su conversación, como un paso de seguimiento de una solicitud de varias partes o una continuación natural de su flujo de trabajo.423Después de que Claude responde, Claude Code puede sugerir tu siguiente prompt basándose en el historial de tu conversación, como un paso de seguimiento de una solicitud de varias partes o una continuación natural de tu flujo de trabajo.

424 424 

425* Presione `Tab` o `Flecha derecha` para colocar la sugerencia en la entrada del prompt, luego `Intro` para enviar425* Presiona `Tab` o `Right arrow` para colocar la sugerencia en la entrada del prompt y luego `Enter` para enviarla

426* Comience a escribir para descartar la sugerencia426* Empieza a escribir para descartarla

427 427 

428Claude Code genera cada una de estas sugerencias de próximo prompt con una solicitud de fondo al mismo modelo que su sesión está utilizando. La solicitud cuenta hacia los límites de uso de su plan o sus costos de API. Debido a que reutiliza la caché de prompts de la conversación, es principalmente lecturas de caché más algunos tokens de salida, por lo que el costo adicional es pequeño.428Claude Code genera cada una de estas sugerencias del siguiente prompt con una breve solicitud en segundo plano al mismo modelo que usa tu sesión. La solicitud cuenta para los límites de uso de tu plan o para tus costos de API. Como reutiliza la caché de prompts de la conversación, consiste principalmente en lecturas de caché más unos pocos tokens de salida, por lo que el costo adicional es pequeño.

429 429 

430### Cuándo Claude Code omite sugerencias430### Cuándo Claude Code omite las sugerencias

431 431 

432En modo interactivo, Claude Code deja las sugerencias de prompt desactivadas de forma predeterminada y oculta el botón de alternancia **Prompt suggestions** en `/config` en una [sesión que no obtiene indicadores de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), como una en un proveedor de terceros o a través de una puerta de enlace de aplicaciones Claude, y en una [primera sesión después de una instalación o actualización](https://code.claude.com/docs/es/env-vars.md#first-session-after-an-install-or-upgrade) cuyos indicadores aún no han llegado.432En el modo interactivo, Claude Code deja las sugerencias de prompts desactivadas de forma predeterminada y oculta el interruptor **Prompt suggestions** en `/config` en una [sesión que no obtiene feature flags](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), como una en un proveedor externo o a través de un gateway de aplicaciones de Claude, y en una [primera sesión después de una instalación o actualización](https://code.claude.com/docs/es/env-vars.md#first-session-after-an-install-or-upgrade) cuyos flags aún no han llegado.

433 433 

434Claude Code también omite sugerencias individuales en varias situaciones, incluyendo:434Claude Code también omite sugerencias individuales en varias situaciones, entre ellas:

435 435 

436* La caché de prompts está fría, para evitar costos innecesarios436* La caché de prompts está fría, para evitar costos innecesarios

437* Después del primer turno de una conversación, en algunas sesiones437* Después del primer turno de una conversación, en algunas sesiones

438* La respuesta anterior terminó en un error438* La respuesta anterior terminó en un error

439* Mientras está en Plan Mode439* Mientras estás en modo plan

440* Tu cuenta está cerca de su límite de uso o ya lo alcanzó. Para que esta omisión no se aplique hasta que alcances el límite, establece [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](https://code.claude.com/docs/es/env-vars) en `true`. Antes de v2.1.238, Claude Code omitía las sugerencias cerca del límite incluso con la variable establecida en `true`440* Tu cuenta está cerca de su límite de uso o lo ha alcanzado. Para que esta omisión no se aplique hasta que alcances el límite, establece [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](https://code.claude.com/docs/es/env-vars) en `true`. Antes de la v2.1.238, Claude Code omitía las sugerencias cerca del límite incluso con la variable establecida en `true`

441* En un [equipo de agentes](https://code.claude.com/docs/es/agent-teams.md), en las sesiones de compañeros de equipo de forma predeterminada. La sesión del líder muestra sugerencias441* En un [equipo de agentes](https://code.claude.com/docs/es/agent-teams.md), en las sesiones de los compañeros de equipo de forma predeterminada. La sesión del líder muestra sugerencias

442 442 

443El aviso `Showing fewer prompt suggestions · use one to bring them back` significa que Claude Code está mostrando sugerencias con menos frecuencia porque dejaste muchas seguidas sin usar. Para volver a la frecuencia habitual, usa una sugerencia o establece [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](https://code.claude.com/docs/es/env-vars) en `true`.443El aviso `Showing fewer prompt suggestions · use one to bring them back` significa que Claude Code está mostrando sugerencias con menos frecuencia porque dejaste muchas seguidas sin usar. Para volver a la frecuencia habitual, usa una sugerencia o establece [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](https://code.claude.com/docs/es/env-vars) en `true`.

444 444 

445En modo de impresión, Claude Code no genera sugerencias de forma predeterminada. Pase [`--prompt-suggestions`](https://code.claude.com/docs/es/cli-reference#cli-flags) con `-p "<prompt>" --output-format stream-json --verbose` para que Claude Code emita un mensaje `prompt_suggestion` después de cada turno que genere uno. El generador también omite conversaciones muy cortas y cachés de prompts frías aquí, por lo que una única consulta `-p` corta puede no emitir ninguna.445En el modo print, Claude Code no genera sugerencias de forma predeterminada. Pasa [`--prompt-suggestions`](https://code.claude.com/docs/es/cli-reference#cli-flags) con `-p "<prompt>" --output-format stream-json --verbose` para que Claude Code emita un mensaje `prompt_suggestion` después de cada turno que genere una. El generador también omite aquí las conversaciones muy cortas y las cachés de prompts frías, por lo que una sola consulta `-p` corta puede no emitir ninguna.

446 446 

447### Desactivar sugerencias de prompt447### Desactivar las sugerencias de prompts

448 448 

449Para desactivar completamente las sugerencias de prompt, use cualquiera de las siguientes opciones:449Para desactivar por completo las sugerencias de prompts, usa cualquiera de las siguientes opciones:

450 450 

451* Desactive **Prompt suggestions** en `/config`451* Desactiva **Prompt suggestions** en `/config`

452* Establezca [`promptSuggestionEnabled`](https://code.claude.com/docs/es/settings-reference#promptsuggestionenabled) en `false` en su archivo de configuración452* Establece [`promptSuggestionEnabled`](https://code.claude.com/docs/es/settings-reference#promptsuggestionenabled) en `false` en tu archivo de configuración

453* Establezca la variable de entorno [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](https://code.claude.com/docs/es/env-vars) en `false`, que tiene prioridad sobre la configuración:453* Establece la variable de entorno [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](https://code.claude.com/docs/es/env-vars) en `false`, que tiene precedencia sobre el ajuste:

454 ```bash theme={null}454 ```bash theme={null}

455 export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false455 export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false

456 ```456 ```

457 457 

458Para desactivar las sugerencias de prompt en toda una organización, establezca `promptSuggestionEnabled` en `false` en [configuración administrada](https://code.claude.com/docs/es/managed-settings.md). También establezca `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` en `false` bajo la clave [`env`](https://code.claude.com/docs/es/settings-reference#env) administrada para que los usuarios no puedan reactivarlas con su propia variable de entorno.458Para desactivar las sugerencias de prompts en toda una organización, establece `promptSuggestionEnabled` en `false` en la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md). Establece también `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` en `false` bajo la clave [`env`](https://code.claude.com/docs/es/settings-reference#env) administrada para que los usuarios no puedan volver a activarlas con su propia variable de entorno.

459 459 

460## Sugerencias de You should know460## Sugerencias de You should know

461 461 


617 617 

618Para averiguar cuál de estos sucedió, inicie `claude --debug` con la verificación ortográfica activada y escriba una palabra. Luego busque las líneas `[spellcheck]` en el registro de depuración en `~/.claude/debug/<session-id>.txt`. Una línea nombra el programa que Claude Code inició, o enumera los que buscó y no encontró. Las líneas posteriores dicen por qué se detuvo. Un error de diccionario faltante allí significa que el verificador no tiene diccionario para su valor `language`, o ninguno predeterminado cuando `language` no está establecido. Instale uno, o establezca `language` en un diccionario que tenga.618Para averiguar cuál de estos sucedió, inicie `claude --debug` con la verificación ortográfica activada y escriba una palabra. Luego busque las líneas `[spellcheck]` en el registro de depuración en `~/.claude/debug/<session-id>.txt`. Una línea nombra el programa que Claude Code inició, o enumera los que buscó y no encontró. Las líneas posteriores dicen por qué se detuvo. Un error de diccionario faltante allí significa que el verificador no tiene diccionario para su valor `language`, o ninguno predeterminado cuando `language` no está establecido. Instale uno, o establezca `language` en un diccionario que tenga.

619 619 

620## Caracteres invisibles en prompts620## Caracteres invisibles en los prompts

621 621 

622El texto pegado puede contener caracteres Unicode que una terminal dibuja como nada en absoluto, como caracteres de etiqueta, controles bidireccionales y espacios de ancho cero, por lo que un prompt puede contener texto que nunca ves. Para evitar que el texto copiado lleve instrucciones que tu terminal no dibuja, Claude Code elimina esos caracteres cuando presionas Intro, antes de enviar nada. Limpia tanto el prompt como el contenido de cualquier [referencia de texto pegado](https://code.claude.com/docs/es/terminal-config.md#paste-large-content) contraída que el prompt incluya. Claude Code mantiene los conectores que escriben los scripts persa e índico y los selectores dentro de secuencias de emoji.622El texto pegado puede contener caracteres Unicode que una terminal no dibuja en absoluto, como caracteres de etiqueta, controles bidireccionales y espacios de ancho cero, por lo que un prompt puede contener texto que nunca ves. Para evitar que el texto copiado lleve instrucciones que tu terminal no dibuja, Claude Code elimina esos caracteres cuando presionas Enter, antes de enviar nada. Limpia tanto el prompt como el contenido de cualquier [referencia de texto pegado](https://code.claude.com/docs/es/terminal-config.md#paste-large-content) contraída que incluya el prompt. Claude Code conserva los caracteres de unión que usan las escrituras persa e índicas y los selectores dentro de las secuencias de emoji.

623 623 

624Si Claude Code eliminó algo, ese Intro no envía nada. El prompt limpio vuelve al cuadro de entrada con un aviso como `Removed 3 invisible characters · review and press Enter to send`, y presionar Intro nuevamente envía el texto tal como se muestra.624Si Claude Code eliminó algo, ese Enter no envía nada. El prompt limpio vuelve al cuadro de entrada con un aviso como `Removed 3 invisible characters · review and press Enter to send`, y al presionar Enter de nuevo se envía el texto tal como se muestra.

625 625 

626Cuando pasas un prompt en la línea de comandos, como en `claude "fix the login bug"`, Claude Code no espera un segundo Intro. Elimina los caracteres, muestra un aviso y envía el prompt limpio. Si el prompt limpio comenzaría con `/`, Claude Code lo coloca en el cuadro de entrada para que lo revises y lo envíes.626Cuando pasas un prompt en la línea de comandos, como en `claude "fix the login bug"`, Claude Code no espera un segundo Enter. Elimina los caracteres, muestra un aviso y envía el prompt limpio. Si el prompt limpio comenzara con `/`, Claude Code lo coloca en el cuadro de entrada para que lo revises y lo envíes tú.

627 627 

628## Revisa los cambios con /diff628## Revisa los cambios con /diff

629 629 

630Ejecuta `/diff` para revisar los cambios en tu árbol de trabajo sin salir de Claude Code. Verás las ediciones que Claude ha realizado hasta ahora junto con cualquier otra cosa que no hayas confirmado. Lo que abre `/diff` depende del renderizador que esté activo:630Ejecuta `/diff` para revisar los cambios en tu árbol de trabajo sin salir de Claude Code. Verás las ediciones que Claude ha hecho hasta ahora junto con cualquier otra cosa de la que no hayas hecho commit. Lo que abre `/diff` depende del renderizador que esté activo:

631 631 

632* **[Renderizado a pantalla completa](https://code.claude.com/docs/es/fullscreen.md)**: el [panel de diff](#diff-panel) se abre junto a la conversación. Permanece abierto y se actualiza mientras sigues trabajando.632* **[Renderizado en pantalla completa](https://code.claude.com/docs/es/fullscreen.md)**: el [panel de diff](#diff-panel) se abre junto a la conversación. Permanece abierto y se actualiza mientras sigues trabajando.

633* **Renderizador clásico**: el [diálogo de diff](#diff-dialog) se abre encima del prompt, y lo cierras cuando terminas de leer.633* **Renderizador clásico**: el [diálogo de diff](#diff-dialog) se abre encima del prompt, y lo cierras cuando terminas de leerlo.

634 634 

635Tanto el panel como el diálogo provienen de `cc-plugin-diff`, uno de los [mods integrados en Claude Code](https://code.claude.com/docs/es/plugins/mods/overview.md#mods-built-into-claude-code). Si desactivas ese mod en `/plugin`, `/diff` abre en su lugar el panel anterior de Claude Code y el [visor de diff](https://code.claude.com/docs/es/keybindings.md#diff-actions).635Tanto el panel como el diálogo provienen de `cc-plugin-diff`, uno de los [mods integrados en Claude Code](https://code.claude.com/docs/es/plugins/mods/overview.md#mods-built-into-claude-code). Si desactivas ese mod en `/plugin`, `/diff` abre en su lugar el panel anterior y el [visor de diff](https://code.claude.com/docs/es/keybindings.md#diff-actions) de Claude Code.

636 636 

637En los cambios que `/diff` lee de git, un submódulo aparece como una única entrada, y solo cuando cambia el commit al que apunta; las ediciones a archivos dentro del submódulo no aparecen allí. El panel y el diálogo también ofrecen una vista de las ediciones de cada turno una vez que Claude ha editado archivos. Estas vistas de turno provienen de las ediciones de archivos de Claude en lugar de git, por lo que un cambio que Claude realiza a través de un comando de shell aparece solo bajo `Current`, la vista del árbol de trabajo.637En los cambios que `/diff` lee de git, un submódulo aparece como una sola entrada, y solo cuando cambia el commit al que apunta; las ediciones de archivos dentro del submódulo no aparecen ahí. El panel y el diálogo también ofrecen una vista de las ediciones de cada turno una vez que Claude ha editado archivos. Estas vistas de turno provienen de las ediciones de archivos de Claude y no de git, por lo que un cambio que Claude hace mediante un comando del shell aparece solo en `Current`, la vista del árbol de trabajo.

638 638 

639### Panel de diff639### Panel de diff

640 640 

641El panel de diff enumera los archivos modificados con sus recuentos de líneas añadidas y eliminadas, y muestra el diff de cada archivo bajo la lista. Claude Code lo actualiza cada vez que Claude edita un archivo o ejecuta un comando de shell. Para cerrar el panel, ejecuta `/diff` nuevamente o haz clic en la `✕` en su encabezado.641El panel de diff enumera los archivos modificados con sus recuentos de líneas añadidas y eliminadas, y muestra el diff de cada archivo debajo de la lista. Claude Code lo actualiza cada vez que Claude edita un archivo o ejecuta un comando del shell. Para cerrar el panel, ejecuta `/diff` de nuevo o haz clic en la `✕` de su encabezado.

642 642 

643Para usar el panel necesitas:643Para usar el panel necesitas:

644 644 

645* [Renderizado a pantalla completa](https://code.claude.com/docs/es/fullscreen.md)645* [Renderizado en pantalla completa](https://code.claude.com/docs/es/fullscreen.md)

646* Un repositorio git646* Un repositorio git

647* Una terminal con al menos 110 columnas de ancho647* Una terminal de al menos 110 columnas de ancho

648* Claude Code v2.1.287 o posterior648* Claude Code v2.1.287 o posterior

649 649 

650El panel también se abre por sí solo una vez que Claude comienza a editar archivos, si tu terminal tiene al menos 144 columnas de ancho. Después de haberlo abierto tú mismo con `/diff`, las sesiones posteriores lo abren tan pronto como Claude edita un archivo en cualquier terminal lo suficientemente ancha para contenerlo. Cierra el panel y permanecerá cerrado, en esta sesión y en las posteriores, hasta que ejecutes `/diff` nuevamente.650El panel también se abre solo una vez que Claude empieza a editar archivos, si tu terminal tiene al menos 144 columnas de ancho. Después de que lo hayas abierto tú mismo con `/diff`, las sesiones posteriores lo abren en cuanto Claude edita un archivo en cualquier terminal lo bastante ancha para que quepa. Si cierras el panel, permanece cerrado, en esta sesión y en las siguientes, hasta que vuelvas a ejecutar `/diff`.

651 651 

652Mientras el panel está abierto, puedes:652Mientras el panel está abierto, puedes:

653 653 

654* **Saltar a un archivo**: haz clic en su fila en la lista. Desplaza el panel con la rueda del ratón. Cuando la lista de archivos en sí es demasiado larga para caber, desplázala con `Alt+Up` y `Alt+Down`, o `Ctrl+Up` y `Ctrl+Down`.654* **Saltar a un archivo**: haz clic en su fila de la lista. Desplázate por el panel con la rueda del mouse. Cuando la propia lista de archivos es demasiado larga para caber, desplázala con `Alt+Up` y `Alt+Down`, o `Ctrl+Up` y `Ctrl+Down`.

655* **Preguntar a Claude sobre los cambios de un archivo**: haz clic en `ask`, a la derecha del nombre del archivo encima de su diff. Claude Code adjunta el diff de ese archivo a tu siguiente prompt, y el botón muestra `asked ✓` hasta que envíes ese prompt. Preguntar sobre un segundo archivo reemplaza al primero.655* **Preguntarle a Claude sobre los cambios de un archivo**: haz clic en `ask`, a la derecha del nombre del archivo encima de su diff. Claude Code adjunta el diff de ese archivo a tu siguiente prompt, y el botón muestra `asked ✓` hasta que envíes ese prompt. Preguntar sobre un segundo archivo reemplaza el primero.

656* **Mostrar las ediciones de un turno**: haz clic en el selector `source` en el encabezado del panel, luego elige un turno con `Up` y `Down` y presiona `Enter`. Los turnos se etiquetan como `T1`, `T2`, etc. El selector aparece una vez que Claude ha editado archivos, y `Current` te devuelve al árbol de trabajo.656* **Mostrar las ediciones de un turno**: haz clic en el selector `source` del encabezado del panel, luego elige un turno con `Up` y `Down` y presiona `Enter`. Los turnos se etiquetan como `T1`, `T2`, etc. El selector aparece una vez que Claude ha editado archivos, y `Current` te devuelve al árbol de trabajo.

657* **Mostrar los archivos que el panel omite**: la lista omite archivos de prueba y archivos generados, y colapsa los cambios anteriores a esta sesión en una línea en la parte inferior. Haz clic en cualquier línea de recuento para expandirla.657* **Mostrar los archivos que el panel omite**: la lista omite los archivos de prueba y los archivos generados, y agrupa los cambios anteriores a esta sesión en una sola línea al final. Haz clic en cualquiera de las líneas de recuento para expandirla.

658* **Cambiar con qué compara el panel**: presiona `Ctrl+X B` para cambiar entre los cambios de esta sesión, tus cambios sin confirmar como una lista, y todo desde que tu rama se separó de la rama predeterminada. Claude Code recuerda la opción para cada repositorio.658* **Cambiar contra qué compara el panel**: presiona `Ctrl+X B` para alternar entre los cambios de esta sesión, tus cambios sin commit como una sola lista, y todo lo que ha cambiado desde que tu rama se separó de la rama predeterminada. Claude Code recuerda la elección para cada repositorio.

659 659 

660Para reasignar las teclas que desplazan la lista de archivos o cambian la comparación, consulta [Acciones del panel de diff](https://code.claude.com/docs/es/keybindings.md#diff-panel-actions).660Para reasignar las teclas que desplazan la lista de archivos o cambian la comparación, consulta [Acciones del panel de diff](https://code.claude.com/docs/es/keybindings.md#diff-panel-actions).

661 661 

662Durante una fusión, un rebase, un cherry-pick o un revert sin terminar, el panel sigue mostrando los cambios que leyó por última vez de git, para que no se llene con los cambios entrantes de la operación. Se actualiza en su primera actualización después de que termina la operación, por ejemplo, la próxima vez que Claude edite un archivo.662Durante un merge, rebase, cherry-pick o revert sin terminar, el panel sigue mostrando los cambios que leyó por última vez de git, para que no se llene con los cambios entrantes de la operación. Se actualiza en su primera actualización después de que termine la operación, por ejemplo, la próxima vez que Claude edite un archivo.

663 663 

664### Diálogo de diff664### Diálogo de diff

665 665 

666El diálogo de diff se abre como un bloque con borde encima del prompt y enumera tus archivos modificados con sus recuentos de líneas añadidas y eliminadas. Los compara con `HEAD`, o con lo que hayas [elegido por última vez en el panel de diff](#diff-panel) para este repositorio.666El diálogo de diff se abre como un bloque con borde encima del prompt y enumera tus archivos modificados con sus recuentos de líneas añadidas y eliminadas. Los compara con `HEAD`, o con lo último que hayas [elegido en el panel de diff](#diff-panel) para este repositorio.

667 667 

668Una vez que Claude ha editado archivos, aparece un selector `source` encima de la lista. Ofrece una vista de turno, etiquetada como `T1`, `T2`, etc., para cada uno de tus prompts que llevó a Claude a editar archivos. Una vista de turno muestra solo las ediciones de ese turno, y `Current` te devuelve al árbol de trabajo.668Una vez que Claude ha editado archivos, aparece un selector `source` encima de la lista. Ofrece una vista de turno, etiquetada como `T1`, `T2`, etc., por cada uno de tus prompts que llevó a Claude a editar archivos. Una vista de turno muestra solo las ediciones de ese turno, y `Current` te devuelve al árbol de trabajo.

669 669 

670Usa estas teclas en el diálogo:670Usa estas teclas en el diálogo:

671 671 

672* **Arriba y Abajo**: seleccionar un archivo.672* **Up y Down**: selecciona un archivo.

673* **Intro**: abrir el diff del archivo seleccionado. Desplázalo con Arriba y Abajo, o AvPág y RePág.673* **Enter**: abre el diff del archivo seleccionado. Desplázalo con Up y Down, o con PageUp y PageDown.

674* **Esc**: volver del diff de un archivo a la lista, o cerrar el diálogo desde la lista.674* **Esc**: vuelve del diff de un archivo a la lista, o cierra el diálogo desde la lista.

675* **Tab**: moverte al selector `source`, luego elegir `Current` o una vista de turno con Arriba y Abajo y presionar Intro. En el diff de un archivo, Tab se mueve al botón `ask`. Presiona Intro para adjuntar el diff de ese archivo a tu siguiente prompt.675* **Tab**: pasa al selector `source`, luego elige `Current` o una vista de turno con Up y Down y presiona Enter. En el diff de un archivo, Tab pasa al botón `ask`. Presiona Enter para adjuntar el diff de ese archivo a tu siguiente prompt.

676 676 

677## Preguntas laterales con /btw677## Preguntas laterales con /btw

678 678 


738 738 

739```text theme={null}739```text theme={null}

740Usage limit reached · limit resets 3:45pm740Usage limit reached · limit resets 3:45pm

741Continuing automatically at 3:45pm · esc to cancel741Continuing automatically at 3:45pm · Esc to cancel

742```742```

743 743 

744Cualquiera de las dos líneas puede incluir más texto después de estas palabras, como un enlace de ayuda en la primera o `/usage-credits to continue now` en la segunda. Cuando la espera comienza automáticamente, la conversación también lo registra con una línea que dice `Usage limit reached · continuing automatically at 3:45pm · esc to cancel`.744Cualquiera de las dos líneas puede incluir más texto después de estas palabras, como un enlace de ayuda en la primera o `/usage-credits to continue now` en la segunda. Cuando la espera comienza automáticamente, la conversación también lo registra con una línea que dice `Usage limit reached · continuing automatically at 3:45pm · esc to cancel`.

745 745 

746Mantenga la sesión abierta. Lo que sucede a continuación depende de cómo termine la espera:746Mantenga la sesión abierta. Lo que sucede a continuación depende de cómo termine la espera:

747 747 

748* **En el reinicio**: la segunda línea cambia a `Continuing shortly · esc to cancel`. Luego aparece `Usage limit reset · continuing automatically` en la conversación, y Claude Code le pide a Claude que retome la tarea donde se detuvo. No reenvía tu último prompt.748* **En el reinicio**: la segunda línea cambia a `Continuing shortly · Esc to cancel`. Luego aparece `Usage limit reset · Continuing automatically` en la conversación, y Claude Code le pide a Claude que retome la tarea donde se detuvo. No reenvía tu último prompt.

749* **Después de que tu computadora se suspendió**: si estuvo suspendida durante más de aproximadamente 30 minutos y el límite se reinició mientras tanto, la primera línea dice `Your usage limit has reset` y la segunda dice `Press enter to continue`. Presiona `Enter` para continuar. Después de una suspensión más corta, o de una que terminó antes del reinicio, Claude Code continúa automáticamente.749* **Después de que tu computadora se suspendió**: si estuvo suspendida durante más de aproximadamente 30 minutos y el límite se reinició mientras tanto, la primera línea dice `Your usage limit has reset` y la segunda dice `Press enter to continue`. Presiona `Enter` para continuar. Después de una suspensión más corta, o de una que terminó antes del reinicio, Claude Code continúa automáticamente.

750* **Temprano**: cuando termina de agregar [créditos de uso](https://code.claude.com/docs/es/costs.md#add-usage-credits-to-your-subscription) con `/usage-credits`, inicia sesión nuevamente después de `/upgrade`, o cambia modelos con `/model` durante la espera, Claude Code verifica si el uso está disponible nuevamente y continúa de inmediato si es así. No verifica después de una actualización o compra que realice en un navegador por su cuenta. En [`opusplan`](https://code.claude.com/docs/es/model-config#opusplan-model-setting) y otras configuraciones de modelo que ejecutan el modo de plan en un modelo diferente, Claude Code espera el reinicio en su lugar.750* **Temprano**: cuando termina de agregar [créditos de uso](https://code.claude.com/docs/es/costs.md#add-usage-credits-to-your-subscription) con `/usage-credits`, inicia sesión nuevamente después de `/upgrade`, o cambia modelos con `/model` durante la espera, Claude Code verifica si el uso está disponible nuevamente y continúa de inmediato si es así. No verifica después de una actualización o compra que realice en un navegador por su cuenta. En [`opusplan`](https://code.claude.com/docs/es/model-config#opusplan-model-setting) y otras configuraciones de modelo que ejecutan el modo de plan en un modelo diferente, Claude Code espera el reinicio en su lugar.

751 751 

Details

178* [`forceRemoteSettingsRefresh`](https://code.claude.com/docs/es/server-managed-settings)178* [`forceRemoteSettingsRefresh`](https://code.claude.com/docs/es/server-managed-settings)

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

180 180 

181Las [claves de inicio de sesión del gateway](#choose-a-delivery-mechanism) siguen una regla separada. Claude Code nunca las lee de la configuración administrada por servidor, por lo que mientras la configuración administrada por servidor es la fuente seleccionada, la fuente de administrador con mayor rango en la máquina que lleva una clave de política aún las suministra. Un valor en una fuente de administrador clasificada por debajo de esa, o en el registro HKCU, se ignora.

182 

183[`allowedProviders`](https://code.claude.com/docs/es/settings-reference#allowedproviders) tiene su propia regla: la nota Scope de su entrada dice cómo una lista establecida en la máquina se combina con una administrada por servidor. Requiere Claude Code v2.1.285 o posterior.181[`allowedProviders`](https://code.claude.com/docs/es/settings-reference#allowedproviders) tiene su propia regla: la nota Scope de su entrada dice cómo una lista establecida en la máquina se combina con una administrada por servidor. Requiere Claude Code v2.1.285 o posterior.

184 182 

185Cuando una fuente de administrador establece `allowManagedMcpServersOnly` o una lista `allowedMcpServers` y ese valor no es el que está en vigor, `/status` y `claude doctor` nombran esa fuente y clave.183Cuando una fuente de administrador establece `allowManagedMcpServersOnly` o una lista `allowedMcpServers` y ese valor no es el que está en vigor, `/status` y `claude doctor` nombran esa fuente y clave.

186 184 

185#### Qué fuente administrada suministra las claves de inicio de sesión

186 

187En una máquina con una política MDM o un archivo de configuración administrada, Claude Code toma las claves de inicio de sesión de esa política o archivo, incluso para una clave que la [configuración remota](#how-claude-code-combines-managed-sources) también establece. La configuración de la consola de administración de claude.ai es configuración remota, así que establece las claves de inicio de sesión como [`forceLoginOrgUUID`](https://code.claude.com/docs/es/settings-reference#forceloginorguuid) en la política MDM o en el archivo.

188 

189Si una máquina tiene tanto una política MDM como un archivo de configuración administrada, usa la política MDM. Cuando esa política establece cualquier [clave de política](#how-claude-code-combines-managed-sources), Claude Code ignora las claves de inicio de sesión del archivo, [incluso con `managedSourcesBehavior: "merge"`](#compose-every-managed-source).

190 

191Las claves de inicio de sesión son:

192 

193* `forceLoginOrgUUID` y `forceLoginMethod` establecida en `"claudeai"` o `"console"`: si la política o el archivo omite alguna de las dos claves, se aplica el valor de la configuración remota. Hasta que todos los clientes ejecuten v2.1.299 o posterior, establece también las claves en la [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) desde claude.ai

194* Las [claves de inicio de sesión del gateway](#choose-a-delivery-mechanism): Claude Code no usa un valor de la configuración remota para el inicio de sesión en el gateway

195 

187### Componer cada fuente administrada196### Componer cada fuente administrada

188 197 

189Para que Claude Code aplique cada fuente de administrador que tu organización entrega, establece [`managedSourcesBehavior`](https://code.claude.com/docs/es/settings-reference#managedsourcesbehavior) en `"merge"` en la fuente con mayor rango que implementes. Claude Code lee la clave solo de la fuente con mayor rango que lleva la clave o una clave de política, por lo que una fuente inferior no puede optar por combinarse con la fuente que está por encima de ella, y una máquina que nunca recibe configuración administrada por servidor también necesita la clave en su perfil MDM. El registro HKCU escribible por el usuario nunca se combina con otra fuente. Requiere Claude Code v2.1.242 o posterior.198Para que Claude Code aplique cada fuente de administrador que tu organización entrega, establece [`managedSourcesBehavior`](https://code.claude.com/docs/es/settings-reference#managedsourcesbehavior) en `"merge"` en la fuente con mayor rango que implementes. Claude Code lee la clave solo de la fuente con mayor rango que lleva la clave o una clave de política, por lo que una fuente inferior no puede optar por combinarse con la fuente que está por encima de ella, y una máquina que nunca recibe configuración administrada por servidor también necesita la clave en su perfil MDM. El registro HKCU escribible por el usuario nunca se combina con otra fuente. Requiere Claude Code v2.1.242 o posterior.


199| Listas de permitidos de restricción | Toma la lista completa de la fuente con mayor rango que la establece, sin agregar entradas de fuentes inferiores | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins` y la cadena `fallbackModel` |208| Listas de permitidos de restricción | Toma la lista completa de la fuente con mayor rango que la establece, sin agregar entradas de fuentes inferiores | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins` y la cadena `fallbackModel` |

200| Valores tomados completos | Toma el valor completo de la fuente con mayor rango que lo establece, sin combinar entradas o campos de fuentes inferiores | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |209| Valores tomados completos | Toma el valor completo de la fuente con mayor rango que lo establece, sin combinar entradas o campos de fuentes inferiores | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |

201| Servidores MCP proporcionados | Combina los nombres de servidor de cada fuente; cuando dos fuentes establecen el mismo nombre, aplica la entrada completa de la fuente con mayor rango | `managedMcpServers` |210| Servidores MCP proporcionados | Combina los nombres de servidor de cada fuente; cuando dos fuentes establecen el mismo nombre, aplica la entrada completa de la fuente con mayor rango | `managedMcpServers` |

202| Claves leídas solo de la fuente con mayor rango | Ignora la clave en cada fuente inferior, incluso cuando la fuente con mayor rango la deja sin establecer | Ayudantes de credenciales como `apiKeyHelper`, fijaciones de inicio de sesión como `forceLoginOrgUUID`, `modelPicker`, `permissions.defaultMode` |211| Claves leídas solo de la fuente con mayor rango | Ignora la clave en cada fuente inferior, incluso cuando la fuente con mayor rango la deja sin establecer | `modelPicker`, `permissions.defaultMode` y ayudantes de credenciales como `apiKeyHelper` |

203| `env` | Se combina por variable en las fuentes de administrador con cualquiera de los dos ajustes, como describe [Claves leídas de cada fuente de administrador](#keys-read-from-every-admin-source) | |212| `env` | Se combina por variable en las fuentes de administrador con cualquiera de los dos ajustes, como describe [Claves leídas de cada fuente de administrador](#keys-read-from-every-admin-source) | |

213| Claves de inicio de sesión | Con cualquiera de los dos ajustes, las toma de la política MDM o del archivo de configuración administrada, el que tenga mayor rango entre los que llevan una [clave de política](#how-claude-code-combines-managed-sources), [por delante de la configuración remota](#which-managed-source-supplies-login-keys) | `forceLoginOrgUUID`, `forceLoginMethod` y las [claves de inicio de sesión del gateway](#choose-a-delivery-mechanism) |

204| Cualquier otra clave | Toma el valor de la fuente con mayor rango que lo establece | `model`, `cleanupPeriodDays` |214| Cualquier otra clave | Toma el valor de la fuente con mayor rango que lo establece | `model`, `cleanupPeriodDays` |

205 215 

206Para confirmar qué fuentes se combinaron en una máquina, [lee la línea `Setting sources` en `/status`](#read-the-source-in-/status); esa sección dice qué significa cada etiqueta.216Para confirmar qué fuentes se combinaron en una máquina, [lee la línea `Setting sources` en `/status`](#read-the-source-in-/status); esa sección dice qué significa cada etiqueta.


228Claude Code también aplica estas comprobaciones por separado a los valores suministrados por el host principal:238Claude Code también aplica estas comprobaciones por separado a los valores suministrados por el host principal:

229 239 

230* Cuando cualquier fuente de administrador establece `allowManagedPermissionRulesOnly`, Claude Code descarta las reglas allow de permisos [suministradas por el host principal](https://code.claude.com/docs/es/claude-apps-gateway#restrict-parent-settings) y `additionalDirectories` a medida que las lee, incluso cuando una fuente de mayor prioridad deja la clave sin establecer. El efecto de la clave en tus propias reglas de permisos proviene de la configuración administrada que Claude Code aplica, o de la configuración principal que hayas elegido combinar240* Cuando cualquier fuente de administrador establece `allowManagedPermissionRulesOnly`, Claude Code descarta las reglas allow de permisos [suministradas por el host principal](https://code.claude.com/docs/es/claude-apps-gateway#restrict-parent-settings) y `additionalDirectories` a medida que las lee, incluso cuando una fuente de mayor prioridad deja la clave sin establecer. El efecto de la clave en tus propias reglas de permisos proviene de la configuración administrada que Claude Code aplica, o de la configuración principal que hayas elegido combinar

231* Claude Code aplica el valor `forceLoginOrgUUID` o `allowedMcpServers` de la configuración administrada que aplica y bloquea uno suministrado por el host principal. Fuera del bloqueo de la lista de servidores MCP permitidos, un valor en una fuente de administrador inferior que Claude Code no aplica ni se aplica ni bloquea el del host principal.241* Claude Code aplica el valor `forceLoginOrgUUID` o `allowedMcpServers` de la configuración administrada que aplica y bloquea uno suministrado por el host principal. Si entregas más de una fuente administrada, consulta [qué fuente suministra `forceLoginOrgUUID`](#which-managed-source-supplies-login-keys).

232 242 

233 En Claude Code v2.1.273 o posterior, mientras `allowManagedMcpServersOnly` está activo, la lista `allowedMcpServers` de la fuente de administrador con mayor rango que establece una se aplica y bloquea la del host principal, como [clave entre fuentes](#keys-read-from-every-admin-source). La lista del host principal se aplica solo cuando ninguna fuente de administrador establece una. La entrada [`managedSourcesBehavior`](https://code.claude.com/docs/es/settings-reference#managedsourcesbehavior) dice qué fuente suministra cada clave con `"merge"`. Antes de v2.1.223, un valor en cualquier fuente de administrador bloqueaba el del host principal243 En Claude Code v2.1.273 o posterior, mientras `allowManagedMcpServersOnly` está activo, la lista `allowedMcpServers` de la fuente de administrador con mayor rango que establece una se aplica y bloquea la del host principal, como [clave entre fuentes](#keys-read-from-every-admin-source). La lista del host principal se aplica solo cuando ninguna fuente de administrador establece una. La entrada [`managedSourcesBehavior`](https://code.claude.com/docs/es/settings-reference#managedsourcesbehavior) dice qué fuente suministra cada clave con `"merge"`. Antes de v2.1.223, un valor en cualquier fuente de administrador bloqueaba el del host principal

234* Para `availableModels`, Claude Code aplica el valor de la configuración administrada que aplica y bloquea una lista suministrada por el host principal244* Para `availableModels`, Claude Code aplica el valor de la configuración administrada que aplica y bloquea una lista suministrada por el host principal

mcp.md +45 −18

Details

242/mcp242/mcp

243```243```

244 244 

245Cuando eliminas un servidor remoto, Claude Code también elimina los tokens OAuth y el registro de cliente que almacenó para ese servidor.245Cuando eliminas un servidor remoto, Claude Code también borra los tokens OAuth y el registro de cliente que almacenó para ese servidor. Claude Code no revoca los tokens en el servidor de autorización que los emitió. Para revocar los tokens cuando el servidor de autorización admite la revocación, ejecuta [`claude mcp logout <name>`](#authenticate-from-the-command-line) en tu shell antes de `claude mcp remove <name>`.

246 246 

247#### Estado del servidor247#### Estado del servidor

248 248 


255* ``⏸ Pending approval (run `claude` to approve)``: un servidor con alcance de proyecto de `.mcp.json` que aún no has aprobado. Claude Code lo muestra tanto en `claude mcp list` como en `claude mcp get <name>`. Ejecuta `claude` de forma interactiva para revisarlo y aprobarlo.255* ``⏸ Pending approval (run `claude` to approve)``: un servidor con alcance de proyecto de `.mcp.json` que aún no has aprobado. Claude Code lo muestra tanto en `claude mcp list` como en `claude mcp get <name>`. Ejecuta `claude` de forma interactiva para revisarlo y aprobarlo.

256* `✘ Rejected (see disabledMcpjsonServers in settings)`: un servidor `.mcp.json` que una entrada [`disabledMcpjsonServers`](https://code.claude.com/docs/es/settings-reference#disabledmcpjsonservers) rechaza. Claude Code lo muestra solo en `claude mcp get <name>`.256* `✘ Rejected (see disabledMcpjsonServers in settings)`: un servidor `.mcp.json` que una entrada [`disabledMcpjsonServers`](https://code.claude.com/docs/es/settings-reference#disabledmcpjsonservers) rechaza. Claude Code lo muestra solo en `claude mcp get <name>`.

257* `⊘ Disabled for this project (re-enable via /mcp)`: un servidor que la lista [`disabledMcpServers`](#disable-a-server-without-removing-it) del proyecto nombra. Claude Code lo muestra tanto en `claude mcp list` como en `claude mcp get <name>`. Vuelve a activar el servidor desde el panel `/mcp`.257* `⊘ Disabled for this project (re-enable via /mcp)`: un servidor que la lista [`disabledMcpServers`](#disable-a-server-without-removing-it) del proyecto nombra. Claude Code lo muestra tanto en `claude mcp list` como en `claude mcp get <name>`. Vuelve a activar el servidor desde el panel `/mcp`.

258* `✘ Blocked by enterprise managed policy`: un servidor que rechaza una de las políticas de tu organización. Claude Code lo muestra tanto en `claude mcp list` como en `claude mcp get <name>`. Un servidor bloqueado por una lista de permitidos, una lista de denegados u otra restricción en la [configuración MCP administrada](https://code.claude.com/docs/es/managed-mcp.md#how-restrictions-appear-to-users) se oculta en ambos comandos en lugar de mostrarse con este estado. Pregunta a tu administrador qué política bloquea el servidor.

258 259 

259#### Aprobaciones de servidores de proyecto y confianza del espacio de trabajo260#### Aprobaciones de servidores de proyecto y confianza del espacio de trabajo

260 261 


471Para cambiar o desactivar el paso automático a segundo plano:472Para cambiar o desactivar el paso automático a segundo plano:

472 473 

473* Establece la variable de entorno [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](https://code.claude.com/docs/es/env-vars) en milisegundos para cambiar el umbral, o establécela en `0` para desactivar el paso automático a segundo plano. Con `0`, Claude también [espera las tareas MCP](#make-claude-wait-for-the-result-of-an-mcp-task) en una sesión interactiva474* Establece la variable de entorno [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](https://code.claude.com/docs/es/env-vars) en milisegundos para cambiar el umbral, o establécela en `0` para desactivar el paso automático a segundo plano. Con `0`, Claude también [espera las tareas MCP](#make-claude-wait-for-the-result-of-an-mcp-task) en una sesión interactiva

474* Establece [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/es/env-vars) en `1`, lo que lo desactiva junto con los comandos en segundo plano y los subagentes en segundo plano475* Establece [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/es/env-vars) en `1` para desactivar el paso automático a segundo plano y los [comandos en segundo plano](https://code.claude.com/docs/es/tools-reference.md#background-commands)

475 476 

476Algunas llamadas nunca pasan a segundo plano:477Algunas llamadas nunca pasan a segundo plano:

477 478 


828 829 

829Claude Code admite la expansión de variables de entorno en archivos `.mcp.json`, permitiendo que los equipos compartan configuraciones mientras mantienen flexibilidad para rutas específicas de máquinas y valores sensibles como claves API.830Claude Code admite la expansión de variables de entorno en archivos `.mcp.json`, permitiendo que los equipos compartan configuraciones mientras mantienen flexibilidad para rutas específicas de máquinas y valores sensibles como claves API.

830 831 

831#### Sintaxis soportada832Puedes hacer referencia a una variable de entorno en el valor `command`, `args`, `env`, `url` o `headers` de un servidor, de cualquiera de estas dos formas:

832 833 

833* `${VAR}`: se expande al valor de la variable de entorno `VAR`834* `${VAR}`: se expande al valor de la variable de entorno `VAR`

834* `${VAR:-default}`: se expande a `VAR` si está establecida, de lo contrario usa `default`835* `${VAR:-default}`: se expande al valor de `VAR` si `VAR` está establecida, o a `default` si no lo está

835 

836#### Ubicaciones de expansión

837 

838Las variables de entorno se pueden expandir en:

839 

840* `command`: la ruta del ejecutable del servidor

841* `args`: argumentos de línea de comandos

842* `env`: variables de entorno pasadas al servidor

843* `url`: para tipos de servidor HTTP

844* `headers`: para autenticación de servidor HTTP

845 836 

846#### Ejemplo con expansión de variables837#### Ejemplo con expansión de variables

847 838 

839En esta entrada de servidor, la URL es el valor de `API_BASE_URL` seguido de `/mcp`, con `https://api.example.com` como valor predeterminado, y la clave de API proviene de `API_KEY`:

840 

848```json theme={null}841```json theme={null}

849{842{

850 "mcpServers": {843 "mcpServers": {


863 856 

864Si una variable de entorno referenciada no está establecida y no tiene un valor predeterminado, la configuración aún se carga: Claude Code informa una advertencia de variable faltante para ese servidor en la salida de `claude mcp list` y usa el texto `${VAR}` sin expandir tal como está. Establezca la variable o agregue un fallback `:-default` para que el servidor se inicie con el valor que pretende. En la `url` y `headers` de un servidor remoto, algunas variables de credenciales [se leen como vacías](#credential-variables-that-read-as-empty) en su lugar, sin advertencia.857Si una variable de entorno referenciada no está establecida y no tiene un valor predeterminado, la configuración aún se carga: Claude Code informa una advertencia de variable faltante para ese servidor en la salida de `claude mcp list` y usa el texto `${VAR}` sin expandir tal como está. Establezca la variable o agregue un fallback `:-default` para que el servidor se inicie con el valor que pretende. En la `url` y `headers` de un servidor remoto, algunas variables de credenciales [se leen como vacías](#credential-variables-that-read-as-empty) en su lugar, sin advertencia.

865 858 

859#### Variables establecidas como cadena vacía

860 

861Si estableces una variable como cadena vacía, cuenta como establecida, por lo que una referencia `${VAR:-default}` se expande a la cadena vacía en lugar de a `default`. Con el [servidor de ejemplo](#example-with-variable-expansion), si estableces `API_BASE_URL` como cadena vacía, su `url` se convierte en `/mcp` y `claude mcp list` informa `'url' is not a valid URL`. Para usar el valor predeterminado, elimina la variable en lugar de establecerla como cadena vacía.

862 

866#### Variables de credenciales que se leen como vacías863#### Variables de credenciales que se leen como vacías

867 864 

868En la `url` y `headers` de un servidor remoto, Claude Code lee las variables de credenciales de su entorno como vacías en lugar de expandirlas. Esto evita que la `.mcp.json` de un proyecto o un plugin envíe sus credenciales de Claude Code o proveedor de nube a un servidor que nombra. Si escribe `Bearer ${ANTHROPIC_AUTH_TOKEN}`, el servidor recibe `Bearer ` sin credencial y rechaza la solicitud, generalmente con un `401`. Claude Code informa eso como una conexión fallida.865En la `url` y `headers` de un servidor remoto, Claude Code lee las variables de credenciales de su entorno como vacías en lugar de expandirlas. Esto evita que la `.mcp.json` de un proyecto o un plugin envíe sus credenciales de Claude Code o proveedor de nube a un servidor que nombra. Si escribe `Bearer ${ANTHROPIC_AUTH_TOKEN}`, el servidor recibe `Bearer ` sin credencial y rechaza la solicitud, generalmente con un `401`. Claude Code informa eso como una conexión fallida.


1146 1143 

1147Si ese alcance no está en tu `oauth.scopes` fijado, agrégalo y luego ejecuta `/mcp` y autentica el servidor nuevamente. Claude Code solicita los alcances fijados en lugar del alcance que el servidor nombró, por lo que si te autenticas nuevamente sin agregarlo, el token que obtienes aún carece de él.1144Si ese alcance no está en tu `oauth.scopes` fijado, agrégalo y luego ejecuta `/mcp` y autentica el servidor nuevamente. Claude Code solicita los alcances fijados en lugar del alcance que el servidor nombró, por lo que si te autenticas nuevamente sin agregarlo, el token que obtienes aún carece de él.

1148 1145 

1146### Usa OAuth con un servidor detrás de un proxy que autentica

1147 

1148Si tu servidor MCP usa OAuth detrás de un proxy o gateway que verifica un encabezado propio, el inicio de sesión falla cuando las solicitudes OAuth llegan sin ese encabezado. Iniciar sesión a través del proxy requiere Claude Code v2.1.299 o posterior, con el encabezado y el inicio de sesión configurados:

1149 

1150* **El encabezado del proxy**: pásalo con [`--header`](#option-1-add-a-remote-http-server), el campo `headers` o un [`headersHelper`](#use-dynamic-headers-for-custom-authentication), con el nombre que lee el proxy

1151* **El inicio de sesión OAuth**: mantén `Authorization` fuera de los encabezados configurados y luego inicia sesión con `claude mcp login <name>` en tu shell. Si configuras un encabezado `Authorization`, Claude Code lo usa como la credencial del servidor y no recurre a OAuth para ese servidor.

1152 

1149### Usa encabezados dinámicos para autenticación personalizada1153### Usa encabezados dinámicos para autenticación personalizada

1150 1154 

1151Si tu servidor MCP usa un esquema de autenticación distinto de OAuth, como Kerberos, tokens de corta duración o un SSO interno, usa `headersHelper` para generar encabezados de solicitud en el momento de la conexión. Claude Code ejecuta el comando y combina su salida con los encabezados de conexión.1155Cuando una autenticación como Kerberos, tokens de corta duración o un SSO interno necesita encabezados generados en el momento de la conexión, establece el `headersHelper` del servidor en un comando. Claude Code lo ejecuta al conectar y combina su salida con los encabezados que envía. Este ejemplo usa un script:

1152 1156 

1153```json theme={null}1157```json theme={null}

1154{1158{


1552 1556 

1553## Herramientas con esquemas de entrada inválidos1557## Herramientas con esquemas de entrada inválidos

1554 1558 

1555La API de Claude verifica el esquema de entrada de cada herramienta en una solicitud y rechaza toda la solicitud cuando algún esquema falla, por lo que una única herramienta MCP con un esquema malformado haría que todas las solicitudes que la incluyan fallen con un error 400. Claude Code ejecuta dos de las comprobaciones de la API por sí mismo cuando carga las herramientas de un servidor y excluye cada herramienta que fallaría en ellas, de modo que las otras herramientas del servidor sigan funcionando:1559> [!NOTE]

1560>

1561> Si tu sesión falla con un error 400 que nombra una herramienta por su posición, sigue los pasos de [Tool input schema is invalid](https://code.claude.com/docs/es/errors.md#tool-input-schema-is-invalid).

1562 

1563Si una de las herramientas de tu servidor MCP tiene un esquema de entrada que incumple alguna de las dos reglas que aplica la API, Claude Code excluye esa herramienta. Las otras herramientas del servidor no se ven afectadas. Claude Code comprueba ambas reglas mientras carga las herramientas del servidor:

1556 1564 

1557* Los nombres de propiedades de nivel superior deben tener entre 1 y 64 caracteres de largo y usar solo letras ASCII y dígitos, `_`, `.` y `-`1565* Los nombres de propiedades de nivel superior deben tener entre 1 y 64 caracteres de largo y usar solo letras ASCII y dígitos, `_`, `.` y `-`

1558* El esquema debe ser válido contra el meta-esquema de JSON Schema draft 2020-12. Claude Code aplica esta comprobación a esquemas que no declaran `$schema` y esquemas que declaran draft 2020-12. Un esquema que declara cualquier otro dialecto omite esta comprobación, aunque la comprobación de nombres de propiedades anterior sigue aplicándose1566* El esquema debe ser válido contra el meta-esquema de JSON Schema draft 2020-12. Claude Code aplica esta comprobación a esquemas que no declaran `$schema` y esquemas que declaran draft 2020-12. Un esquema que declara cualquier otro dialecto omite esta comprobación, aunque la comprobación de nombres de propiedades anterior sigue aplicándose

1559 1567 

1560Cuando Claude Code excluye una herramienta, registra el motivo en el registro del servidor e indica a Claude qué herramientas excluyó y por qué, para que pueda preguntarle a Claude por qué falta una herramienta. Si corrige el esquema en el servidor, la herramienta reaparece la próxima vez que Claude Code carga las herramientas del servidor.1568Cuando Claude Code excluye una herramienta, registra el motivo en el registro del servidor e indica a Claude qué herramientas excluyó y por qué, para que pueda preguntarle a Claude por qué falta una herramienta. Si corrige el esquema en el servidor, la herramienta reaparece la próxima vez que Claude Code carga las herramientas del servidor.

1561 1569 

1562Claude Code activa la exclusión a través de una bandera de características que obtiene de Anthropic. En una [implementación donde la obtención de banderas está desactivada](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), o en una máquina cuyas banderas nunca han llegado, como una máquina aislada, Claude Code sigue ejecutando las comprobaciones y registra en el registro del servidor qué herramienta sería rechazada, pero envía el esquema de la herramienta a la API de todas formas. La API rechaza una solicitud que incluya ese esquema con [un error 400 que nombra la herramienta por su posición](https://code.claude.com/docs/es/errors.md#tool-input-schema-is-invalid). Antes de v2.1.216, ninguna implementación ejecutaba estas comprobaciones.1570Cuando la [obtención de banderas de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching) está desactivada o las banderas nunca han llegado, como en una máquina aislada, una herramienta que incumple una regla no se excluye:

1571 

1572* Claude recibe la herramienta sin cambios, y el registro del servidor anota `input schema would be rejected by the Anthropic API` para ella

1573* Si luego la API rechaza el esquema, consulta [Herramientas cuyo esquema de entrada rechaza la API](#tools-whose-input-schema-the-api-refuses)

1574 

1575Antes de v2.1.216, ningún despliegue ejecutaba estas comprobaciones.

1563 1576 

1564El [manejo de combinador de nivel raíz](#tool-input-schemas-with-a-root-level-combinator) es independiente y mantiene su propio comportamiento cuando la obtención de banderas está desactivada o las banderas nunca han llegado.1577El [manejo de combinador de nivel raíz](#tool-input-schemas-with-a-root-level-combinator) es independiente y mantiene su propio comportamiento cuando la obtención de banderas está desactivada o las banderas nunca han llegado.

1565 1578 

1579### Herramientas cuyo esquema de entrada rechaza la API

1580 

1581Si una línea del registro de depuración contiene `the API refused this tool's input schema`, nombra una herramienta cuyo esquema la API rechazó en una solicitud. Claude Code vuelve a enviar esa solicitud con la herramienta declarada sin parámetros.

1582 

1583* **Si tu sesión falla con un error 400 que nombra una herramienta por su posición**: sigue los pasos de [Tool input schema is invalid](https://code.claude.com/docs/es/errors.md#tool-input-schema-is-invalid)

1584* **Si usas el servidor**: no necesitas hacer nada. Claude aún puede llamar a la herramienta, pero no ve sus parámetros

1585* **Si mantienes el servidor**: corrige el esquema de entrada de la herramienta en el servidor. La línea del registro termina con `The API said:` y el motivo por el que la API rechazó el esquema. Valida los argumentos que recibe el servidor, porque Claude llama a la herramienta sin ver sus parámetros

1586 

1587Antes de v2.1.300, cada turno que incluía el esquema rechazado fallaba con [un error 400 que nombra la herramienta por su posición](https://code.claude.com/docs/es/errors.md#tool-input-schema-is-invalid).

1588 

1566## Herramientas con nombres de más de 128 caracteres1589## Herramientas con nombres de más de 128 caracteres

1567 1590 

1568Si `/mcp` muestra una herramienta que Claude no puede llamar, verifica si el nombre completo de la herramienta tiene más de 128 caracteres. Ejecuta `/mcp` en tu sesión y selecciona la herramienta para ver su nombre completo, como `mcp__<server>__<tool>`. Claude Code omite una herramienta MCP de las herramientas que envía a Claude cuando su nombre completo supera los 128 caracteres. La API de Claude rechaza una solicitud que incluya una herramienta así, por lo que omitir la herramienta permite que las demás herramientas del servidor sigan funcionando.1591Si `/mcp` muestra una herramienta que Claude no puede llamar, verifica si el nombre completo de la herramienta tiene más de 128 caracteres. Ejecuta `/mcp` en tu sesión y selecciona la herramienta para ver su nombre completo, como `mcp__<server>__<tool>`. Claude Code omite una herramienta MCP de las herramientas que envía a Claude cuando su nombre completo supera los 128 caracteres. La API de Claude rechaza una solicitud que incluya una herramienta así, por lo que omitir la herramienta permite que las demás herramientas del servidor sigan funcionando.


1709 1732 

1710Antes de v2.1.296, el límite más corto era de 2.048 caracteres, y antes de v2.1.295 se aplicaba a todas las descripciones de herramientas, incluidas las que se cargan a través de la búsqueda de herramientas.1733Antes de v2.1.296, el límite más corto era de 2.048 caracteres, y antes de v2.1.295 se aplicaba a todas las descripciones de herramientas, incluidas las que se cargan a través de la búsqueda de herramientas.

1711 1734 

1712Las descripciones y las instrucciones de algunos de los servidores MCP que Anthropic aloja en `api.anthropic.com` llegan completas a Claude. Para cambiar los límites para los demás servidores MCP de tu sesión, establece [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](https://code.claude.com/docs/es/env-vars#variables) en un número de caracteres. El número que establezcas reemplaza ambos límites: `8192`, por ejemplo, aumenta el límite más corto y reduce el más largo. Esta variable requiere Claude Code v2.1.280 o posterior.1735#### Cambiar los límites de longitud de las descripciones

1736 

1737Para cambiar los [límites predeterminados](#for-mcp-server-authors) de 4.096 y 16.384 caracteres para los servidores MCP de tu sesión, establece [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](https://code.claude.com/docs/es/env-vars#variables) en un número de caracteres. Claude Code usa ese número para ambos límites. Con `8192`, por ejemplo, aumentas el límite de 4.096 caracteres para las instrucciones del servidor y las descripciones de herramientas que se cargan por adelantado, y reduces el límite de 16.384 caracteres para las descripciones de herramientas que se cargan a través de la búsqueda de herramientas. Esta variable requiere Claude Code v2.1.280 o posterior.

1738 

1739Las descripciones y las instrucciones de algunos de los servidores MCP que Anthropic aloja en `api.anthropic.com` llegan completas a Claude, y establecer esta variable no las corta.

1713 1740 

1714#### Marcar una herramienta para que se cargue por adelantado o permanezca diferida1741#### Marcar una herramienta para que se cargue por adelantado o permanezca diferida

1715 1742 

mcp-quickstart.md +30 −29

Details

65| `✘ Connection error` | El intento de conexión lanzó un error. Consulte [Solución de problemas](#troubleshooting) |65| `✘ Connection error` | El intento de conexión lanzó un error. Consulte [Solución de problemas](#troubleshooting) |

66| ``⏸ Pending approval (run `claude` to approve)`` | Un servidor con ámbito de proyecto que aún no ha aprobado. Consulte [Editar .mcp.json directamente](#edit-mcp-json-directly) |66| ``⏸ Pending approval (run `claude` to approve)`` | Un servidor con ámbito de proyecto que aún no ha aprobado. Consulte [Editar .mcp.json directamente](#edit-mcp-json-directly) |

67| `⊘ Disabled for this project (re-enable via /mcp)` | Un servidor desactivado para este proyecto por la lista `disabledMcpServers` del proyecto. Consulte [Deshabilitar un servidor sin eliminarlo](https://code.claude.com/docs/es/mcp.md#disable-a-server-without-removing-it) |67| `⊘ Disabled for this project (re-enable via /mcp)` | Un servidor desactivado para este proyecto por la lista `disabledMcpServers` del proyecto. Consulte [Deshabilitar un servidor sin eliminarlo](https://code.claude.com/docs/es/mcp.md#disable-a-server-without-removing-it) |

68| `✘ Blocked by enterprise managed policy` | Una de las políticas de tu organización bloquea este servidor, por lo que Claude Code no se conectará. Pregunta a tu administrador de qué política se trata. Consulta [Estado del servidor](https://code.claude.com/docs/es/mcp.md#server-status) |

68 69 

69Algunas consolas heredadas de Windows, como la consola predeterminada en Windows 10, no admiten estos glifos Unicode y muestran `√` y `×` en lugar de `✔` y `✘`.70Algunas consolas heredadas de Windows, como la consola predeterminada en Windows 10, no admiten estos glifos Unicode y muestran `√` y `×` en lugar de `✔` y `✘`.

70 71 


156 157 

157## Ejemplos adicionales de servidores MCP158## Ejemplos adicionales de servidores MCP

158 159 

159El primer tutorial utilizó un servidor alojado que se conecta sin ningún inicio de sesión. Los ejemplos a continuación cubren las otras dos formas comunes, con el mismo flujo de agregar, verificar, usar.160El primer recorrido usó un servidor alojado que se conecta sin necesidad de iniciar sesión. Los ejemplos siguientes cubren las otras dos formas comunes, con el mismo flujo de agregar, verificar y usar.

160 161 

161### Agregar un servidor local162### Agregar un servidor local

162 163 

163Un servidor stdio local es un programa que Claude Code inicia como un subproceso en su máquina, en lugar de un servicio al que accede a través de una URL. Use uno para herramientas que necesitan acceso a recursos locales como un navegador, su sistema de archivos o un socket de base de datos.164Un servidor stdio local es un programa que Claude Code inicia como subproceso en tu máquina, en lugar de un servicio al que accede mediante una URL. Usa uno para herramientas que necesitan acceso a recursos locales como un navegador, tu sistema de archivos o un socket de base de datos.

164 165 

165El [servidor MCP de Playwright](https://github.com/microsoft/playwright-mcp) es uno bueno para probar: le da a Claude un navegador que puede navegar, hacer clic y leer, y no necesita ninguna cuenta. Se ejecuta a través de `npx`, por lo que requiere [Node.js](https://nodejs.org/en/download) 18 o posterior.166El [servidor MCP de Playwright](https://github.com/microsoft/playwright-mcp) es una buena opción para probar: le da a Claude un navegador que puede navegar, en el que puede hacer clic y cuyo contenido puede leer, y no requiere ninguna cuenta. Se ejecuta mediante `npx`, por lo que requiere [Node.js](https://nodejs.org/en/download) 18 o posterior.

166 167 

167**1. Agregar el servidor Playwright**168**1. Agrega el servidor de Playwright**

168 169 

169Registre el servidor con el comando que Claude Code debe ejecutar para iniciarlo:170Registra el servidor con el comando que Claude Code debe ejecutar para iniciarlo:

170 171 

171```bash theme={null}172```bash theme={null}

172claude mcp add playwright -- npx -y @playwright/mcp@latest173claude mcp add playwright -- npx -y @playwright/mcp@latest

173```174```

174 175 

175Este comando difiere del ejemplo alojado de tres maneras:176Este comando difiere del ejemplo alojado en tres aspectos:

176 177 

177* No hay bandera `--transport`, porque los servidores locales usan el transporte predeterminado `stdio`.178* No hay flag `--transport`, porque los servidores locales usan el transporte `stdio` predeterminado.

178* Todo después del separador `--` es el comando que Claude Code ejecuta para iniciar el servidor.179* Todo lo que va después del separador `--` es el comando que Claude Code ejecuta para iniciar el servidor.

179* `-y` le dice a `npx` que instale el paquete sin preguntar.180* `-y` le indica a `npx` que instale el paquete sin pedir confirmación.

180 181 

181El comando imprime una confirmación como `Added stdio MCP server playwright with command: npx -y @playwright/mcp@latest to local config`, seguida de una línea `File modified:` que muestra el archivo de configuración que escribió.182El comando muestra una confirmación como `Added stdio MCP server playwright with command: npx -y @playwright/mcp@latest to local config`, seguida de una línea `File modified:` que indica el archivo de configuración que escribió.

182 183 

183Playwright controla cualquier Chrome que ya esté instalado en su máquina. Para usar un navegador diferente, agregue `--browser` con el nombre del navegador, por ejemplo `--browser firefox`, después de `@playwright/mcp@latest`.184Playwright controla el Chrome que ya esté instalado en tu máquina. Para usar un navegador diferente, agrega `--browser` con el nombre del navegador, por ejemplo `--browser firefox`, después de `@playwright/mcp@latest`.

184 185 

185**2. Verificar la conexión**186**2. Verifica la conexión**

186 187 

187La confirmación `Added` significa que la entrada se guardó, no que el comando se ejecute. Verifique la conexión:188La confirmación `Added` significa que la entrada se guardó, no que el comando se ejecute. Verifica la conexión:

188 189 

189```bash theme={null}190```bash theme={null}

190claude mcp list191claude mcp list

191```192```

192 193 

193La primera verificación puede mostrar `✘ Failed to connect` mientras `npx` descarga el paquete, así que espere un momento y ejecútelo de nuevo. Una vez que se completa la descarga, el estado cambia a `✔ Connected`. Si aún muestra `✘ Failed to connect` después de un par de reintentos, consulte [Solución de problemas](#troubleshooting).194La primera verificación puede mostrar `✘ Failed to connect` mientras `npx` descarga el paquete, así que espera un momento y vuelve a ejecutarlo. Cuando termine la descarga, el estado cambia a `✔ Connected`. Si sigue mostrando `✘ Failed to connect` después de un par de reintentos, consulta [Solución de problemas](#troubleshooting).

194 195 

195**3. Usar el navegador**196**3. Usa el navegador**

196 197 

197Dale a Claude una tarea que necesite el navegador:198Dale a Claude una tarea que necesite el navegador:

198 199 


200Use playwright to open https://example.com and tell me the page title201Use playwright to open https://example.com and tell me the page title

201```202```

202 203 

203Se abre una ventana del navegador para que pueda verlo funcionar, y las llamadas de herramienta en la salida de Claude están etiquetadas con el nombre del servidor `playwright` y la acción, como `browser_navigate`.204Se abre una ventana del navegador para que puedas ver cómo trabaja, y las llamadas a herramientas en la salida de Claude aparecen etiquetadas con el nombre del servidor `playwright` y la acción, como `browser_navigate`.

204 205 

205Intente apuntarlo a su servidor de desarrollo local para verificar que una página aún se renderiza después de un cambio, o haga que recorra un informe de error paso a paso.206Prueba a dirigirlo a tu servidor de desarrollo local para comprobar que una página se sigue renderizando después de un cambio, o pídele que recorra un reporte de error paso a paso.

206 207 

207### Conectar un servidor que requiere inicio de sesión208### Conectar un servidor que requiere inicio de sesión

208 209 

209Servicios alojados como Sentry, Linear y Notion ejecutan sus servidores MCP detrás de OAuth: agrega la URL del servidor, luego inicia sesión a través de su navegador.210Servicios alojados como Sentry, Linear y Notion ejecutan sus servidores MCP detrás de OAuth: agregas la URL del servidor y luego inicias sesión a través de tu navegador.

210 211 

211Los pasos a continuación usan Sentry como ejemplo. Para conectar un servicio diferente, sustituya su URL, que puede encontrar en el [Directorio de Anthropic](https://code.claude.com/docs/es/mcp.md#find-and-build-mcp-servers) o en la documentación del servicio.212Los pasos siguientes usan Sentry como ejemplo. Para conectar un servicio diferente, sustituye su URL, que puedes encontrar en el [Anthropic Directory](https://code.claude.com/docs/es/mcp.md#find-and-build-mcp-servers) o en la documentación del servicio.

212 213 

213**1. Agregar el servidor**214**1. Agrega el servidor**

214 215 

215El comando `add` es el mismo que para el servidor de documentos, con la URL de Sentry:216El comando `add` es el mismo que para el servidor de documentación, con la URL de Sentry:

216 217 

217```bash theme={null}218```bash theme={null}

218claude mcp add --transport http sentry https://mcp.sentry.dev/mcp219claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

219```220```

220 221 

221Después de agregar, `claude mcp list` muestra el servidor con `! Needs authentication`. Eso es esperado: el siguiente paso completa el inicio de sesión.222Después de agregarlo, `claude mcp list` muestra el servidor con `! Needs authentication`. Es lo esperado: el siguiente paso completa el inicio de sesión.

222 223 

223**2. Autenticarse en su navegador**224**2. Autentícate en tu navegador**

224 225 

225Inicie una sesión de Claude Code y abra el panel MCP:226Inicia una sesión de Claude Code y abre el panel de MCP:

226 227 

227```text wrap theme={null}228```text wrap theme={null}

228/mcp229/mcp

229```230```

230 231 

231Seleccione `sentry` de la lista, presione Intro y elija `Authenticate`. Su navegador se abre a la página de inicio de sesión de Sentry. Apruebe la conexión allí.232Selecciona `sentry` en la lista, presiona Enter y elige `Authenticate`. Tu navegador se abre en la página de inicio de sesión de Sentry. Aprueba la conexión allí.

232 233 

233De vuelta en Claude Code, el estado del servidor cambia a conectado. Si el inicio de sesión falla o el navegador no se abre, consulte [Solución de problemas](#troubleshooting).234De vuelta en Claude Code, el estado del servidor cambia a conectado. Si el inicio de sesión falla o el navegador no se abre, consulta [Solución de problemas](#troubleshooting).

234 235 

235**3. Usar el servidor**236**3. Usa el servidor**

236 237 

237Pregúntele a Claude algo que necesite el servicio, como `What Sentry projects do I have access to?`, y busque llamadas de herramienta etiquetadas con el nombre del servidor `sentry` en su salida.238Pregúntale a Claude algo que necesite el servicio, como `What Sentry projects do I have access to?`, y busca en su salida llamadas a herramientas etiquetadas con el nombre del servidor `sentry`.

238 239 

239Los servidores que se autentican con un token estático en lugar de OAuth toman el token en el momento de agregar con `--header "Authorization: Bearer <token>"`. Consulte el [ejemplo de GitHub](https://code.claude.com/docs/es/mcp.md#example-connect-to-github-for-code-reviews) para una versión trabajada.240Los servidores que se autentican con un token estático en lugar de OAuth reciben el token al momento de agregarlos con `--header "Authorization: Bearer <token>"`. Consulta el [ejemplo de GitHub](https://code.claude.com/docs/es/mcp.md#example-connect-to-github-for-code-reviews) para ver una versión completa.

240 241 

241## Editar .mcp.json directamente242## Editar .mcp.json directamente

242 243 

model-config.md +18 −1

Details

689* **`/effort`**: ejecuta `/effort` sin argumentos para abrir un control deslizante interactivo, `/effort` seguido de un nombre de nivel para establecerlo directamente, o `/effort auto` para borrar tu nivel guardado para el modelo activo689* **`/effort`**: ejecuta `/effort` sin argumentos para abrir un control deslizante interactivo, `/effort` seguido de un nombre de nivel para establecerlo directamente, o `/effort auto` para borrar tu nivel guardado para el modelo activo

690* **En `/model`**: usa las flechas izquierda/derecha para ajustar el control deslizante de esfuerzo al seleccionar un modelo690* **En `/model`**: usa las flechas izquierda/derecha para ajustar el control deslizante de esfuerzo al seleccionar un modelo

691* **Flag `--effort`**: pasa un nombre de nivel para establecerlo en una sola sesión al iniciar Claude Code691* **Flag `--effort`**: pasa un nombre de nivel para establecerlo en una sola sesión al iniciar Claude Code

692* **Variable de entorno**: establece `CLAUDE_CODE_EFFORT_LEVEL` en un nombre de nivel o en `auto`692* **Variable de entorno**: establece `CLAUDE_CODE_EFFORT_LEVEL` en un nombre de nivel. Para que Claude Code [no envíe ningún nivel de esfuerzo](#send-no-effort-level), establécela en `auto` o `unset`

693* **Configuración**: establece un nivel por modelo en [`modelSettings`](https://code.claude.com/docs/es/settings-reference#modelsettings), o establece [`effortLevel`](https://code.claude.com/docs/es/settings-reference#effortlevel) en `low`, `medium`, `high` o `xhigh` como predeterminado para los modelos que no tengan uno. `max` no se acepta como nivel en ninguna de las dos claves, y `ultracode` tiene su propia clave [`ultracode`](https://code.claude.com/docs/es/settings-reference#ultracode)693* **Configuración**: establece un nivel por modelo en [`modelSettings`](https://code.claude.com/docs/es/settings-reference#modelsettings), o establece [`effortLevel`](https://code.claude.com/docs/es/settings-reference#effortlevel) en `low`, `medium`, `high` o `xhigh` como predeterminado para los modelos que no tengan uno. `max` no se acepta como nivel en ninguna de las dos claves, y `ultracode` tiene su propia clave [`ultracode`](https://code.claude.com/docs/es/settings-reference#ultracode)

694* **Desde un dispositivo conectado**: en una sesión de [Remote Control](https://code.claude.com/docs/es/remote-control.md#what-connected-devices-see), elige un nivel en el control de esfuerzo de tu teléfono o de tu navegador. El nivel se aplica solo a la sesión actual. Requiere Claude Code v2.1.234 o posterior694* **Desde un dispositivo conectado**: en una sesión de [Remote Control](https://code.claude.com/docs/es/remote-control.md#what-connected-devices-see), elige un nivel en el control de esfuerzo de tu teléfono o de tu navegador. El nivel se aplica solo a la sesión actual. Requiere Claude Code v2.1.234 o posterior

695* **Frontmatter de skills y subagentes**: establece `effort` en un archivo markdown de un [skill](https://code.claude.com/docs/es/skills.md#frontmatter-reference) o de un [subagente](https://code.claude.com/docs/es/sub-agents.md#supported-frontmatter-fields) para sobrescribir el nivel de esfuerzo cuando se ejecuta ese skill o subagente695* **Frontmatter de skills y subagentes**: establece `effort` en un archivo markdown de un [skill](https://code.claude.com/docs/es/skills.md#frontmatter-reference) o de un [subagente](https://code.claude.com/docs/es/sub-agents.md#supported-frontmatter-fields) para sobrescribir el nivel de esfuerzo cuando se ejecuta ese skill o subagente


711 711 

712Antes de la v2.1.242, Claude Code podía poner en cola el propio `/effort` hasta que terminara el turno, y siempre lo hacía en una sesión que no [obtiene feature flags](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), como en un [proveedor de terceros](https://code.claude.com/docs/es/third-party-integrations.md).712Antes de la v2.1.242, Claude Code podía poner en cola el propio `/effort` hasta que terminara el turno, y siempre lo hacía en una sesión que no [obtiene feature flags](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), como en un [proveedor de terceros](https://code.claude.com/docs/es/third-party-integrations.md).

713 713 

714#### No enviar ningún nivel de esfuerzo

715 

716Cuando Claude Code no envía ningún nivel de esfuerzo a un [modelo compatible](#adjust-effort-level), se aplica el [predeterminado de la API](https://platform.claude.com/docs/en/build-with-claude/effort) en lugar del de Claude Code. Para que Claude Code no envíe ninguno, inicia `claude` desde un shell que exporte `CLAUDE_CODE_EFFORT_LEVEL` con el valor `auto` o el valor `unset`, que hacen lo mismo:

717 

718```bash theme={null}

719export CLAUDE_CODE_EFFORT_LEVEL=auto

720```

721 

722El encabezado y el pie de página de la sesión no muestran ningún nivel de esfuerzo mientras no se envía ninguno. Para confirmar que no se envía ninguno, ejecuta `/effort status` en el prompt de Claude Code:

723 

724* **`Effort level: auto`**: no se envía ningún nivel de esfuerzo.

725* **`Effort level: auto (currently <level>)`**: todavía se envía un nivel. Si se aplica al modelo activo un ajuste [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel) inferior a `max`, Claude Code envía su propio predeterminado para el modelo, reducido a ese límite. Elimina el ajuste o establécelo en `max`.

726 

727> [!NOTE]

728>

729> Antes de la v2.1.304, `/effort status` mostraba `Effort level: auto (currently high)` incluso cuando no se enviaba ningún nivel.

730 

714#### Razonamiento adaptativo y presupuestos de pensamiento fijos731#### Razonamiento adaptativo y presupuestos de pensamiento fijos

715 732 

716El razonamiento adaptativo hace que el pensamiento sea opcional en cada paso, de modo que Claude puede responder más rápido a prompts habituales y reservar un pensamiento más profundo para los pasos que se benefician de él. Si quieres que Claude piense con más o menos frecuencia de lo que produce el nivel actual, puedes decirlo directamente en tu prompt o en `CLAUDE.md`; el modelo responde a esa indicación dentro de su ajuste de esfuerzo.733El razonamiento adaptativo hace que el pensamiento sea opcional en cada paso, de modo que Claude puede responder más rápido a prompts habituales y reservar un pensamiento más profundo para los pasos que se benefician de él. Si quieres que Claude piense con más o menos frecuencia de lo que produce el nivel actual, puedes decirlo directamente en tu prompt o en `CLAUDE.md`; el modelo responde a esa indicación dentro de su ajuste de esfuerzo.

Details

861* `output_tokens`: Número de tokens de salida861* `output_tokens`: Número de tokens de salida

862* `cache_read_tokens`: Número de tokens leídos de la caché862* `cache_read_tokens`: Número de tokens leídos de la caché

863* `cache_creation_tokens`: Número de tokens usados para la creación de caché863* `cache_creation_tokens`: Número de tokens usados para la creación de caché

864* `cache_creation_5m_tokens`, `cache_creation_1h_tokens`: el número de tokens que la respuesta de la API informa como escritos en la caché con una [duración de caché](https://code.claude.com/docs/es/prompt-caching.md#cache-lifetime) de cinco minutos y el número escrito con una duración de una hora. Ambos son `0` cuando la respuesta de la API no los informa, incluso cuando `cache_creation_tokens` es mayor que cero. Requiere Claude Code v2.1.300 o posterior

864* `request_id`: ID de la solicitud a la API, como `"req_011..."`, descrito en [Atributos de correlación de eventos](#event-correlation-attributes).865* `request_id`: ID de la solicitud a la API, como `"req_011..."`, descrito en [Atributos de correlación de eventos](#event-correlation-attributes).

865* `client_request_id`: UUID generado por el cliente y enviado como el encabezado de solicitud `x-client-request-id`; consulta la tabla de [atributos de correlación de eventos](#event-correlation-attributes) para saber cuándo está presente866* `client_request_id`: UUID generado por el cliente y enviado como el encabezado de solicitud `x-client-request-id`; consulta la tabla de [atributos de correlación de eventos](#event-correlation-attributes) para saber cuándo está presente

866* `speed`: `"fast"` o `"normal"`, que indica si el modo rápido estaba activo867* `speed`: `"fast"` o `"normal"`, que indica si el modo rápido estaba activo

permission-modes.md +163 −163

Details

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

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

4 4 

5# Elegir un modo de permisos5# Elige un modo de permisos

6 6 

7> Controle si Claude solicita aprobación antes de actuar. Cambie de modo de permisos con Mayús+Tab en la CLI, el indicador de modo en VS Code, o el selector de modo en Desktop.7> Controla si Claude pregunta antes de actuar. Cambia de modo de permisos con Shift+Tab en la CLI, el indicador de modo en VS Code o el selector de modo en Desktop.

8 8 

9Un modo de permisos establece qué acciones puede realizar Claude en una sesión sin pedirle permiso primero. En modo Manual, Claude Code se detiene y le solicita aprobación antes de la mayoría de acciones que editan archivos, ejecutan comandos de shell o alcanzan la red. En [modo automático](#eliminate-prompts-with-auto-mode), un segundo modelo, el clasificador, revisa acciones en su lugar; [cómo el clasificador evalúa acciones](#how-the-classifier-evaluates-actions) enumera qué acciones revisa y cuáles se omiten.9Un modo de permisos define qué acciones puede realizar Claude en una sesión sin preguntarte primero. En el modo Manual, Claude Code se detiene y te pregunta antes de la mayoría de las acciones que editan archivos, ejecutan comandos de shell o acceden a la red. En el [modo automático](#eliminate-prompts-with-auto-mode), un segundo modelo, el clasificador, revisa las acciones en tu lugar; [cómo evalúa las acciones el clasificador](#how-the-classifier-evaluates-actions) enumera qué acciones revisa y cuáles lo omiten.

10 10 

11Con Claude Code v2.1.283 o posterior, el modo automático es el modo de permisos inicial integrado para sesiones de terminal interactivo y VS Code. En versiones anteriores, es el modo de permisos inicial integrado solo en planes Pro, Max y Team. [Qué modo inicia una sesión](#which-mode-a-session-starts-in) cubre las superficies y configuraciones que cambian el modo de permisos inicial. También puede cambiar el modo de permisos de una sesión en ejecución en cualquier momento.11Con Claude Code v2.1.283 o posterior, el modo automático es el modo de permisos inicial integrado para las sesiones interactivas de la terminal y de VS Code. En versiones anteriores, es el modo de permisos inicial integrado solo en los planes Pro, Max y Team. [En qué modo se inicia una sesión](#which-mode-a-session-starts-in) explica las superficies y los ajustes que cambian el modo de permisos inicial. También puedes cambiar el modo de permisos de una sesión en curso en cualquier momento.

12 12 

13## Modos disponibles13## Modos disponibles

14 14 


287claude --permission-mode acceptEdits287claude --permission-mode acceptEdits

288```288```

289 289 

290## Analice antes de editar con modo plan290## Analiza antes de editar con el modo plan

291 291 

292El modo plan le indica a Claude que investigue y proponga cambios sin realizarlos. Claude lee archivos, ejecuta comandos de shell para explorar y escribe un plan, pero no edita su fuente. Excepto en sesiones interactivas de terminal con [permisos de omisión disponibles](#skip-all-checks-with-bypasspermissions-mode), las ediciones permanecen bloqueadas hasta que apruebe el plan.292El modo plan le indica a Claude que investigue y proponga cambios sin realizarlos. Claude lee archivos, ejecuta comandos de shell para explorar y escribe un plan, pero no edita tu código fuente. Excepto en sesiones interactivas de terminal con [bypass permissions disponible](#skip-all-checks-with-bypasspermissions-mode), las ediciones permanecen bloqueadas hasta que apruebes el plan.

293 293 

294Lo que sucede con un comando de shell durante la planificación depende de la sesión, y se aplica el primero de estos casos que coincida:294Lo que sucede con un comando de shell durante la planificación depende de la sesión, y se aplica el primero de estos casos que coincida:

295 295 

296* **Sesiones interactivas de terminal con permisos de omisión disponibles**: ni el clasificador ni un aviso se aplican a comandos de planificación. [Omitir todas las comprobaciones con modo bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) cubre las pocas cosas que aún solicitan allí.296* **Sesiones interactivas de terminal con bypass permissions disponible**: ni el clasificador ni una solicitud de permiso se aplican a los comandos de planificación. [Omite todas las comprobaciones con el modo bypassPermissions](#skip-all-checks-with-bypasspermissions-mode) cubre las pocas cosas que aún piden confirmación allí.

297* **[Modo automático](https://code.claude.com/docs/es/auto-mode-config.md) disponible y la configuración `useAutoModeDuringPlan` activada**, que lo está de forma predeterminada: el clasificador revisa comandos de shell distintos de [eliminaciones de ruta crítica](#critical-paths) en lugar de solicitarle. Los comandos aprobados se ejecutan, y los rechazados se bloquean.297* **[Modo automático](https://code.claude.com/docs/es/auto-mode-config.md) disponible y el ajuste `useAutoModeDuringPlan` activado**, como lo está de forma predeterminada: el clasificador revisa los comandos de shell distintos de las [eliminaciones de rutas críticas](#critical-paths) en lugar de pedirte confirmación. Los comandos aprobados se ejecutan y los rechazados se bloquean.

298* **Modo automático no disponible, o `useAutoModeDuringPlan` desactivado**: los comandos fuera del [conjunto integrado de solo lectura](https://code.claude.com/docs/es/permissions.md#read-only-commands) solicitan aprobación, incluido cuando el [modo de permitir automático](https://code.claude.com/docs/es/sandboxing.md#sandbox-modes) del sandbox está habilitado.298* **Modo automático no disponible, o `useAutoModeDuringPlan` desactivado**: los comandos fuera del [conjunto integrado de solo lectura](https://code.claude.com/docs/es/permissions.md#read-only-commands) solicitan aprobación, incluso cuando el [modo de permitir automáticamente](https://code.claude.com/docs/es/sandboxing.md#sandbox-modes) del sandbox está habilitado.

299 299 

300Ingrese al modo plan presionando `Shift+Tab` o prefijando un único aviso con `/plan`. También puede comenzar en modo plan desde la CLI:300Entra en el modo plan presionando `Shift+Tab` o anteponiendo `/plan` a un único prompt. También puedes iniciar en el modo plan desde la CLI:

301 301 

302```bash theme={null}302```bash theme={null}

303claude --permission-mode plan303claude --permission-mode plan

304```304```

305 305 

306Presione `Shift+Tab` nuevamente para salir del modo plan sin aprobar un plan.306Presiona `Shift+Tab` de nuevo para salir del modo plan sin aprobar un plan.

307 307 

308### Revise y apruebe un plan308### Revisa y aprueba un plan

309 309 

310Cuando el plan esté listo, Claude lo presenta y pregunta cómo proceder. Desde ese aviso puede elegir:310Cuando el plan está listo, Claude lo presenta y pregunta cómo proceder. Desde esa solicitud puedes elegir:

311 311 

312* **Sí, y usar modo automático**: apruebe e inicie en [modo automático](#eliminate-prompts-with-auto-mode). Si el modo automático no está [disponible para su sesión](#eliminate-prompts-with-auto-mode), por ejemplo porque su organización lo desactivó, esta opción dice **Sí, aceptar automáticamente ediciones**. Si inició la sesión con permisos de omisión habilitados, la opción dice **Sí, y cambiar a OMITIR PERMISOS (sin más avisos) para esta sesión** en su lugar.312* **Yes, and use auto mode**: aprueba e inicia en [modo automático](#eliminate-prompts-with-auto-mode). Si el modo automático no está [disponible para tu sesión](#eliminate-prompts-with-auto-mode), por ejemplo porque tu organización lo desactivó, esta opción dice **Yes, auto-accept edits**. Si iniciaste la sesión con bypass permissions habilitado, la opción dice en cambio **Yes, and switch to BYPASS PERMISSIONS (no further prompts) for this session**.

313* **Sí, aprobar manualmente ediciones**: apruebe y revise cada edición individualmente.313* **Yes, manually approve edits**: aprueba y revisa cada edición individualmente.

314* **No, seguir planificando**: permanezca en modo plan y dígale a Claude qué cambiar.314* **No, keep planning**: permanece en el modo plan y dile a Claude qué cambiar.

315 315 

316Aprobar un plan sale del modo plan y cambia la sesión al modo de permisos que describe cada opción de aprobación, por lo que Claude comienza a editar. Para planificar nuevamente, cicle de vuelta al modo plan con `Shift+Tab`, o prefije su próximo aviso con `/plan`.316Aprobar un plan sale del modo plan y cambia la sesión al modo de permisos que describe cada opción de aprobación, por lo que Claude comienza a editar. Para planificar de nuevo, vuelve al modo plan con `Shift+Tab` o antepone `/plan` a tu siguiente prompt.

317 317 

318Presione `Ctrl+G` para abrir el plan propuesto en su editor de texto predeterminado y edítelo directamente antes de que Claude continúe. Cuando [`showClearContextOnPlanAccept`](https://code.claude.com/docs/es/settings-reference#showclearcontextonplanaccept) está habilitado, la lista gana una primera opción que aprueba el plan y borra el contexto de planificación.318Presiona `Ctrl+G` para abrir el plan propuesto en tu editor de texto predeterminado y editarlo directamente antes de que Claude continúe. Cuando [`showClearContextOnPlanAccept`](https://code.claude.com/docs/es/settings-reference#showclearcontextonplanaccept) está habilitado, la lista incluye una primera opción que aprueba el plan y borra el contexto de planificación.

319 319 

320Aprobar un plan también da a la sesión un [título generado](https://code.claude.com/docs/es/sessions.md#name-your-sessions) basado en el plan, a menos que ya haya nombrado la sesión.320Aceptar un plan también le da a la sesión un [título generado](https://code.claude.com/docs/es/sessions.md#name-your-sessions) basado en el plan, a menos que ya hayas nombrado la sesión.

321 321 

322### Establezca el modo plan como predeterminado322### Establece el modo plan como predeterminado

323 323 

324Para hacer que el modo plan sea el predeterminado para las sesiones de terminal de un proyecto, establezca `defaultMode` en `plan` en `.claude/settings.json`, colocado como muestra el ejemplo bajo [Comience en un modo de permisos diferente](#start-in-a-different-mode). Las conversaciones que inicia la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) no leen configuración de proyecto para el modo de permisos inicial. Allí, establezca `claudeCode.initialPermissionMode` en `plan` en su configuración de usuario de VS Code en su lugar.324Para que el modo plan sea el predeterminado en las sesiones de terminal de un proyecto, establece `defaultMode` en `plan` en `.claude/settings.json`, ubicado como muestra el ejemplo en [Inicia en un modo de permisos diferente](#start-in-a-different-mode). Las conversaciones que inicia la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) no leen la configuración del proyecto para el modo de permisos inicial. Allí, establece en su lugar `claudeCode.initialPermissionMode` en `plan` en tu configuración de usuario de VS Code.

325 325 

326## Eliminar solicitudes de permiso con modo automático326## Elimina las solicitudes de permiso con el modo automático

327 327 

328El modo automático permite que Claude se ejecute sin solicitudes de permiso habituales. Un modelo clasificador separado revisa las acciones antes de que se ejecuten y bloquea cualquier cosa que escale más allá de tu solicitud, apunte a infraestructura no reconocida o parezca impulsada por contenido hostil que Claude leyó. Las [reglas de preguntar](https://code.claude.com/docs/es/permissions.md#manage-permissions) explícitas aún fuerzan una solicitud de permiso.328El modo automático permite que Claude ejecute acciones sin las solicitudes de permiso habituales. Un modelo clasificador independiente revisa las acciones antes de que se ejecuten y bloquea todo lo que vaya más allá de tu solicitud, apunte a infraestructura no reconocida o parezca estar motivado por contenido hostil que Claude haya leído. Las [reglas ask](https://code.claude.com/docs/es/permissions.md#manage-permissions) explícitas siguen forzando una solicitud de permiso.

329 329 

330Con Claude Code v2.1.283 o posterior, el modo automático es el [modo de permisos de inicio integrado](#which-mode-a-session-starts-in) para sesiones interactivas de terminal y de VS Code en todos los planes y proveedores. En versiones anteriores, es el modo de permisos de inicio integrado solo en los planes Pro, Max y Team.330Con Claude Code v2.1.283 o posterior, el modo automático es el [modo de permisos inicial integrado](#which-mode-a-session-starts-in) para las sesiones interactivas de la terminal y de VS Code en todos los planes y proveedores. En versiones anteriores, es el modo de permisos inicial integrado solo en los planes Pro, Max y Team.

331 331 

332El clasificador también revisa cada mensaje que Claude envía a otro agente con [`SendMessage`](https://code.claude.com/docs/es/tools-reference), ya sea texto sin formato o un mensaje estructurado de [equipo de agentes](https://code.claude.com/docs/es/agent-teams.md), antes de que Claude Code lo entregue, tanto en modo automático como en [modo plan mientras el clasificador revisa comandos](#analyze-before-you-edit-with-plan-mode); la revisión de envíos requiere Claude Code v2.1.222 o posterior.332El clasificador también revisa cada mensaje que Claude envía a otro agente con [`SendMessage`](https://code.claude.com/docs/es/tools-reference), ya sea texto plano o un mensaje estructurado de un [equipo de agentes](https://code.claude.com/docs/es/agent-teams.md), antes de que Claude Code lo entregue, tanto en el modo automático como en el [modo plan mientras el clasificador revisa los comandos](#analyze-before-you-edit-with-plan-mode); la revisión de envíos requiere Claude Code v2.1.222 o posterior.

333 333 

334De forma predeterminada, el clasificador no revisa las eliminaciones reconocidas de rutas críticas con `rm` y `rmdir`, como `rm -rf /` o `rm -rf ~`. En [Rutas críticas](#critical-paths) se explica qué sucede con ellas en cada modo de permisos.334De forma predeterminada, el clasificador no revisa las eliminaciones de rutas críticas reconocidas de `rm` y `rmdir`, como `rm -rf /` o `rm -rf ~`. [Rutas críticas](#critical-paths) explica qué les sucede en cada modo de permisos.

335 335 

336El modo automático también anima a Claude a seguir trabajando sin detenerse para hacer preguntas aclaratorias, aunque Claude aún pregunta cuando tu prompt o un skill depende explícitamente de ello. Para un comportamiento más autónomo en un modo que aún te pide confirmación, establece en su lugar el [estilo de salida Proactive](https://code.claude.com/docs/es/output-styles.md).336El modo automático también impulsa a Claude a seguir trabajando sin detenerse para hacer preguntas aclaratorias, aunque Claude sigue preguntando cuando tu prompt o un skill dependen explícitamente de ello. Para obtener un comportamiento autónomo más fuerte en un modo que aún te pide permiso, configura el [estilo de salida Proactive](https://code.claude.com/docs/es/output-styles.md) en su lugar.

337 337 

338> [!WARNING]338> [!WARNING]

339>339>

340> El modo automático reduce las solicitudes de permiso, pero no garantiza la seguridad. Úsalo para tareas en las que confías en la dirección general, no como reemplazo de la revisión en operaciones sensibles.340> El modo automático reduce las solicitudes de permiso, pero no garantiza la seguridad. Úsalo para tareas en las que confíes en la dirección general, no como sustituto de la revisión en operaciones sensibles.

341 341 

342El modo automático está disponible solo cuando tu cuenta cumple todos estos requisitos:342El modo automático solo está disponible cuando tu cuenta cumple todos estos requisitos:

343 343 

344* **Plan**: Todos los planes.344* **Plan**: todos los planes.

345* **Organización**: en Team y Enterprise, el modo automático está disponible de forma predeterminada. Los administradores pueden desactivarlo para la organización estableciendo `permissions.disableAutoMode` en `"disable"` en la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md).345* **Organización**: en Team y Enterprise, el modo automático está disponible de forma predeterminada. Los administradores pueden desactivarlo para la organización configurando `permissions.disableAutoMode` como `"disable"` en la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md).

346* **Modelo**: en la API de Anthropic y [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md), Claude Opus 4.6 o posterior, Sonnet 4.6 o posterior, Haiku 5.5 o un [modelo Fable](https://code.claude.com/docs/es/model-config.md#work-with-fable). En Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry y sesiones del [gateway de aplicaciones de Claude](https://code.claude.com/docs/es/claude-apps-gateway) con sesión iniciada, solo Claude Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5 y los modelos Fable. Los modelos más antiguos, incluidos Sonnet 4.5, Opus 4.5, Haiku 4.5 y los modelos claude-3, no son compatibles en ningún proveedor.346* **Modelo**: en la API de Anthropic y en [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md), Claude Opus 4.6 o posterior, Sonnet 4.6 o posterior, Haiku 5.5 o un [modelo Fable](https://code.claude.com/docs/es/model-config.md#work-with-fable). En Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry y las sesiones con sesión iniciada de [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway), solo Claude Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5 y los modelos Fable. Los modelos anteriores, incluidos Sonnet 4.5, Opus 4.5, Haiku 4.5 y los modelos claude-3, no son compatibles con ningún proveedor.

347* **Proveedor**: disponible de forma predeterminada en la API de Anthropic, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry y sesiones del gateway de aplicaciones de Claude con sesión iniciada.347* **Proveedor**: disponible de forma predeterminada en la API de Anthropic, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry y las sesiones con sesión iniciada de Claude apps gateway.

348 348 

349Si Claude Code informa que el modo automático no está disponible, primero verifica estos requisitos y si algún archivo de configuración establece [`disableAutoMode`](https://code.claude.com/docs/es/settings-reference#disableautomode). Anthropic también puede haber desactivado el modo automático del lado del servidor, o el servidor puede haber rechazado el modo automático para tu cuenta. Una sesión que recibió cualquiera de estas respuestas mantiene el modo automático desactivado hasta que finaliza, así que inicia una nueva sesión más tarde.349Si Claude Code indica que el modo automático no está disponible, primero revisa estos requisitos y si algún archivo de configuración establece [`disableAutoMode`](https://code.claude.com/docs/es/settings-reference#disableautomode). Anthropic también puede haber desactivado el modo automático del lado del servidor, o el servidor puede haber rechazado el modo automático para tu cuenta. Una sesión que recibió cualquiera de estas respuestas mantiene el modo automático desactivado hasta que termina, así que inicia una nueva sesión más tarde.

350 350 

351Un mensaje distinto que nombra un modelo y dice que el modo automático "no puede determinar la seguridad" de una acción significa que falló una solicitud del clasificador. Ese fallo suele ser transitorio, pero en Amazon Bedrock puede repetirse hasta que tu cuenta pueda invocar el modelo nombrado. Consulta la [referencia de errores](https://code.claude.com/docs/es/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) para conocer las causas y qué hacer.351Un mensaje distinto que nombra un modelo y dice que el modo automático "cannot determine the safety" de una acción significa que falló una solicitud al clasificador. Ese fallo suele ser transitorio, pero en Amazon Bedrock puede repetirse hasta que tu cuenta pueda invocar el modelo nombrado. Consulta la [referencia de errores](https://code.claude.com/docs/es/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) para ver las causas y qué hacer.

352 352 

353Si estableces `defaultMode: "auto"` en la [configuración](https://code.claude.com/docs/es/settings-reference.md#all-settings) y una sesión de terminal comienza en modo Manual sin ningún error, probablemente el ajuste esté en `.claude/settings.json` o `.claude/settings.local.json`. `auto` no entra en vigor desde esos archivos. Muévelo a `~/.claude/settings.json`. Para una conversación que inició la extensión de VS Code, revisa en su lugar la lista propia de la extensión en [Cambiar modos de permisos](#switch-permission-modes).353Si configuras `defaultMode: "auto"` en la [configuración](https://code.claude.com/docs/es/settings-reference.md#all-settings) y una sesión de la terminal se inicia en modo Manual sin ningún error, es probable que el ajuste esté en `.claude/settings.json` o `.claude/settings.local.json`. `auto` no surte efecto desde esos archivos. Muévelo a `~/.claude/settings.json`. Para una conversación que inició la extensión de VS Code, revisa en su lugar la lista propia de la extensión en [Cambiar de modo de permisos](#switch-permission-modes).

354 354 

355### Modo automático en Bedrock, Agent Platform o Foundry355### Modo automático en Bedrock, Agent Platform o Foundry

356 356 

357En [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md) y sesiones del [gateway de aplicaciones de Claude](https://code.claude.com/docs/es/claude-apps-gateway) con sesión iniciada, el modo automático está disponible de forma predeterminada. Si no estableces allí un modo de permisos, las sesiones interactivas comienzan en modo automático, y las ejecuciones de `claude -p` o del Agent SDK comienzan en modo Manual, cuyo valor de configuración es `default`:357En [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md) y las sesiones con sesión iniciada de [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway), el modo automático está disponible de forma predeterminada. Si no configuras un modo de permisos allí, las sesiones interactivas se inician en modo automático, y las ejecuciones de `claude -p` o del Agent SDK se inician en modo Manual, cuyo valor de configuración es `default`:

358 358 

359* **Sesiones interactivas de terminal y de VS Code**: para iniciarlas en un modo de permisos distinto del automático, establece `permissions.defaultMode` como describe [Comenzar en un modo de permisos diferente](#start-in-a-different-mode), o elige uno en el [indicador de modo](#switch-permission-modes) de la extensión de VS Code. [En qué modo comienza una sesión](#which-mode-a-session-starts-in) enumera las versiones de Claude Code que las inician en modo automático.359* **Sesiones interactivas de la terminal y de VS Code**: para iniciarlas en un modo de permisos distinto del automático, configura `permissions.defaultMode` como se describe en [Iniciar en un modo de permisos diferente](#start-in-a-different-mode), o elige uno en el [indicador de modo](#switch-permission-modes) de la extensión de VS Code. [En qué modo se inicia una sesión](#which-mode-a-session-starts-in) enumera las versiones de Claude Code que las inician en modo automático.

360* **Ejecuciones de `claude -p` y del Agent SDK**: para iniciar una en modo automático, pasa `--permission-mode auto` a `claude -p`, o pasa `permissionMode: "auto"` en TypeScript o `permission_mode="auto"` en Python. Si no pasas ningún modo de permisos, consulta [Llamadas a herramientas denegadas en ejecuciones de `claude -p` y del Agent SDK](#which-mode-a-non-interactive-run-starts-in), que también cubre versiones anteriores de Claude Code.360* **Ejecuciones de `claude -p` y del Agent SDK**: para iniciar una en modo automático, pasa `--permission-mode auto` a `claude -p`, o pasa `permissionMode: "auto"` en TypeScript o `permission_mode="auto"` en Python. Si no pasas ningún modo de permisos, consulta [Llamadas a herramientas denegadas en ejecuciones de `claude -p` y del Agent SDK](#which-mode-a-non-interactive-run-starts-in), que también cubre versiones anteriores de Claude Code.

361 361 

362Solo Claude Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5 y los modelos Fable son compatibles en estos proveedores. En cualquier otro modelo, la sesión comienza en Manual. El modo automático con Haiku 5.5 en estos proveedores requiere Claude Code v2.1.293 o posterior.362En estos proveedores solo son compatibles Claude Sonnet 5 o posterior, Opus 4.7 o posterior, Haiku 5.5 y los modelos Fable. Con cualquier otro modelo, la sesión se inicia en modo Manual. El modo automático con Haiku 5.5 en estos proveedores requiere Claude Code v2.1.293 o posterior.

363 363 

364Para evitar que los desarrolladores usen el modo automático, establece `disableAutoMode` en `"disable"` en la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md). Esto elimina `auto` del ciclo de `Shift+Tab`, y una sesión iniciada con `--permission-mode auto` comienza en Manual. Una sesión que ya se ejecuta en modo automático lo abandona cuando el ajuste llega a esa sesión desde una [fuente implementada por un administrador](https://code.claude.com/docs/es/managed-settings.md#which-managed-source-claude-code-uses), y muestra `auto mode disabled by settings`. Antes de v2.1.251, una sesión en ejecución mantenía el modo automático hasta que finalizaba.364Para impedir que los desarrolladores usen el modo automático, configura `disableAutoMode` como `"disable"` en la [configuración administrada](https://code.claude.com/docs/es/managed-settings.md). Esto elimina `auto` del ciclo de `Shift+Tab`, y una sesión iniciada con `--permission-mode auto` se inicia en modo Manual. Una sesión que ya se está ejecutando en modo automático sale de él cuando el ajuste llega a esa sesión desde una [fuente implementada por un administrador](https://code.claude.com/docs/es/managed-settings.md#which-managed-source-claude-code-uses), y muestra `auto mode disabled by settings`. Antes de v2.1.251, una sesión en ejecución mantenía el modo automático hasta que terminaba.

365 365 

366### Revisión del clasificador del lado del servidor366### Revisión del clasificador del lado del servidor

367 367 

368En modo automático, Claude Code puede pedirle al servidor que verifique las acciones que [el orden de decisión](#how-the-classifier-evaluates-actions) envía a revisión, como parte de las solicitudes al modelo de la sesión, en lugar de enviar sus propias solicitudes al clasificador. Estas sesiones lo piden:368En el modo automático, Claude Code puede pedirle al servidor que revise las acciones que [el orden de decisión](#how-the-classifier-evaluates-actions) envía a revisión, como parte de las solicitudes al modelo de la sesión, en lugar de enviar sus propias solicitudes al clasificador. Estas sesiones se lo piden al servidor:

369 369 

370* **Una conexión directa a la API de Anthropic**: en sesiones interactivas de terminal y en sesiones `-p`, de Agent SDK, de la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) y de la [aplicación de escritorio](https://code.claude.com/docs/es/desktop.md), sea cual sea tu plan o tipo de cuenta, a medida que Anthropic lo implementa. En sesiones interactivas de terminal, esto requiere Claude Code v2.1.271 o posterior en los planes Pro, Max y Team, y v2.1.278 o posterior en los planes Enterprise y en cuentas de la API de Claude. En sesiones `-p`, de Agent SDK, de la extensión de VS Code y de la aplicación de escritorio, esto requiere Claude Code v2.1.281 o posterior. Desde v2.1.282, una sesión que [no obtiene feature flags](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), por ejemplo porque desactivaste la telemetría, se lo pide al servidor de forma predeterminada en cualquier tipo de sesión.370* **Una conexión directa a la API de Anthropic**: en sesiones interactivas de la terminal y en sesiones de `-p`, del Agent SDK, de la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) y de la [aplicación de escritorio](https://code.claude.com/docs/es/desktop.md), sea cual sea tu plan o tipo de cuenta, a medida que Anthropic lo implementa. En sesiones interactivas de la terminal, esto requiere Claude Code v2.1.271 o posterior en los planes Pro, Max y Team, y v2.1.278 o posterior en los planes Enterprise y las cuentas de la API de Claude. En sesiones de `-p`, del Agent SDK, de la extensión de VS Code y de la aplicación de escritorio, esto requiere Claude Code v2.1.281 o posterior. A partir de v2.1.282, una sesión que [no obtiene feature flags](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), por ejemplo porque desactivaste la telemetría, se lo pide al servidor de forma predeterminada en cualquier tipo de sesión.

371* **Un proveedor de nube, o un gateway o proxy de LLM**: en [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform y Microsoft Foundry, y siempre que apuntes `ANTHROPIC_BASE_URL` a un [gateway o proxy de LLM](https://code.claude.com/docs/es/llm-gateway), sea cual sea tu plan. Pedirlo de forma predeterminada requiere Claude Code v2.1.278 o posterior.371* **Un proveedor de nube, o un gateway o proxy de LLM**: en [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform y Microsoft Foundry, y siempre que apuntes `ANTHROPIC_BASE_URL` a un [gateway o proxy de LLM](https://code.claude.com/docs/es/llm-gateway), sea cual sea tu plan. Pedírselo al servidor de forma predeterminada requiere Claude Code v2.1.278 o posterior.

372* **Una sesión del [gateway de aplicaciones de Claude](https://code.claude.com/docs/es/claude-apps-gateway) con sesión iniciada**: requiere Claude Code v2.1.280 o posterior372* **Una sesión con sesión iniciada de [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway)**: requiere Claude Code v2.1.280 o posterior

373* **Una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) en un entorno alojado por Anthropic**: sea cual sea tu plan, cuando la inicias desde la web, la aplicación móvil o la aplicación de escritorio con **Cloud** seleccionado. Las sesiones iniciadas por una [tarea programada en la nube](https://code.claude.com/docs/es/routines.md) se lo piden al servidor a medida que Anthropic lo implementa.373* **Una [sesión en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) en un entorno alojado por Anthropic**: sea cual sea tu plan, cuando la inicias desde la web, la aplicación móvil o la aplicación de escritorio con **Cloud** seleccionado. Las sesiones iniciadas por una [tarea programada en la nube](https://code.claude.com/docs/es/routines.md) se lo piden al servidor a medida que Anthropic lo implementa.

374 374 

375Donde el servidor revisa las acciones, sus veredictos las deciden. Hay otros dos resultados posibles:375Cuando el servidor revisa las acciones, sus veredictos deciden sobre ellas. Hay otros dos resultados posibles:

376 376 

377* **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 verificaciones 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 de las solicitudes al clasificador](https://code.claude.com/docs/es/auto-mode-classifier-billing.md) en las cuentas donde esas solicitudes se facturan.377* **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.

378* **El servidor no da un veredicto para una acción**: Claude Code deniega la acción en lugar de ejecutarla sin revisar. En cualquier conexión, esto sucede cuando la respuesta termina antes de que lleguen los resultados de la revisión o cuando los resultados llegan en un formato que Claude Code no puede leer. Un gateway o proxy de LLM que corta las respuestas o reescribe los resultados puede causar cualquiera de los dos. En una conexión directa a la API de Anthropic, también sucede cuando la verificación del servidor falla para la acción, por ejemplo, al agotarse el tiempo de espera. [El servidor no devolvió ningún veredicto de seguridad](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.378* **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.

379 379 

380Para no pedírselo al servidor y usar siempre las propias solicitudes al clasificador de Claude Code, establece [`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. Establecerla en `1` en ese caso activa la revisión del servidor en una sesión que aún no la tiene, a menos que también hayas establecido `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Si estableces `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` y dejas `CLAUDE_CODE_AUTO_MODE_SERVER` sin establecer, Claude Code también deja de pedírselo al servidor, salvo en lo que describe [Deshabilitar capacidades previas al lanzamiento](https://code.claude.com/docs/es/llm-gateway-protocol.md#disable-pre-release-capabilities).380Para 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).

381 381 

382### Modelo clasificador predeterminado382### Modelo clasificador predeterminado

383 383 

384De forma predeterminada, las solicitudes al clasificador van a Claude Sonnet 5. Si `/status` muestra `Auto mode server` como `Enabled`, se envían solo para las llamadas que quedan fuera de [la revisión del servidor](#server-side-classifier-review).384De forma predeterminada, las solicitudes al clasificador van a Claude Sonnet 5. Si `/status` muestra `Auto mode server` como `Enabled`, solo se envían para las llamadas que quedan fuera de [la revisión del servidor](#server-side-classifier-review).

385 385 

386Busca la primera fila de esta tabla que coincida con tu sesión. Obtienes el modelo de esa fila en lugar de Sonnet 5.386Busca la primera fila de esta tabla que coincida con tu sesión. Obtienes el modelo de esa fila en lugar de Sonnet 5.

387 387 


389| - | - |389| - | - |

390| Tiene un modelo clasificador configurado por Anthropic | El modelo configurado. [Revisa el registro de depuración](#classifier-model-check) para ver cuál |390| Tiene un modelo clasificador configurado por Anthropic | El modelo configurado. [Revisa el registro de depuración](#classifier-model-check) para ver cuál |

391| Se ejecuta en Claude Sonnet 4.6 | Sonnet 4.6 |391| Se ejecuta en Claude Sonnet 4.6 | Sonnet 4.6 |

392| Tiene establecida [`ANTHROPIC_DEFAULT_SONNET_MODEL`](https://code.claude.com/docs/es/model-config#environment-variables) | Su valor, o Sonnet 5 si su valor es Claude Sonnet 5.5 o Claude Opus 5.5 |392| Tiene configurada [`ANTHROPIC_DEFAULT_SONNET_MODEL`](https://code.claude.com/docs/es/model-config#environment-variables) | Su valor, o Sonnet 5 si su valor es Claude Sonnet 5.5 o Claude Opus 5.5 |

393 393 

394Si Sonnet 5 o el modelo de `ANTHROPIC_DEFAULT_SONNET_MODEL` no está disponible en tu proveedor o lo excluye la [política de modelos](https://code.claude.com/docs/es/model-config.md#restrict-model-selection) de tu organización, Claude Code usa un modelo de respaldo. Ese es el modelo de tu sesión, o un modelo Opus en una [sesión de Fable](https://code.claude.com/docs/es/model-config.md#work-with-fable).394Si Sonnet 5 o el modelo de `ANTHROPIC_DEFAULT_SONNET_MODEL` no está disponible en tu proveedor o lo excluye la [política de modelos](https://code.claude.com/docs/es/model-config.md#restrict-model-selection) de tu organización, Claude Code usa un modelo de respaldo. Ese es el modelo de tu sesión, o un modelo Opus en una [sesión de Fable](https://code.claude.com/docs/es/model-config.md#work-with-fable).

395 395 

396### Elegir el modelo clasificador396### Elige el modelo clasificador

397 397 

398Con Claude Code v2.1.302 o posterior, establece [`CLAUDE_CODE_AUTO_MODE_MODEL`](https://code.claude.com/docs/es/env-vars) en un ID de modelo completo para ejecutar el clasificador en un modelo distinto del [predeterminado](#default-classifier-model). También funcionan los propios ID de modelo completos de tu proveedor de nube. Este ejemplo de `~/.claude/settings.json` establece Claude Sonnet 4.6:398Con Claude Code v2.1.302 o posterior, configura [`CLAUDE_CODE_AUTO_MODE_MODEL`](https://code.claude.com/docs/es/env-vars) con un ID de modelo completo para ejecutar el clasificador en un modelo distinto del [predeterminado](#default-classifier-model). Los IDs de modelo completos propios de tu proveedor de nube también funcionan. Este ejemplo de `~/.claude/settings.json` configura Claude Sonnet 4.6:

399 399 

400```json theme={null}400```json theme={null}

401{401{


405}405}

406```406```

407 407 

408#### Cuando tu modelo no es el que revisa408#### Cuando tu modelo no revisa

409 409 

410| Situación | Qué sucede | Qué hacer |410| Situación | Qué sucede | Qué hacer |

411| - | - | - |411| - | - | - |

412| El [registro de depuración](#classifier-model-check) informa un modelo clasificador configurado por Anthropic | Ese modelo revisa | No es necesario hacer nada |412| El [registro de depuración](#classifier-model-check) indica un modelo clasificador configurado por Anthropic | Ese modelo revisa | Nada |

413| Estableciste Claude Opus 5, Sonnet 5.5, Opus 5.5 o un modelo que excluye la [política de modelos](https://code.claude.com/docs/es/model-config.md#restrict-model-selection) de tu organización | Revisa el [modelo clasificador predeterminado](#default-classifier-model) | Establece otro modelo |413| Configuraste Claude Opus 5, Sonnet 5.5, Opus 5.5 o uno que excluye la [política de modelos](https://code.claude.com/docs/es/model-config.md#restrict-model-selection) de tu organización | Revisa el [modelo clasificador predeterminado](#default-classifier-model) | Configura otro modelo |

414| Tu proveedor no puede servir el modelo | Las verificaciones del clasificador fallan, por lo que Claude Code [deniega cada acción que verifica](https://code.claude.com/docs/es/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) | Establece un modelo que sirva, o elimina la variable |414| Tu proveedor no puede servir el modelo | Las comprobaciones del clasificador fallan, así que Claude Code [deniega cada acción que comprueba](https://code.claude.com/docs/es/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) | Configura un modelo que sirva, o elimina la variable |

415| En una sesión, `/status` muestra [`Auto mode server`](#server-side-classifier-review) como `Enabled` | El servidor revisa sin tu modelo | No es necesario hacer nada |415| En una sesión, `/status` muestra [`Auto mode server`](#server-side-classifier-review) como `Enabled` | El servidor revisa sin tu modelo | Nada |

416 416 

417Si se aplican varias situaciones, guíate por la primera de la lista.417Si se aplican varias situaciones, guíate por la primera de la lista.

418 418 

419#### Comprobar qué modelo usó el clasificador419#### Comprueba qué modelo usó el clasificador

420 420 

421Desde tu shell, inicia una sesión en modo automático con [`--debug-file`](https://code.claude.com/docs/es/cli-reference#cli-flags):421Desde tu shell, inicia una sesión en modo automático con [`--debug-file`](https://code.claude.com/docs/es/cli-reference#cli-flags):

422 422 


424claude --permission-mode auto --debug-file classifier-debug.log424claude --permission-mode auto --debug-file classifier-debug.log

425```425```

426 426 

427Pide a Claude que ejecute un comando de shell que no sea de solo lectura y luego busca `classifier_request_started` en el registro:427Haz que Claude ejecute un comando de shell que no sea de solo lectura y luego busca `classifier_request_started` en el registro:

428 428 

429* **Tu modelo después de `model=`**: la variable entró en vigor429* **Tu modelo después de `model=`**: la variable surtió efecto

430* **Un modelo diferente después de `model=`**: busca `ignoring CLAUDE_CODE_AUTO_MODE_MODEL` en el registro, que indica el motivo y cualquier paso que debas seguir430* **Un modelo distinto después de `model=`**: busca `ignoring CLAUDE_CODE_AUTO_MODE_MODEL` en el registro, que indica el motivo y cualquier paso que debas seguir

431* **No hay ninguna línea así**: consulta `Auto mode server` en `/status` en el prompt de Claude Code:431* **No hay ninguna línea así**: lee `Auto mode server` en `/status` en el prompt de Claude Code:

432 * **`Enabled`**: el [servidor](#server-side-classifier-review) está configurado para revisar las llamadas de esta sesión.432 * **`Enabled`**: el [servidor](#server-side-classifier-review) está configurado para revisar las llamadas de esta sesión.

433 * **`Disabled`**: asegúrate de que el [modo de permisos](#switch-permission-modes) sea auto y luego pide a Claude que ejecute otro comando que no sea de solo lectura.433 * **`Disabled`**: asegúrate de que el [modo de permisos](#switch-permission-modes) sea auto y luego haz que Claude ejecute otro comando que no sea de solo lectura.

434 434 

435### Lo que el clasificador bloquea de forma predeterminada435### Qué bloquea el clasificador de forma predeterminada

436 436 

437El clasificador confía en tu directorio de trabajo y en los remotos que estaban configurados para él cuando comenzó la sesión. Un remoto agregado o reapuntado durante la sesión con `git remote add` o `git remote set-url` no es de confianza, y todo lo demás se trata como externo hasta que [configures infraestructura de confianza](https://code.claude.com/docs/es/auto-mode-config.md).437El clasificador confía en tu directorio de trabajo y en los remotos que estaban configurados para él cuando se inició la sesión. Un remoto agregado o redirigido durante la sesión con `git remote add` o `git remote set-url` no es de confianza, y todo lo demás se trata como externo hasta que [configures la infraestructura de confianza](https://code.claude.com/docs/es/auto-mode-config.md).

438 438 

439**Bloqueado de forma predeterminada**:439**Bloqueado de forma predeterminada**:

440 440 

441* Descargar y ejecutar código, como `curl | bash`441* Descargar y ejecutar código, como `curl | bash`

442* Enviar datos sensibles a endpoints externos442* Enviar datos sensibles a endpoints externos

443* Implementaciones y migraciones de producción443* Despliegues y migraciones de producción

444* Eliminación masiva en almacenamiento en la nube444* Eliminación masiva en almacenamiento en la nube

445* Otorgar permisos de IAM o de repositorio445* Otorgar permisos de IAM o de repositorio

446* Modificar infraestructura compartida446* Modificar infraestructura compartida

447* Destruir de forma irreversible archivos que existían antes de la sesión447* Destruir de forma irreversible archivos que existían antes de la sesión

448* Push forzado448* Force push

449* Hacer commit o push de un cambio que, al ejecutarse, enviaría secretos o datos sensibles fuera del repositorio, o ampliaría lo que expone una implementación. Esto cubre un workflow de CI o una configuración de implementación que pasa un secreto a un destino que aún no lo recibe, un script o paso de configuración que lee un almacén de secretos y envía los datos hacia fuera, y un cambio de configuración que amplía lo que publica una implementación, como un ajuste de registro, visibilidad, artefacto o sourcemap. La verificación se aplica en cualquier rama, se aplica incluso cuando el repositorio es público y se activa cuando se hace commit o push del cambio, independientemente de si ese commit o push desencadena el pipeline; para superarla hay que nombrar el efecto de la ejecución, no solo el commit o el push449* Hacer commit o push de un cambio que, al ejecutarse, enviaría secretos o datos sensibles fuera del repositorio, o ampliaría lo que expone un despliegue. Esto abarca un workflow de CI o una configuración de despliegue que pasa un secreto a un destino que aún no lo recibe, un script o paso de configuración que lee un almacén de secretos y envía los datos fuera, y un cambio de configuración que amplía lo que publica un despliegue, como un ajuste de registro de paquetes, visibilidad, artefactos o sourcemaps. La comprobación se aplica en cualquier rama, se aplica incluso cuando el repositorio es público, y se activa cuando se hace commit o push del cambio, tanto si ese commit o push desencadena el pipeline como si no; para superarla hay que nombrar el efecto de la ejecución, no solo el commit o el push

450* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` o `git stash clear`, que el clasificador presume que descartarían cambios sin confirmar450* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` o `git stash clear`, que el clasificador presume que descartarían cambios sin commit

451* `git commit --amend` cuando el commit en HEAD no se creó en esta sesión451* `git commit --amend` cuando el commit en HEAD no se creó en esta sesión

452* Desde v2.1.198, `git commit --amend` cuando ya se hizo push del commit en HEAD. Una reescritura solo del mensaje no se bloquea: `--amend -m` sin nada recién preparado, en un commit que Claude creó durante esta sesión452* A partir de v2.1.198, `git commit --amend` cuando ya se hizo push del commit en HEAD. No se bloquea una simple reformulación del mensaje: `--amend -m` sin nada nuevo en el área de preparación, sobre un commit que Claude creó durante esta sesión

453* `terraform destroy`, `pulumi destroy`, `cdk destroy` o `terragrunt destroy`, y aplicar un plan que destruye recursos453* `terraform destroy`, `pulumi destroy`, `cdk destroy` o `terragrunt destroy`, y aplicar un plan que destruye recursos

454* Escribir en un administrador de secretos, o cambiar registros DNS o certificados TLS454* Escribir en un gestor de secretos, o cambiar registros DNS o certificados TLS

455* Fusionar un pull request que ningún humano ha aprobado, aprobar el propio pull request de Claude o deshabilitar verificaciones de CI455* Fusionar un pull request que ninguna persona ha aprobado, aprobar el propio pull request de Claude o desactivar comprobaciones de CI

456* Publicar un comentario que en sí mismo es un comando para una automatización, como `atlantis apply` o el `/deploy` o `/merge` de un bot456* Publicar un comentario que es en sí mismo un comando para la automatización, como `atlantis apply` o el `/deploy` o `/merge` de un bot

457* Activar, desactivar, escalonar o eliminar un feature flag de producción457* Activar, desactivar, escalar gradualmente o eliminar un feature flag de producción

458* Aplicar cambios de infraestructura a un alcance de IaC protegido, o drenar y eliminar nodos de un clúster458* Aplicar cambios de infraestructura a un alcance de IaC protegido, o drenar y eliminar nodos de un clúster

459* Escrituras en un clúster de cómputo compartido que van más allá del recurso que nombraste, como un selector de etiquetas o `--all` que abarca trabajos de otros usuarios459* Escrituras en un clúster de cómputo compartido que van más allá del recurso que nombraste, como un selector de etiquetas o `--all` que alcanza trabajos de otros usuarios

460* Crear recursos de Kubernetes que se ejecutan en cada nodo o interceptan el tráfico del clúster, como DaemonSets y webhooks de admisión460* Crear recursos de Kubernetes que se ejecutan en todos los nodos o interceptan el tráfico del clúster, como DaemonSets y webhooks de admisión

461* Shells interactivos o reenvíos de puertos hacia un destino remoto sensible461* Shells interactivos o redirecciones de puertos hacia un destino remoto sensible

462* Abrir un túnel o un shell inverso que hace que un servicio local sea accesible desde internet público462* Abrir un túnel o un reverse shell que haga accesible un servicio local desde internet pública

463* Imprimir una credencial o un token vigente en la transcripción o en un archivo463* Imprimir una credencial o un token activo en la transcripción o en un archivo

464* Acceder a una ubicación listada como ubicación de datos sensibles en tu [entorno](https://code.claude.com/docs/es/auto-mode-config.md#define-trusted-infrastructure), copiar datos desde una o enviar datos desde una de ellas a una audiencia que la entrada excluye464* Acceder a una ubicación incluida como ubicación de datos sensibles en tu [entorno](https://code.claude.com/docs/es/auto-mode-config.md#define-trusted-infrastructure), copiar datos desde una de ellas o enviar datos de una de ellas a un público que la entrada excluye

465* Desviar la instalación de un paquete de tu registro de paquetes interno hacia un registro público. Esto se aplica cuando hay un registro interno o un mirror listado en tu entorno o cuando le has dicho a Claude en la conversación que existe uno465* Desviar la instalación de un paquete de tu registro interno de paquetes hacia un registro público. Esto se aplica cuando un registro interno o mirror figura en tu entorno o cuando le has dicho a Claude en la conversación que existe uno

466* Ejecutar un comando con un flag que desactiva una protección de seguridad, como `--insecure`466* Ejecutar un comando con un flag que desactiva una protección de seguridad, como `--insecure`

467* Lanzar un bucle de agente autónomo que se ejecuta sin aprobación humana ni sandbox, como uno iniciado con `--dangerously-skip-permissions` o `--no-sandbox`. Esto incluye ejecutar un agente de terceros o un arnés de evaluación con el aislamiento y la aprobación por acción deshabilitados, como un ejecutor iniciado con `--yes-always`467* Lanzar un bucle de agente autónomo que se ejecuta sin aprobación humana ni sandbox, como uno iniciado con `--dangerously-skip-permissions` o `--no-sandbox`. Esto incluye ejecutar un agente de terceros o un harness de evaluación con el aislamiento y la aprobación por acción desactivados, como un runner iniciado con `--yes-always`

468* Acciones del navegador de [Claude in Chrome](https://code.claude.com/docs/es/chrome.md) que podrían enviar contenido de la página, cookies o credenciales fuera del origen468* Acciones del navegador de [Claude in Chrome](https://code.claude.com/docs/es/chrome.md) que podrían enviar contenido de la página, cookies o credenciales fuera del origen

469* Eliminar archivos en `/tmp`, `$TMPDIR` u otro directorio compartido temporal o de caché mediante comodín, glob o filtro de antigüedad, en lugar de mediante una ruta nombrada específica469* Eliminar archivos en `/tmp`, `$TMPDIR` u otro directorio compartido de uso temporal o de caché mediante comodín, glob o filtro de antigüedad en lugar de una ruta específica con nombre

470* Incluir detalles sensibles en contenido enviado, cargado, publicado o escrito para otras personas o sistemas compartidos, cuando tu propio mensaje no autorizó esos detalles para ese destinatario. Los cuerpos de PR e issues, los mensajes de commit y los comentarios cuentan como este tipo de contenido saliente cuando el repositorio está fuera del límite de confianza o es público, incluidos los repositorios públicos de tu propia organización; las rutas de archivo internas, los nombres en clave, los datos vigentes de respuestas de API, como correos electrónicos o identificadores de cuenta, y los identificadores de infraestructura cuentan como detalles sensibles. Los datos personales vigentes de una respuesta de API en el cuerpo de un PR o issue, como una dirección de correo electrónico, un identificador de cuenta u organización o una métrica de uso, requieren que nombres esos detalles y el destinatario, independientemente de la visibilidad del repositorio o del límite de confianza470* Incluir detalles sensibles en contenido enviado, subido, publicado o escrito para otras personas o sistemas compartidos, cuando tu propio mensaje no autorizó esos detalles para ese destinatario. Los cuerpos de pull requests e issues, los mensajes de commit y los comentarios cuentan como este tipo de contenido saliente cuando el repositorio está fuera del límite de confianza o es público, incluidos los repositorios públicos de tu propia organización; las rutas de archivos internas, los nombres en clave, los datos de respuestas de API en vivo como correos electrónicos o identificadores de cuenta, y los identificadores de infraestructura cuentan como detalles sensibles. Los datos personales en vivo de una respuesta de API en el cuerpo de un pull request o un issue, como una dirección de correo electrónico, un identificador de cuenta u organización, o una métrica de uso, requieren que nombres esos detalles y el destinatario, sin importar la visibilidad del repositorio ni el límite de confianza

471* Enviar pulsaciones de teclas al propio panel de tmux de Claude Code para controlar su propia interfaz, lo que el clasificador trata como si Claude cambiara sus propios permisos o su supervisión471* Enviar pulsaciones de teclas al propio panel de tmux de Claude Code para controlar su propia interfaz, lo que el clasificador trata como que Claude cambia sus propios permisos o supervisión

472* Comentar, eliminar o forzar el éxito de una prueba o aserción que protege un comportamiento de seguridad, como autenticación, control de acceso, validación de entradas o sandboxing472* Comentar, eliminar o forzar que pase una prueba o aserción que protege el comportamiento de seguridad, como la autenticación, el control de acceso, la validación de entradas o el sandboxing

473* Eliminar o desmantelar un recurso con estado que Claude no creó en la sesión, cuando no se aplica ninguna regla de eliminación más específica y no nombraste ese recurso473* Eliminar o desmantelar un recurso con estado que Claude no creó en la sesión, cuando no se aplica ninguna regla de eliminación más específica y no nombraste ese recurso

474* Reapuntar una URL base de API, un endpoint de proxy, un receptor de webhooks o un mirror de registro a un host de terceros que no corresponde a la tarea, incluso en archivos de ejemplo como `.env.example`474* Redirigir una URL base de API, un endpoint de proxy, un receptor de webhooks o un mirror de registro a un host de terceros que no encaja con la tarea, incluso en archivos de ejemplo como `.env.example`

475* Cambiar a dónde van los push con `git remote set-url` o `git remote add`, a menos que hayas nombrado el nuevo remoto475* Cambiar adónde van los push con `git remote set-url` o `git remote add`, a menos que hayas nombrado el nuevo remoto

476* Hacer push de secretos o de datos personales o confiados a un repositorio que se sabe que es público, o hacer push allí de material confidencial que no forma parte del trabajo propio de ese repositorio. El tema propio de un repositorio de dotfiles es la única excepción para los datos personales o confiados, y el contenido de un repositorio privado que llega a cualquier superficie pública se bloquea de la misma manera. Cuando no se ha establecido la visibilidad de un repositorio, el clasificador no bloquea solo por eso; en su lugar, juzga el contenido según las demás reglas476* Hacer push de secretos o de datos personales o confiados a un repositorio que se sabe que es público, o hacer push allí de material confidencial que no forma parte del trabajo propio de ese repositorio. El tema propio de un repositorio de dotfiles es la única excepción para datos personales o confiados, y el contenido de un repositorio privado que llega a cualquier superficie pública se bloquea de la misma manera. Cuando no está establecida la visibilidad de un repositorio, el clasificador no bloquea solo por eso; en su lugar, juzga el contenido según las demás reglas

477* Abrir un pull request contra un repositorio u organización diferente, hacer un fork con `gh repo fork` o hacer push a un repositorio de terceros, a menos que hayas nombrado ese destino externo477* Abrir un pull request contra otro repositorio u organización, hacer fork con `gh repo fork` o hacer push a un repositorio de terceros, a menos que hayas nombrado ese destino externo

478* Contenido de un almacén local sensible, o de un archivo cuyo nombre, ruta o tipo lo marca como sensible, que entre en un commit, un push, el texto de un PR o issue, un gist o paste, o la publicación de un paquete, a menos que hayas nombrado tanto el origen como el destino. Cuentan las transcripciones de sesión y los registros de conversación, las carpetas ocultas de credenciales y configuración, como claves SSH, credenciales de la nube, perfiles de navegador e historial del shell, y las exportaciones de datos de usuarios, y que el repositorio sea privado no lo exime478* Que contenido de un almacén local sensible, o de un archivo cuyo nombre, ruta o tipo lo marque como sensible, entre en un commit, un push, el texto de un pull request o issue, un gist o paste, o la publicación de un paquete, a menos que hayas nombrado tanto el origen como el destino. Las transcripciones de sesiones y los registros de conversaciones, las carpetas ocultas de credenciales y configuración como claves SSH, credenciales de la nube, perfiles de navegador e historial del shell, y las exportaciones de datos de usuario cuentan, y que el repositorio sea privado no lo exime

479* Escribir en las transcripciones de sesión de Claude Code, los archivos de historial `.jsonl` en `~/.claude/projects/` o en tu directorio de configuración configurado, ya sea directamente o mediante un comando de shell. La regla también cubre las líneas de metadatos que Claude Code agrega a cada entrada de la transcripción para sus propias verificaciones. Leer una transcripción no se bloquea479* Escribir en las transcripciones de sesiones de Claude Code, los archivos de historial `.jsonl` en `~/.claude/projects/` o en tu directorio de configuración configurado, ya sea directamente o mediante un comando de shell. La regla también cubre las líneas de metadatos que Claude Code agrega a cada entrada de la transcripción para sus propias comprobaciones. Leer una transcripción no se bloquea

480* Una eliminación forzada recursiva como `rm -rf "$VAR"` o `Remove-Item -Recurse -Force $dir` cuyo destino es una variable de shell que no se asigna en ninguna parte de la conversación que ve el clasificador, o un glob que parte de esa variable. El valor provino solo de la salida de un comando anterior, que el clasificador nunca recibe, por lo que el clasificador no puede verificar el destino de la eliminación según las demás reglas de eliminación. El bloqueo se levanta cuando nombras la ruta exacta que se elimina, o cuando Claude vuelve a ejecutar la eliminación con la ruta literal resuelta escrita en el comando. Las eliminaciones cuyo destino el clasificador puede resolver no se ven afectadas.480* Una eliminación forzada recursiva como `rm -rf "$VAR"` o `Remove-Item -Recurse -Force $dir` cuyo destino es una variable de shell que no se asigna en ninguna parte de la conversación que ve el clasificador, o un glob con raíz en una variable así. El valor provino solo de la salida de un comando anterior, que el clasificador nunca recibe, por lo que el clasificador no puede verificar el destino de la eliminación con las demás reglas de eliminación. El bloqueo se levanta cuando nombras la ruta exacta que se elimina, o cuando Claude vuelve a ejecutar la eliminación con la ruta literal resuelta escrita en el comando. Las eliminaciones cuyo destino el clasificador puede resolver no se ven afectadas.

481 481 

482 Un glob directamente bajo la variable, como en `rm -rf "$VAR"/*`, es en cambio una [ruta crítica](#critical-paths). Los destinos de `Remove-Item` que son un `*` solo o que terminan en `/*` o `\*` nunca llegan al clasificador: Claude Code [los deniega directamente](#remove-item-in-powershell).482 Un glob directamente bajo la variable, como en `rm -rf "$VAR"/*`, es en cambio una [ruta crítica](#critical-paths). Los destinos de `Remove-Item` que son un `*` solo o terminan en `/*` o `\*` nunca llegan al clasificador: Claude Code [los deniega directamente](#remove-item-in-powershell).

483 483 

484Varias de estas categorías dependen de entradas del [entorno](https://code.claude.com/docs/es/auto-mode-config.md#define-trusted-infrastructure), como los destinos remotos sensibles y los alcances de IaC protegidos, que puedes restringir a nombres concretos.484Varias de estas categorías dependen de entradas del [entorno](https://code.claude.com/docs/es/auto-mode-config.md#define-trusted-infrastructure), como los destinos remotos sensibles y los alcances de IaC protegidos, que puedes acotar a nombres concretos.

485 485 

486Claude Code v2.1.257 y posterior también bloquean lo siguiente de forma predeterminada:486Claude Code v2.1.257 y posteriores también bloquean esto de forma predeterminada:

487 487 

488* Solicitar credenciales al endpoint de metadatos de instancias de la nube, como `169.254.169.254`, o autenticar explícitamente una llamada a la nube, a un clúster o a un registro con la identidad de cuenta de servicio o de nodo de la propia máquina488* Solicitar credenciales al endpoint de metadatos de instancias de la nube, como `169.254.169.254`, o autenticar explícitamente una llamada a la nube, a un clúster o a un registro con la propia identidad de cuenta de servicio o de nodo de la máquina

489* Llegar a un host público por una vía distinta de una solicitud directa, como un túnel, un shell inverso o una configuración de resolutor o proxy reescrita para apuntar hacia fuera489* Llegar a un host público por una ruta distinta de una solicitud directa, como un túnel, un reverse shell o una configuración de resolvedor o proxy reescrita para apuntar al exterior

490* Leer credenciales que pertenecen al host y no a tu tarea, como certificados de nodo o la autenticación del registro de contenedores del nodo490* Leer credenciales que pertenecen al host y no a tu tarea, como certificados de nodo o la autenticación del registro de contenedores del nodo

491* Conectarse a contenedores, pods o máquinas virtuales hermanos que Claude no inició, o escanearlos, o al nodo que está debajo del contenedor491* Conectarse a contenedores, pods o VMs hermanos que Claude no inició, o al nodo bajo el contenedor, o escanearlos

492 492 

493Si Claude Code se ejecuta en un lugar que debe permitir alguna de estas acciones, describe esa configuración en una [entrada de Host containment](https://code.claude.com/docs/es/auto-mode-config.md#define-trusted-infrastructure) en `autoMode.environment`.493Si Claude Code se ejecuta en un lugar que debe permitir alguna de estas acciones, describe esa configuración en una [entrada de Host containment](https://code.claude.com/docs/es/auto-mode-config.md#define-trusted-infrastructure) en `autoMode.environment`.

494 494 

495Claude Code v2.1.261 y posterior también bloquean lo siguiente de forma predeterminada:495Claude Code v2.1.261 y posteriores también bloquean esto de forma predeterminada:

496 496 

497* Publicar o escribir un enlace a un servicio público de paste, diagramas o intercambio de datos en un mensaje, en el texto de un PR o issue, en un documento o en cualquier otro lugar donde el enlace se abrirá o se recuperará, cuando la propia URL contiene el contenido que se comparte, a menos que hayas nombrado ese servicio497* Publicar o escribir un enlace a un servicio público de paste, diagramas o intercambio de datos en un mensaje, en el texto de un pull request o issue, en un documento o en cualquier otro lugar donde el enlace se abrirá u obtendrá, cuando la propia URL lleva el contenido que se comparte, a menos que hayas nombrado ese servicio

498 498 

499**Permitido de forma predeterminada**:499**Permitido de forma predeterminada**:

500 500 

501* Operaciones con archivos locales en tu directorio de trabajo501* Operaciones con archivos locales en tu directorio de trabajo

502* Instalar dependencias declaradas en tus archivos de bloqueo o manifiestos502* Instalar dependencias declaradas en tus lock files o manifiestos

503* Leer `.env` y enviar credenciales a su API correspondiente503* Leer `.env` y enviar credenciales a su API correspondiente

504* Solicitudes HTTP de solo lectura504* Solicitudes HTTP de solo lectura

505* Hacer push a cualquier rama del repositorio en el que estás trabajando, incluida la rama predeterminada. Una rama no predeterminada cuyo nombre la marca como destino de implementación o publicación, como `production` o `gh-pages`, no está cubierta: el clasificador juzga un push allí según sus propios méritos.505* Hacer push a cualquier rama del repositorio en el que estás trabajando, incluida la rama predeterminada. No se incluye una rama no predeterminada cuyo nombre la marca como destino de despliegue o publicación, como `production` o `gh-pages`: el clasificador juzga un push allí según sus propios criterios.

506 506 

507 El contenido de un push se sigue verificando según las demás reglas del clasificador, y las [reglas `permissions.deny`](https://code.claude.com/docs/es/permissions#manage-permissions) aún pueden bloquear comandos de push [tal como están escritos](https://code.claude.com/docs/es/permissions.md#bash-rule-limits) en todos los modos. La protección de ramas propia del remoto sigue aplicándose.507 El contenido de un push se sigue comprobando con las demás reglas del clasificador, y las [reglas `permissions.deny`](https://code.claude.com/docs/es/permissions#manage-permissions) aún pueden bloquear comandos de push [tal como están escritos](https://code.claude.com/docs/es/permissions.md#bash-rule-limits) en todos los modos. La protección de ramas del propio remoto sigue aplicándose.

508* Eliminar exactamente los trabajos que Claude creó antes en la misma sesión508* Eliminar exactamente los trabajos que Claude creó antes en la misma sesión

509* Leer, revisar o escribir código, configuraciones y modelos de amenazas relacionados con la seguridad como parte de tu tarea509* Leer, revisar o escribir código relacionado con la seguridad, configuraciones y modelos de amenazas como parte de tu tarea

510* Mensajes entre agentes que trabajan juntos en la misma sesión multiagente510* Mensajes entre agentes que trabajan juntos en la misma sesión multiagente

511* Enviar datos a los dominios, buckets y servicios de confianza que enumeres en [`environment`](https://code.claude.com/docs/es/auto-mode-config#define-trusted-infrastructure). Esto cubre solo el flujo de datos, no operaciones destructivas ni con credenciales en esa misma infraestructura511* Enviar datos a los dominios, buckets y servicios de confianza que enumeras en [`environment`](https://code.claude.com/docs/es/auto-mode-config#define-trusted-infrastructure). Esto cubre solo el flujo de datos, no las operaciones destructivas ni de credenciales sobre la misma infraestructura

512* Navegación de [Claude in Chrome](https://code.claude.com/docs/es/chrome.md) a un dominio interno de confianza, a localhost o a una URL que nombraste512* Navegación de [Claude in Chrome](https://code.claude.com/docs/es/chrome.md) a un dominio interno de confianza, a localhost o a una URL que nombraste

513 513 

514Los comandos en sandbox no obtienen acceso a la red de forma predeterminada. Claude nombra en el propio comando los hosts que este necesita, el clasificador los revisa junto con el comando, y una lista aprobada abre esos hosts solo para ese comando. [Dominios permitidos por comando](https://code.claude.com/docs/es/sandboxing.md#per-command-allowed-domains-in-auto-mode) explica lo que una lista puede y no puede abrir y qué sucede cuando un comando intenta llegar a un host que no está en la lista.514Los comandos en el sandbox no obtienen acceso a la red de forma predeterminada. Claude nombra en el propio comando los hosts que este necesita, el clasificador los revisa junto con el comando, y una lista aprobada abre esos hosts solo para ese comando. [Dominios permitidos por comando](https://code.claude.com/docs/es/sandboxing.md#per-command-allowed-domains-in-auto-mode) explica qué puede y qué no puede abrir una lista y qué sucede cuando un comando intenta llegar a un host que no está en la lista.

515 515 

516Ejecuta `claude auto-mode defaults` para imprimir las listas completas de reglas como JSON. Si se bloquean acciones habituales, un administrador puede agregar repositorios, buckets y servicios de confianza mediante el ajuste `autoMode.environment`: consulta [Configurar el modo automático](https://code.claude.com/docs/es/auto-mode-config.md).516Ejecuta `claude auto-mode defaults` para imprimir las listas completas de reglas como JSON. Si se bloquean acciones habituales, un administrador puede agregar repositorios, buckets y servicios de confianza mediante el ajuste `autoMode.environment`: consulta [Configurar el modo automático](https://code.claude.com/docs/es/auto-mode-config.md).

517 517 

518Hacer push a cualquier rama del repositorio en el que estás trabajando y crear un pull request que coincide con tu solicitud se ejecutan sin solicitud de permiso, a menos que el push o el pull request entre en la [lista de bloqueos](#what-the-classifier-blocks-by-default), como secretos o datos sensibles que salen del repositorio, o un pull request que apunta a un repositorio u organización diferente. Para exigir un punto de control humano antes de estos comandos sin salir del modo automático, agrega reglas `permissions.ask`, que coinciden con el comando [tal como está escrito](https://code.claude.com/docs/es/permissions.md#bash-rule-limits): consulta [Límites comunes](https://code.claude.com/docs/es/auto-mode-config.md#common-boundaries).518Hacer push a cualquier rama del repositorio en el que estás trabajando y crear un pull request que coincida con tu solicitud se ejecutan sin solicitud de permiso, a menos que el push o el pull request caigan en la [lista de bloqueados](#what-the-classifier-blocks-by-default), como secretos o datos sensibles que salen del repositorio, o un pull request dirigido a otro repositorio u organización. Para exigir un punto de control humano antes de estos comandos sin salir del modo automático, agrega reglas `permissions.ask`, que coinciden con el comando [tal como está escrito](https://code.claude.com/docs/es/permissions.md#bash-rule-limits): consulta [Límites comunes](https://code.claude.com/docs/es/auto-mode-config.md#common-boundaries).

519 519 

520### La primera lectura fuera de los directorios de trabajo520### La primera lectura fuera de los directorios de trabajo

521 521 

522Mientras [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/es/settings-reference#permissions-blockreadsoutsideworkingdirectories) está desactivado, las lecturas de archivos distintas de las [lecturas desde rutas de red](https://code.claude.com/docs/es/permissions.md#network-paths) se ejecutan sin solicitud de permiso en modo automático, incluidas las lecturas fuera de los [directorios de trabajo](https://code.claude.com/docs/es/permissions.md#working-directories). La primera vez que Claude usa la herramienta Read, Grep o Glob en una ruta fuera de ellos, Claude Code pregunta si permitir esa lectura.522Mientras [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/es/settings-reference#permissions-blockreadsoutsideworkingdirectories) está desactivado, las lecturas de archivos distintas de las [lecturas desde rutas de red](https://code.claude.com/docs/es/permissions.md#network-paths) se ejecutan sin solicitud de permiso en el modo automático, incluidas las lecturas fuera de los [directorios de trabajo](https://code.claude.com/docs/es/permissions.md#working-directories). La primera vez que Claude usa la herramienta Read, Grep o Glob en una ruta fuera de ellos, Claude Code pregunta si permitir esa lectura.

523 523 

524La solicitud no aparece en ejecuciones `-p` no interactivas ni en sesiones en segundo plano; allí las lecturas se ejecutan como antes.524La solicitud no aparece en ejecuciones no interactivas con `-p` ni en sesiones en segundo plano; allí las lecturas se ejecutan como antes.

525 525 

526Respondas lo que respondas, Claude sigue trabajando:526Respondas lo que respondas, Claude sigue trabajando:

527 527 

528* **Sí, y seguir permitiendo cualquier lectura fuera de los directorios de trabajo**: la lectura se ejecuta, las lecturas posteriores fuera de los directorios de trabajo se ejecutan como antes, y Claude Code registra tu respuesta para que la solicitud no vuelva a aparecer528* **Yes, and keep allowing any reads outside the working directories**: la lectura se ejecuta, las lecturas posteriores fuera de los directorios de trabajo se ejecutan como antes, y Claude Code registra tu respuesta para que la solicitud no vuelva a aparecer

529* **No, y bloquear las lecturas fuera de los directorios de trabajo de ahora en adelante**: la lectura se rechaza, y Claude Code establece [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/es/settings-reference#permissions-blockreadsoutsideworkingdirectories) en `true` en tu configuración de usuario, lo que hace que las herramientas de archivos rechacen esas lecturas en todas las sesiones posteriores y en todos los modos de permisos. Para permitir que Claude lea una ruta así más adelante, agrega su directorio con `/add-dir` o elimina el ajuste.529* **No, and block reads outside the working directories from now on**: la lectura se rechaza, y Claude Code configura [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/es/settings-reference#permissions-blockreadsoutsideworkingdirectories) como `true` en tu configuración de usuario, lo que hace que las herramientas de archivos rechacen esas lecturas en todas las sesiones posteriores y en todos los modos de permisos. Para permitir que Claude lea una ruta así más adelante, agrega su directorio con `/add-dir` o elimina el ajuste.

530* **No, y volver a preguntar la próxima vez**: la lectura se rechaza, y la próxima lectura fuera de los directorios de trabajo vuelve a pedir confirmación530* **No, and ask again next time**: la lectura se rechaza, y la siguiente lectura fuera de los directorios de trabajo vuelve a pedir permiso

531* **Sí, pero volver a preguntar la próxima vez**: la lectura se ejecuta, no se guarda nada, y la próxima lectura fuera de los directorios de trabajo vuelve a pedir confirmación531* **Yes, but ask again next time**: la lectura se ejecuta, no se guarda nada, y la siguiente lectura fuera de los directorios de trabajo vuelve a pedir permiso

532 532 

533### Límites que estableces en la conversación533### Límites que estableces en la conversación

534 534 

535El clasificador trata los límites que estableces en la conversación como una señal de bloqueo. Si le dices a Claude "no hagas push" o "espera a que revise antes de implementar", el clasificador bloquea las acciones correspondientes incluso cuando las reglas predeterminadas las permitirían. Un límite permanece en vigor hasta que lo levantes en un mensaje posterior. El propio juicio de Claude de que se cumplió una condición no lo levanta.535El clasificador trata los límites que estableces en la conversación como una señal de bloqueo. Si le dices a Claude "no hagas push" o "espera a que lo revise antes de desplegar", el clasificador bloquea las acciones correspondientes aunque las reglas predeterminadas las permitan. Un límite sigue vigente hasta que lo levantas en un mensaje posterior. El propio juicio de Claude de que se cumplió una condición no lo levanta.

536 536 

537Los límites no se almacenan como reglas. El clasificador los vuelve a leer de la transcripción en cada verificación, por lo que un límite puede perderse si la [compactación del contexto](https://code.claude.com/docs/es/costs.md#reduce-token-usage) elimina el mensaje que lo estableció. Para una garantía firme, agrega en su lugar una [regla de denegación](https://code.claude.com/docs/es/permissions.md#permission-rule-syntax).537Los límites no se almacenan como reglas. El clasificador los vuelve a leer de la transcripción en cada comprobación, así que un límite puede perderse si la [compactación del contexto](https://code.claude.com/docs/es/costs.md#reduce-token-usage) elimina el mensaje que lo estableció. Para una garantía firme, agrega en su lugar una [regla deny](https://code.claude.com/docs/es/permissions.md#permission-rule-syntax).

538 538 

539### Aprobaciones que estableces en la conversación539### Aprobaciones que estableces en la conversación

540 540 

541Si le dices a Claude que una acción bloqueada está permitida, el clasificador lo interpreta como tu aprobación y puede levantar el bloqueo. La forma en que lo expresaste decide si la acción se ejecuta y hasta dónde llega la aprobación:541Si le dices a Claude que una acción bloqueada está permitida, el clasificador lo interpreta como tu aprobación y puede levantar el bloqueo. La forma en que lo expresaste decide si la acción se ejecuta y hasta dónde llega la aprobación:

542 542 

543* **Nombra la acción y sus detalles**: tu mensaje tiene que nombrar la acción y lo específico que la hace peligrosa, como la rama de un push forzado. Nombrar solo el verbo no levanta nada, así que "puedes hacer push forzado" deja el bloqueo en su lugar.543* **Nombra la acción y sus detalles**: tu mensaje tiene que nombrar la acción y el elemento específico que la hace peligrosa, como la rama de un force push. Nombrar solo el verbo no levanta nada, así que "puedes hacer force push" deja el bloqueo en su lugar.

544* **Cuenta con que cubra una sola acción**: una aprobación cubre la acción destructiva que nombraste, por lo que una acción posterior se vuelve a bloquear a menos que hayas otorgado la aprobación como permanente. Para dejar de aprobar un patrón habitual acción por acción, agrégalo a [`autoMode.allow`](https://code.claude.com/docs/es/auto-mode-config#override-the-block-and-allow-rules).544* **Espera que cubra una sola acción**: una aprobación cubre la acción destructiva que nombraste, así que una acción posterior vuelve a bloquearse a menos que hayas otorgado la aprobación como permanente. Para dejar de aprobar un patrón habitual una acción a la vez, agrégalo a [`autoMode.allow`](https://code.claude.com/docs/es/auto-mode-config#override-the-block-and-allow-rules).

545* **Algunos bloqueos se mantienen**: [el orden de precedencia del clasificador](https://code.claude.com/docs/es/auto-mode-config.md#override-the-block-and-allow-rules) establece qué bloqueos puede alcanzar tu aprobación. Para ejecutar un paso que no se levanta, [sal del modo automático](#switch-permission-modes) y responde la solicitud de permiso.545* **Algunos bloqueos se mantienen**: [el orden de precedencia del clasificador](https://code.claude.com/docs/es/auto-mode-config.md#override-the-block-and-allow-rules) establece a qué bloqueos puede llegar tu aprobación. Para ejecutar un paso que no levantará, [sal del modo automático](#switch-permission-modes) y responde la solicitud de permiso.

546 546 

547### Cuando el modo automático recurre a solicitudes de permiso547### Cuando el modo automático recurre a otra opción

548 548 

549Cuando el modo automático no puede aprobar las acciones de tu sesión, lo que sucede depende del caso:549Cuando el modo automático no puede aprobar las acciones de tu sesión, lo que sucede depende del caso:

550 550 

551* **Una acción bloqueada**: Claude Code muestra una notificación y lista la acción en `/permissions` en la pestaña **Denegadas recientemente**, donde puedes presionar `r` para reintentarla con una aprobación manual.551* **Una acción bloqueada**: Claude Code muestra una notificación y enumera la acción en `/permissions` en la pestaña **Recently denied**, donde puedes presionar `r` para reintentarla con una aprobación manual.

552* **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 confirmación. Aprobar la acción solicitada reanuda el modo automático. Consulta [Umbrales de bloqueos repetidos](#repeated-block-thresholds) para saber cómo se cuentan los bloqueos.552* **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.

553* **Sin veredicto del clasificador**: cuando una verificació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 deniega la acción sin la notificación ni la entrada en **Denegadas recientemente**. Consulta [El modo automático no puede determinar la seguridad de una acción](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.553* **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 deniega la acción sin la notificación ni la entrada en **Recently denied**. 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.

554* **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 [El servidor no devolvió ningún veredicto de seguridad](https://code.claude.com/docs/es/errors.md#the-server-returned-no-safety-verdict).554* **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).

555* **Un cambio de modo durante una verificación**: si cambias de modo de permisos mientras una verificación del clasificador está 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).555* **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).

556 556 

557#### Umbrales de bloqueos repetidos557#### Umbrales de bloqueos repetidos

558 558 

559Los umbrales de 3 bloqueos seguidos y 20 bloqueos en total no son configurables. El contador total persiste durante la sesión y se reinicia solo cuando su propio límite hace que se recurra a las solicitudes de permiso. Claude Code no cuenta una denegación para ninguno de los umbrales cuando una verificación de seguridad independiente del modo automático rechaza la propia solicitud del clasificador.559Los umbrales de 3 bloqueos seguidos y 20 bloqueos en total no se pueden configurar. El contador total persiste durante la sesión y solo se restablece cuando su propio límite provoca que se recurra a las solicitudes de permiso. Claude Code no cuenta una denegación para ninguno de los umbrales cuando una comprobación de seguridad independiente del modo automático rechaza la propia solicitud del clasificador.

560 560 

561Una ejecución `-p` [no interactiva](https://code.claude.com/docs/es/headless.md) sin [`--permission-prompt-tool`](https://code.claude.com/docs/es/cli-reference#cli-flags) no tiene ninguna solicitud de permiso a la que recurrir. Cuando los bloqueos repetidos alcanzan un umbral, la acción no se ejecuta y Claude sigue trabajando. Claude Code no detiene la ejecución.561Una ejecución [no interactiva](https://code.claude.com/docs/es/headless.md) con `-p` sin [`--permission-prompt-tool`](https://code.claude.com/docs/es/cli-reference#cli-flags) no tiene ninguna solicitud de permiso a la que recurrir. Cuando los bloqueos repetidos alcanzan un umbral, la acción no se ejecuta y Claude sigue trabajando. Claude Code no detiene la ejecución.

562 562 

563Los bloqueos repetidos suelen significar que al clasificador le falta contexto sobre tu infraestructura. Usa `/feedback` para informar falsos positivos, o pide a un administrador que [configure infraestructura de confianza](https://code.claude.com/docs/es/auto-mode-config.md).563Los bloqueos repetidos suelen significar que al clasificador le falta contexto sobre tu infraestructura. Usa `/feedback` para informar falsos positivos, o pide a un administrador que [configure la infraestructura de confianza](https://code.claude.com/docs/es/auto-mode-config.md).

564 564 

565### Cómo el modo automático evalúa las acciones565### Cómo evalúa las acciones el modo automático

566 566 

567Las siguientes secciones explican el orden en que Claude Code evalúa una acción, cómo el clasificador revisa el trabajo de los subagentes y qué agregan las llamadas al clasificador en costo y latencia.567Las siguientes secciones explican el orden en que Claude Code evalúa una acción, cómo revisa el clasificador el trabajo de los subagentes y qué añaden las llamadas al clasificador en costo y latencia.

568 568 

569> **Cómo el clasificador evalúa las acciones**569> **Cómo evalúa las acciones el clasificador**

570>570>

571> Cada acción pasa por un orden de decisión fijo. Gana el primer paso que coincide:571> Cada acción pasa por un orden de decisión fijo. Gana el primer paso que coincide:

572>572>

573> 1. Las acciones que coinciden con tus [reglas de permitir, preguntar o denegar](https://code.claude.com/docs/es/permissions.md#manage-permissions) se resuelven de inmediato, con estas excepciones:573> 1. Las acciones que coinciden con tus [reglas allow, ask o deny](https://code.claude.com/docs/es/permissions.md#manage-permissions) se resuelven de inmediato, con estas excepciones:

574> * Las escrituras en [rutas protegidas](#protected-paths) pasan al clasificador incluso cuando coincide una regla de permitir. Cuando la ruta protegida es el archivo al que apunta un archivo de configuración enlazado simbólicamente, la escritura puede pedirte confirmación en su lugar, como describe la lista de [rutas protegidas](#protected-paths)574> * Las escrituras en [rutas protegidas](#protected-paths) se envían al clasificador aunque coincida una regla allow. Cuando la ruta protegida es el archivo al que apunta un archivo de configuración enlazado simbólicamente, la escritura puede pedirte permiso en su lugar, como describe la lista de [rutas protegidas](#protected-paths)

575> * Ninguna regla de permitir aprueba las [eliminaciones de rutas críticas](#critical-paths) reconocidas con `rm` y `rmdir`575> * Ninguna regla allow aprueba las [eliminaciones de rutas críticas](#critical-paths) reconocidas de `rm` y `rmdir`

576> * Las herramientas MCP marcadas con [`requiresUserInteraction`](https://code.claude.com/docs/es/mcp#require-approval-for-a-specific-tool) te piden confirmación directamente incluso cuando coincide una regla de permitir, y lo mismo ocurre con las herramientas de conectores que [tu organización configuró en `ask`](https://code.claude.com/docs/es/mcp#organization-controls-on-connector-tools) en las sesiones en las que ese ajuste llega a Claude Code576> * Las herramientas MCP marcadas con [`requiresUserInteraction`](https://code.claude.com/docs/es/mcp#require-approval-for-a-specific-tool) te piden permiso directamente aunque coincida una regla allow, y lo mismo ocurre con las herramientas de conectores que [tu organización configuró como `ask`](https://code.claude.com/docs/es/mcp#organization-controls-on-connector-tools) en las sesiones donde ese ajuste llega a Claude Code

577> * Un comando de shell que incluye [dominios permitidos por comando](https://code.claude.com/docs/es/sandboxing.md#per-command-allowed-domains-in-auto-mode) también pasa al clasificador incluso cuando coincide una regla de permitir, porque una regla aprueba el comando, no sus hosts577> * Un comando de shell que lleva [dominios permitidos por comando](https://code.claude.com/docs/es/sandboxing.md#per-command-allowed-domains-in-auto-mode) también se envía al clasificador aunque coincida una regla allow, porque una regla aprueba el comando, no sus hosts

578> * Las reglas de preguntar que coinciden con el contenido de un comando, como `Bash(git push *)`, recurren a una solicitud de permiso578> * Las reglas ask que coinciden con el contenido de un comando, como `Bash(git push *)`, recurren a una solicitud de permiso

579> * Una escritura que la [comprobación de enlaces simbólicos](https://code.claude.com/docs/es/permissions.md#symlinks) resuelve a una ruta protegida te pide confirmación cuando la ruta que Claude solicitó no está protegida en sí misma579> * Una escritura que la [comprobación de enlaces simbólicos](https://code.claude.com/docs/es/permissions.md#symlinks) resuelve a una ruta protegida te pide permiso cuando la ruta que solicitó Claude no está protegida en sí misma

580> * Una lectura desde una [ruta de red](https://code.claude.com/docs/es/permissions.md#network-paths) te pide confirmación incluso cuando coincide una regla de permitir580> * Una lectura desde una [ruta de red](https://code.claude.com/docs/es/permissions.md#network-paths) te pide permiso aunque coincida una regla allow

581> 2. Las acciones de solo lectura y las ediciones de archivos en tu directorio de trabajo se aprueban automáticamente, excepto las escrituras en [rutas protegidas](#protected-paths) y [la primera lectura fuera de los directorios de trabajo](#first-read-outside-the-working-directories), que te pide confirmación581> 2. Las acciones de solo lectura y las ediciones de archivos en tu directorio de trabajo se aprueban automáticamente, excepto las escrituras en [rutas protegidas](#protected-paths) y [la primera lectura fuera de los directorios de trabajo](#first-read-outside-the-working-directories), que te pide permiso

582> * En una sesión con [revisión del clasificador del lado del servidor](#server-side-classifier-review), los comandos de shell de solo lectura y [en sandbox](https://code.claude.com/docs/es/sandboxing.md#sandbox-modes) esperan esa revisión y se bloquean si esta los marca582> * En una sesión con [revisión del clasificador del lado del servidor](#server-side-classifier-review), los comandos de shell de solo lectura y los que se ejecutan [en el sandbox](https://code.claude.com/docs/es/sandboxing.md#sandbox-modes) esperan esa revisión y se bloquean si los marca

583> * Una escritura dentro de tu directorio de trabajo que la [comprobación de enlaces simbólicos](https://code.claude.com/docs/es/permissions.md#symlinks) resuelve a una ubicación fuera de él te pide confirmación583> * Una escritura dentro de tu directorio de trabajo que la [comprobación de enlaces simbólicos](https://code.claude.com/docs/es/permissions.md#symlinks) resuelve a una ubicación fuera de él te pide permiso

584> * Cuando Claude lee un [artefacto que creó otra persona](https://code.claude.com/docs/es/artifacts.md#read-an-artifact-shared-with-you), se aplican los casos de aprobación enumerados en esa sección584> * Cuando Claude lee un [artefacto que hizo otra persona](https://code.claude.com/docs/es/artifacts.md#read-an-artifact-shared-with-you), se aplican los casos de aprobación que se enumeran en esa sección

585> * Una lectura desde una [ruta de red](https://code.claude.com/docs/es/permissions.md#network-paths) te pide confirmación585> * Una lectura desde una [ruta de red](https://code.claude.com/docs/es/permissions.md#network-paths) te pide permiso

586> 3. Todo lo demás va al clasificador, aparte de las [eliminaciones de rutas críticas](#critical-paths) con su tratamiento predeterminado. Las herramientas de conectores y las herramientas MCP con `requiresUserInteraction` que te piden confirmación directamente en el paso 1 tampoco llegan nunca al clasificador, por lo que ni una aprobación requerida por la organización ni un paso de consentimiento se aprueban automáticamente586> 3. Todo lo demás va al clasificador, salvo las [eliminaciones de rutas críticas](#critical-paths) con su manejo predeterminado. Las herramientas de conectores y las herramientas MCP con `requiresUserInteraction` que te piden permiso directamente en el paso 1 tampoco llegan nunca al clasificador, así que ni una aprobación exigida por la organización ni un paso de consentimiento se aprueban automáticamente

587> 4. Si el clasificador bloquea, Claude recibe el motivo. En la mayoría de las sesiones, el motivo nombra la regla con la que coincidió el clasificador, como `[Data Exfiltration]`, en lugar de dar una explicación escrita; consulta [Revisar denegaciones](https://code.claude.com/docs/es/auto-mode-config.md#review-denials)587> 4. Si el clasificador bloquea, Claude recibe el motivo. En la mayoría de las sesiones, el motivo nombra la regla con la que coincidió el clasificador, como `[Data Exfiltration]`, en lugar de dar una explicación escrita; consulta [Revisar denegaciones](https://code.claude.com/docs/es/auto-mode-config.md#review-denials)

588>588>

589> Un [mod](https://code.claude.com/docs/es/plugins/mods/overview.md) que instales y que gestione `tool.check` también puede aprobar una acción. Para los casos en que su aprobación no supera tus reglas y hooks, consulta [Extender permisos con hooks](https://code.claude.com/docs/es/permissions.md#precedence-among-rules-hooks-and-mods).589> Un [mod](https://code.claude.com/docs/es/plugins/mods/overview.md) que instales y que maneje `tool.check` también puede aprobar una acción. Para los casos en los que su aprobación no supera tus reglas y hooks, consulta [Ampliar los permisos con hooks](https://code.claude.com/docs/es/permissions.md#precedence-among-rules-hooks-and-mods).

590>590>

591> Para saber cómo se aprueban las acciones del navegador de [Claude in Chrome](https://code.claude.com/docs/es/chrome.md) en la extensión de VS Code, consulta [Solicitudes de permiso en sesiones de VS Code](https://code.claude.com/docs/es/chrome.md#permission-prompts-in-vs-code-sessions).591> Para saber cómo se aprueban las acciones del navegador de [Claude in Chrome](https://code.claude.com/docs/es/chrome.md) en la extensión de VS Code, consulta [Solicitudes de permiso en sesiones de VS Code](https://code.claude.com/docs/es/chrome.md#permission-prompts-in-vs-code-sessions).

592>592>

593> Al entrar en modo automático, se descartan las reglas de permitir amplias que otorgan ejecución de código arbitrario:593> Al entrar en el modo automático, se descartan las reglas allow amplias que otorgan ejecución de código arbitrario:

594>594>

595> * `Bash(*)` o `PowerShell(*)` sin restricciones595> * `Bash(*)` o `PowerShell(*)` generales

596> * Intérpretes con comodín como `Bash(python*)`596> * Intérpretes con comodines como `Bash(python*)`

597> * Comandos de ejecución del administrador de paquetes597> * Comandos run de gestores de paquetes

598> * Reglas de permitir `Agent`598> * Reglas allow de `Agent`

599> * Reglas de permitir [`Monitor`](https://code.claude.com/docs/es/tools-reference#monitor-tool), porque Claude Code ejecuta los comandos de Monitor a través del shell599> * Reglas allow de [`Monitor`](https://code.claude.com/docs/es/tools-reference#monitor-tool), porque Claude Code ejecuta los comandos de Monitor a través del shell

600>600>

601> Las reglas específicas como `Bash(npm test)` permanecen en vigor. Claude Code restaura las reglas descartadas cuando sales del modo automático. Antes de v2.1.236, Claude Code dejaba en vigor las reglas de permitir `Monitor` en modo automático, por lo que una regla que coincidía con toda la herramienta aprobaba comandos de Monitor sin revisión del clasificador.601> Las reglas específicas como `Bash(npm test)` siguen vigentes. Claude Code restaura las reglas descartadas cuando sales del modo automático. Antes de v2.1.236, Claude Code dejaba vigentes las reglas allow de `Monitor` en el modo automático, así que una regla que coincidía con toda la herramienta aprobaba los comandos de Monitor sin revisión del clasificador.

602>602>

603> Claude Code también ejecuta `git status` por su cuenta antes de un comando que descartaría trabajo sin confirmar, como `git reset --hard` o `rm -rf`, y le muestra al clasificador si hay trabajo preparado, modificado o sin seguimiento. Claude Code informa los archivos sin seguimiento en esa verificación incluso cuando la configuración de Git del repositorio establece `status.showUntrackedFiles=no`.603> Claude Code también ejecuta `git status` por sí mismo antes de un comando que descartaría trabajo sin commit, como `git reset --hard` o `rm -rf`, y le muestra al clasificador si hay trabajo preparado, modificado o sin seguimiento. Claude Code informa de los archivos sin seguimiento en esa comprobación incluso cuando la configuración de git del repositorio establece `status.showUntrackedFiles=no`.

604>604>

605> En las solicitudes al clasificador que envía el propio Claude Code, el clasificador ve los mensajes del usuario, las llamadas a herramientas distintas de las consultas de solo lectura, como lecturas de archivos y búsquedas, y tu contenido de CLAUDE.md. Los resultados de las herramientas se eliminan de esas solicitudes, por lo que el contenido hostil de un archivo o una página web no puede manipular directamente al clasificador.605> En las solicitudes al clasificador que envía el propio Claude Code, el clasificador ve los mensajes del usuario, las llamadas a herramientas distintas de las consultas de solo lectura, como lecturas de archivos y búsquedas, y el contenido de tu CLAUDE.md. Los resultados de las herramientas se eliminan de esas solicitudes, de modo que el contenido hostil de un archivo o página web no puede manipular directamente al clasificador.

606>606>

607> Puedes anotar el resultado de una llamada con el [campo `classifierContext` de un hook PostToolUse](https://code.claude.com/docs/es/hooks#annotate-a-result-for-the-auto-mode-classifier), que el clasificador lee como contexto proporcionado por la aplicación. El campo requiere Claude Code v2.1.236 o posterior.607> Puedes anotar el resultado de una llamada con el [campo `classifierContext` de un hook PostToolUse](https://code.claude.com/docs/es/hooks#annotate-a-result-for-the-auto-mode-classifier), que el clasificador lee como contexto proporcionado por la aplicación. El campo requiere Claude Code v2.1.236 o posterior.

608>608>

609> Una sonda independiente del lado del servidor analiza los resultados de herramientas entrantes y marca el contenido sospechoso antes de que Claude lo lea. Para obtener más información sobre cómo funcionan juntas estas capas, consulta el [anuncio del modo automático](https://claude.com/blog/auto-mode) y el [análisis técnico en profundidad](https://www.anthropic.com/engineering/claude-code-auto-mode).609> Una sonda independiente del lado del servidor analiza los resultados entrantes de las herramientas y marca el contenido sospechoso antes de que Claude lo lea. Para obtener más información sobre cómo funcionan juntas estas capas, consulta el [anuncio del modo automático](https://claude.com/blog/auto-mode) y el [análisis técnico en profundidad](https://www.anthropic.com/engineering/claude-code-auto-mode).

610 610 

611> **Cómo el modo automático maneja los subagentes**611> **Cómo maneja el modo automático los subagentes**

612>612>

613> El clasificador verifica el trabajo de los [subagentes](https://code.claude.com/docs/es/sub-agents.md) en tres puntos:613> El clasificador revisa el trabajo de los [subagentes](https://code.claude.com/docs/es/sub-agents.md) en tres momentos:

614>614>

615> 1. Antes de que comience un subagente, se evalúa la descripción de la tarea delegada, por lo que una tarea de aspecto peligroso se bloquea en el momento de crear el subagente.615> 1. Antes de que se inicie un subagente, se evalúa la descripción de la tarea delegada, de modo que una tarea que parece peligrosa se bloquea al crearse.

616> 2. Mientras el subagente se ejecuta, cada una de sus acciones pasa por el mismo [orden de decisión](#how-the-classifier-evaluates-actions) que en la sesión principal, con las mismas reglas de bloqueo y de permitir. Cualquier `permissionMode` en el frontmatter del subagente se ignora.616> 2. Mientras se ejecuta el subagente, cada una de sus acciones pasa por el mismo [orden de decisión](#how-the-classifier-evaluates-actions) que en la sesión principal, con las mismas reglas de bloqueo y de permiso. Cualquier `permissionMode` en el frontmatter del subagente se ignora.

617> 3. Cuando el subagente termina, el clasificador revisa su trabajo y su informe final antes de que la sesión principal lea el informe. Cuando el clasificador marca el trabajo o el informe del subagente, o una verificación de seguridad independiente de la API rechaza la revisión, el informe se entrega de todos modos, precedido de una advertencia de seguridad. Cuando el clasificador no está disponible para la revisión, el informe llega con una nota para verificar el trabajo del subagente antes de actuar en función de él.617> 3. Cuando el subagente termina, el clasificador revisa su trabajo y su informe final antes de que la sesión principal lea el informe. Cuando el clasificador marca el trabajo o el informe del subagente, o una comprobación de seguridad independiente de la API rechaza la revisión, el informe se entrega igualmente, precedido de una advertencia de seguridad. Cuando el clasificador no está disponible para la revisión, el informe llega con una nota para verificar el trabajo del subagente antes de actuar en función de él.

618 618 

619> **Costo y latencia**619> **Costo y latencia**

620>620>

621> Las solicitudes al clasificador de Claude Code pueden ejecutarse en un modelo distinto de tu selección de `/model`. Consulta [en qué modelo se ejecutan](#default-classifier-model).621> Las solicitudes al clasificador de Claude Code pueden ejecutarse en un modelo distinto de tu selección de `/model`. Consulta [en qué modelo se ejecutan](#default-classifier-model).

622>622>

623> En los planes Enterprise y en cuentas que usan la API de Claude, [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry, las llamadas al clasificador cuentan para tu uso de tokens. Cada verificación envía una parte de la transcripción más la acción pendiente, lo que agrega un viaje de ida y vuelta antes de la ejecución. Las lecturas y las ediciones en el directorio de trabajo fuera de rutas protegidas omiten el clasificador, por lo que la sobrecarga proviene principalmente de los comandos de shell y las operaciones de red. Donde el servidor revisa las acciones como parte de las solicitudes al modelo de la sesión, no hay llamadas separadas al clasificador que contar; consulta [Revisión del clasificador del lado del servidor](#server-side-classifier-review).623> En los planes Enterprise y en las cuentas que usan la API de Claude, [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry, las llamadas al clasificador cuentan para tu uso de tokens. Cada comprobación envía una parte de la transcripción más la acción pendiente, lo que añade un viaje de ida y vuelta antes de la ejecución. Las lecturas y las ediciones en el directorio de trabajo fuera de las rutas protegidas omiten el clasificador, así que la sobrecarga proviene principalmente de los comandos de shell y las operaciones de red. Cuando el servidor revisa las acciones como parte de las solicitudes al modelo de la sesión, no hay llamadas independientes al clasificador que contar; consulta [Revisión del clasificador del lado del servidor](#server-side-classifier-review).

624>624>

625> El acceso a la red en sandbox no agrega solicitudes al clasificador por conexión. El clasificador juzga [los hosts que nombra un comando](https://code.claude.com/docs/es/sandboxing.md#per-command-allowed-domains-in-auto-mode) junto con el comando en una sola revisión, y Claude Code verifica cada conexión contra la lista aprobada sin volver a llamar al clasificador.625> El acceso a la red en el sandbox no añade solicitudes al clasificador por conexión. El clasificador juzga [los hosts que nombra un comando](https://code.claude.com/docs/es/sandboxing.md#per-command-allowed-domains-in-auto-mode) junto con el comando en una sola revisión, y Claude Code comprueba cada conexión con la lista aprobada sin volver a llamar al clasificador.

626 626 

627## Permitir solo herramientas preaprobadas con modo dontAsk627## Permitir solo herramientas preaprobadas con modo dontAsk

628 628 

Details

4 4 

5# Los marketplaces de Anthropic5# Los marketplaces de Anthropic

6 6 

7> Los marketplaces de plugins oficiales, comunitarios y de demostración de Anthropic para Claude Code: sus nombres, repositorios, cómo agregar cada uno y dónde explorar sus plugins.7> Los marketplaces de plugins oficial y comunitario de Anthropic para Claude Code: sus nombres, repositorios, cómo agregar cada uno y dónde explorar sus plugins.

8 8 

9Anthropic publica tres marketplaces de plugins de propósito general para Claude Code: [oficial](https://github.com/anthropics/claude-plugins-official), [comunitario](https://github.com/anthropics/claude-plugins-community) y [demostración](https://github.com/anthropics/claude-code). Cada uno es un catálogo de plugins en su propio repositorio de GitHub. Cuando instala un plugin de uno de ellos en una sesión de Claude Code, escribe el nombre del marketplace después de `@`, como en `/plugin install commit-commands@claude-plugins-official`.9Anthropic publica dos marketplaces de plugins de propósito general para Claude Code: [oficial](https://github.com/anthropics/claude-plugins-official) y [comunitario](https://github.com/anthropics/claude-plugins-community). Cada uno es un catálogo de plugins en su propio repositorio de GitHub. Cuando instalas un plugin de uno de ellos en una sesión de Claude Code, escribes el nombre del marketplace después de `@`, como en `/plugin install commit-commands@claude-plugins-official`.

10 10 

11Utilice esta página para distinguir los tres marketplaces y para encontrar dónde verificar si el oficial contiene un plugin determinado.11Utiliza esta página para distinguir los dos marketplaces y para encontrar dónde verificar si el oficial contiene un plugin determinado.

12 12 

13> [!NOTE]13> [!NOTE]

14>14>


19 19 

20Vaya a la parte de la página que necesita:20Vaya a la parte de la página que necesita:

21 21 

22* Para distinguir los tres marketplaces por repositorio, nombre del marketplace y cómo obtener cada uno, consulte [Los marketplaces de Anthropic](#anthropic%E2%80%99s-marketplaces).22* Para distinguir los dos marketplaces por repositorio, nombre del marketplace y cómo obtener cada uno, consulta [Los marketplaces de Anthropic](#anthropic’s-marketplaces).

23* Para encontrar un plugin en el marketplace oficial, consulte [Encontrar plugins en el marketplace oficial](#find-plugins-in-the-official-marketplace).23* Para encontrar un plugin en el marketplace oficial, consulte [Encontrar plugins en el marketplace oficial](#find-plugins-in-the-official-marketplace).

24 24 

25## Los marketplaces de Anthropic25## Los marketplaces de Anthropic

26 26 

27Un marketplace es un catálogo de plugins que un repositorio define en su archivo `.claude-plugin/marketplace.json`. Los marketplaces oficial, comunitario y de demostración provienen cada uno de su propio repositorio de GitHub. Anthropic también publica marketplaces específicos por tema, como `anthropics/skills` y `anthropics/knowledge-work-plugins`, que agrega en una sesión de Claude Code con `/plugin marketplace add <owner>/<repo>`.27Un marketplace es un catálogo de plugins que un repositorio define en su archivo `.claude-plugin/marketplace.json`. Los marketplaces oficial y comunitario provienen cada uno de su propio repositorio de GitHub. Anthropic también publica marketplaces específicos por tema, como `anthropics/skills` y `anthropics/knowledge-work-plugins`, que agregas en una sesión de Claude Code con `/plugin marketplace add <owner>/<repo>`.

28 28 

29Esta tabla proporciona el repositorio de cada marketplace y el nombre del marketplace, que es lo que escribe después de `@` cuando instala un plugin de ese marketplace. El nombre del marketplace comunitario es `claude-community`, no el nombre de su repositorio.29Esta tabla proporciona el repositorio de cada marketplace y el nombre del marketplace, que es lo que escribe después de `@` cuando instala un plugin de ese marketplace. El nombre del marketplace comunitario es `claude-community`, no el nombre de su repositorio.

30 30 

31| | Oficial | Comunitario | Demostración |31| | Oficial | Comunitario |

32| :- | :- | :- | :- |32| :- | :- | :- |

33| Repositorio | [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) | [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) | [`anthropics/claude-code`](https://github.com/anthropics/claude-code/tree/main/plugins) |33| Repositorio | [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) | [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) |

34| Nombre del marketplace | `claude-plugins-official` | `claude-community` | `claude-code-plugins` |34| Nombre del marketplace | `claude-plugins-official` | `claude-community` |

35| Qué contiene | Plugins que Anthropic mantiene, más plugins de partners y otros autores | Plugins de terceros que sus autores enviaron a Anthropic | Un pequeño conjunto de plugins de ejemplo que muestran qué puede contener un plugin |35| Qué contiene | Plugins que Anthropic mantiene, más plugins de partners y otros autores | Plugins de terceros que sus autores enviaron a Anthropic |

36| Cómo obtenerlo | Claude Code lo agrega la primera vez que inicia una sesión de terminal interactiva, a menos que una [política administrada](https://code.claude.com/docs/es/plugins/org.md#allow-the-official-marketplace-and-your-own) o `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` lo bloquee. Consulte [Marketplace `claude-plugins-official` no encontrado](https://code.claude.com/docs/es/plugins/troubleshooting#marketplace-claude-plugins-official-not-found) si falta | Lo agrega en una sesión de Claude Code con `/plugin marketplace add anthropics/claude-plugins-community` | Lo agrega en una sesión de Claude Code con `/plugin marketplace add anthropics/claude-code` |36| Cómo obtenerlo | Claude Code lo agrega la primera vez que inicias una sesión de terminal interactiva, a menos que una [política administrada](https://code.claude.com/docs/es/plugins/org.md#allow-the-official-marketplace-and-your-own) o `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` lo bloquee. Consulta [Marketplace `claude-plugins-official` no encontrado](https://code.claude.com/docs/es/plugins/troubleshooting#marketplace-claude-plugins-official-not-found) si falta | Lo agregas en una sesión de Claude Code con `/plugin marketplace add anthropics/claude-plugins-community` |

37 37 

38Si escribió un plugin y desea que otras personas lo instalen, consulte [Publicar un plugin](https://code.claude.com/docs/es/plugins/publish.md), que cubre su propio marketplace y el envío al directorio de Anthropic.38Si escribió un plugin y desea que otras personas lo instalen, consulte [Publicar un plugin](https://code.claude.com/docs/es/plugins/publish.md), que cubre su propio marketplace y el envío al directorio de Anthropic.

39 39 

40### El marketplace de demostración en `anthropics/claude-code`40### Marketplace `claude-code-plugins` obsoleto

41 41 

42Si un tutorial o un conjunto de instrucciones más antiguas le dice que ejecute `/plugin marketplace add anthropics/claude-code`, eso agrega el marketplace de demostración, llamado `claude-code-plugins`. No es el marketplace oficial.42> [!WARNING]

43>

44> El marketplace `claude-code-plugins` en `anthropics/claude-code` está obsoleto. Para agregar un plugin, ejecuta `claude plugin install <plugin>@claude-plugins-official` en tu shell y omite cualquier paso de un tutorial que ejecute `/plugin marketplace add anthropics/claude-code`.

45 

46A menos que tengas uno de los dos plugins que se indican a continuación, puedes dejar tus plugins de `claude-code-plugins` y el marketplace tal como están. Se actualizan desde el repositorio `claude-plugins-official`.

43 47 

44La mayoría de los plugins del marketplace de demostración también están en el marketplace oficial con los mismos nombres. Por ejemplo, `code-review`, `feature-dev` y `commit-commands` están en ambos. Instala esos desde `claude-plugins-official` para no tener dos copias instaladas.48* **`ralph-wiggum`**: este plugin ahora se llama `ralph-loop`, y sus comandos empiezan con `/ralph-loop:`. Si esos comandos no están disponibles, ejecuta `claude plugin install ralph-loop@claude-plugins-official` en tu shell.

49* **`claude-opus-4-5-migration`**: este plugin está retirado, así que elimínalo ejecutando `claude plugin uninstall claude-opus-4-5-migration@claude-code-plugins` en tu shell.

50 

51Si algún otro plugin dejó de funcionar, consulta [Plugin instalado pero no funciona](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugin-installed-but-not-working).

45 52 

46## Encontrar plugins en el marketplace oficial53## Encontrar plugins en el marketplace oficial

47 54 


62 69 

63Para instalar desde la aplicación de escritorio o desde un script, o para ver qué carga una sesión en la nube, consulte [Instalar plugins](https://code.claude.com/docs/es/plugins/install.md).70Para instalar desde la aplicación de escritorio o desde un script, o para ver qué carga una sesión en la nube, consulte [Instalar plugins](https://code.claude.com/docs/es/plugins/install.md).

64 71 

65### Agregar el marketplace comunitario o de demostración72### Agregar el marketplace comunitario

66 

67Los marketplaces comunitario y de demostración no se registran hasta que los agrega en una sesión de Claude Code:

68 73 

69* **Comunitario**: ejecute `/plugin marketplace add anthropics/claude-plugins-community`, luego instale con el sufijo `@claude-community`.74El marketplace comunitario no se registra hasta que lo agregas. En una sesión de Claude Code, ejecuta `/plugin marketplace add anthropics/claude-plugins-community` y luego instala con el sufijo `@claude-community`.

70* **Demostración**: ejecute `/plugin marketplace add anthropics/claude-code`, luego instale con el sufijo `@claude-code-plugins`.

71 75 

72Si `claude-plugins-official` no está en la pestaña **Marketplaces** de `/plugin`, agréguelo de la misma manera con `/plugin marketplace add anthropics/claude-plugins-official`.76Si `claude-plugins-official` no está en la pestaña **Marketplaces** de `/plugin`, agréguelo de la misma manera con `/plugin marketplace add anthropics/claude-plugins-official`.

73 77 

Details

638| Código de salida | Línea de veredicto | Significado |638| Código de salida | Línea de veredicto | Significado |

639| :- | :- | :- |639| :- | :- | :- |

640| `0` | `Validation passed` o `Validation passed with warnings` | El manifiesto carga. Con `--strict`, sin advertencias tampoco |640| `0` | `Validation passed` o `Validation passed with warnings` | El manifiesto carga. Con `--strict`, sin advertencias tampoco |

641| `1` | `Validation failed` o `Validation failed (--strict treats warnings as errors)` | Un error, o una advertencia bajo `--strict` |641| `1` | `Validation failed` o `Validation failed (--strict treats warnings as errors)` | Un error, o una advertencia bajo `--strict`. Los [consejos](#advice-on-the-readme) no cuentan, con o sin `--strict` |

642| `2` | `Unexpected error during validation: <reason>` | El validador en sí falló, como en una ruta ilegible |642| `2` | `Unexpected error during validation: <reason>` | El validador en sí falló, como en una ruta ilegible |

643 643 

644Con `--json`, Claude Code escribe el informe a stdout como un objeto JSON con estos campos de nivel superior:644Con `--json`, Claude Code escribe el informe a stdout como un objeto JSON con estos campos de nivel superior:


647* `strict`: si la ejecución trató advertencias como errores647* `strict`: si la ejecución trató advertencias como errores

648* `target`: la ruta resuelta que Claude Code validó648* `target`: la ruta resuelta que Claude Code validó

649* `manifest`: el resultado del propio manifiesto, o `null` para una ejecución sin manifiesto649* `manifest`: el resultado del propio manifiesto, o `null` para una ejecución sin manifiesto

650* `contents`: resultados por archivo, cada uno nombrando su `file` y llevando arrays `errors`, `warnings` y `notes`650* `contents`: resultados por archivo, cada uno nombrando su `file` y llevando arrays `errors`, `warnings` y `notes`. Los archivos sin ningún error, advertencia o nota no reciben entrada, por lo que `contents` está vacío cuando no hay nada que reportar. Para un [directorio con `marketplace.json` y `plugin.json`](#validate-a-directory), `manifest` es el resultado de `marketplace.json` y los resultados de `plugin.json` van en `contents`

651 * `gatingHooks`: si cada hook de [mod](https://code.claude.com/docs/es/plugins/mods/overview.md) que puede rechazar una acción, como un hook `tool.call`, tiene un [manejador `.catch`](https://code.claude.com/docs/es/plugins/mods/events#handle-a-hook-that-fails). Cada elemento da `module`, `pattern`, `hook` y `hasCatch`. Requiere Claude Code v2.1.290 o posterior651 * `gatingHooks`: si cada hook de [mod](https://code.claude.com/docs/es/plugins/mods/overview.md) que puede rechazar una acción, como un hook `tool.call`, tiene un [manejador `.catch`](https://code.claude.com/docs/es/plugins/mods/events#handle-a-hook-that-fails). Cada elemento da `module`, `pattern`, `hook` y `hasCatch`. Requiere Claude Code v2.1.290 o posterior

652* `advice`: los [consejos](#advice-on-the-readme) de la ejecución, cada entrada nombrando el README como `file` y llevando un `message` y la `installLine` para pegar. Vacío cuando no hay ninguno. Requiere Claude Code v2.1.295 o posterior

652 653 

653En salida `2`, el comando no escribe nada a stdout. El mensaje de error va a stderr.654En salida `2`, el comando no escribe nada a stdout. El mensaje de error va a stderr.

654 655 

656#### Consejos sobre el README

657 

658Un bloque `Advice` en la salida de `claude plugin validate` significa que el README de un plugin no tiene ninguna línea que instale el plugin desde un marketplace, y te da una línea para añadir. Un consejo no es un error ni una advertencia. No cambia la línea de veredicto ni el código de salida, con o sin `--strict`. Requiere Claude Code v2.1.295 o posterior.

659 

660Por ejemplo, validar el directorio del marketplace `acme-tools` imprime este consejo para su plugin `deploy-helper`:

661 

662```text theme={null}

663Validating marketplace manifest: /path/to/acme-tools/.claude-plugin/marketplace.json

664 

665ℹ Advice (does not change the verdict):

666 

667 ❯ /path/to/acme-tools/plugins/deploy-helper/README.md: This README has no line that installs "deploy-helper" from a marketplace. Add the install line, which works in one step on Claude Code 2.1.275 or later.

668 /plugin install deploy-helper --marketplace acme/tools

669 

670✔ Validation passed

671```

672 

673Para eliminar el consejo, pega la línea sugerida en el README que nombra y luego vuelve a ejecutar `claude plugin validate` en tu shell. El bloque `Advice` desaparece.

674 

675Si la línea sugerida contiene el marcador de posición `<owner>/<repo>`, pegarla sin cambios no elimina el consejo. Obtén primero el origen real:

676 

677* **Validaste el propio directorio del plugin**: cuando el marketplace lista el plugin desde un directorio dentro del suyo, valida ese directorio en su lugar. Cuando lo lista desde otro lugar, como un repositorio de GitHub, completa `<owner>/<repo>` tú mismo

678* **Validaste el directorio del marketplace**: Claude Code completa el origen a partir del remoto `origin` del directorio `.git` en la parte superior de ese directorio. Cuando no puede usar ese remoto, como cuando no existe ninguno, reemplaza `<owner>/<repo>` con el origen de tu marketplace tú mismo

679 

680Una línea de instalación que ya escribiste cuenta cuando `plugin install`, o su forma corta `plugin i`, va seguido en la misma línea por cualquiera de estos. Las formas `/plugin` y `claude plugin` cuentan ambas:

681 

682* `<plugin>@<marketplace>`, como `/plugin install deploy-helper@acme-tools`

683* El nombre del plugin y `--marketplace <source>`, como `/plugin install deploy-helper --marketplace acme/tools`

684 

655## Comandos claude plugin marketplace685## Comandos claude plugin marketplace

656 686 

657Ejecuta `claude plugin marketplace <subcommand>` desde tu shell para añadir, listar, actualizar y eliminar los marketplaces desde los que instalas plugins.687Ejecuta `claude plugin marketplace <subcommand>` desde tu shell para añadir, listar, actualizar y eliminar los marketplaces desde los que instalas plugins.

Details

376* [Estructura de plugin y pruebas](https://claude.com/docs/plugins/build): la misma carpeta de plugin se instala en claude.ai y en Cowork. Algunos componentes son solo de Claude Code, y la [tabla de compatibilidad de componentes](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) enumera cuáles se cargan en cada superficie376* [Estructura de plugin y pruebas](https://claude.com/docs/plugins/build): la misma carpeta de plugin se instala en claude.ai y en Cowork. Algunos componentes son solo de Claude Code, y la [tabla de compatibilidad de componentes](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) enumera cuáles se cargan en cada superficie

377* [Referencia del manifiesto del plugin](https://code.claude.com/docs/es/plugins/manifest-reference.md): cada campo `plugin.json`, regla de ruta y directorio377* [Referencia del manifiesto del plugin](https://code.claude.com/docs/es/plugins/manifest-reference.md): cada campo `plugin.json`, regla de ruta y directorio

378* [Skills](https://code.claude.com/docs/es/skills.md): escriba los skills que proporciona su plugin378* [Skills](https://code.claude.com/docs/es/skills.md): escriba los skills que proporciona su plugin

379* [Plugins de Anthropic en el repositorio claude-code](https://github.com/anthropics/claude-code/tree/main/plugins): ejemplos completos trabajados del diseño en esta página, como `feature-dev` y `code-review`379* [Plugins de Anthropic en el repositorio claude-plugins-official](https://github.com/anthropics/claude-plugins-official/tree/main/plugins): ejemplos completos trabajados de la estructura de esta página, como `feature-dev` y `code-review`

Details

220 220 

221## Alojar su marketplace221## Alojar su marketplace

222 222 

223Una vez que pueda instalar un plugin desde el marketplace en su propia máquina, como en [Crear un marketplace](#create-a-marketplace), envíe el directorio del marketplace a un host de git.223Una vez que puedas instalar un plugin desde el marketplace en tu propia máquina, como en [Crear un marketplace](#create-a-marketplace), envía el directorio del marketplace a un host de git. Antes de enviarlo, asígnale al marketplace un `name` de nivel superior que sea poco probable que otros autores elijan, porque un usuario [no puede tener dos marketplaces con el mismo nombre](https://code.claude.com/docs/es/plugins/marketplace-reference.md#marketplace-file).

224 224 

225Sus compañeros de equipo ejecutan `claude plugin marketplace add <owner>/<repo>` en su shell para un repositorio de GitHub, o el mismo comando con la URL del repositorio. Luego instalan un plugin por nombre como en [el tutorial](#create-a-marketplace).225Sus compañeros de equipo ejecutan `claude plugin marketplace add <owner>/<repo>` en su shell para un repositorio de GitHub, o el mismo comando con la URL del repositorio. Luego instalan un plugin por nombre como en [el tutorial](#create-a-marketplace).

226 226 

Details

193 193 

194| Fuente | Lo que escribe | Ejemplo |194| Fuente | Lo que escribe | Ejemplo |

195| :- | :- | :- |195| :- | :- | :- |

196| Repositorio de GitHub | `owner/repo`. Agregue `#ref` para fijar una rama o etiqueta. | `/plugin marketplace add anthropics/claude-code`, o `/plugin marketplace add your-org/plugins#v1.2.0` para fijar la etiqueta `v1.2.0` |196| Repositorio de GitHub | `owner/repo`. Agrega `#ref` para fijar una rama o etiqueta. | `/plugin marketplace add anthropics/claude-plugins-official`, o `/plugin marketplace add your-org/plugins#v1.2.0` para fijar la etiqueta `v1.2.0` |

197| Repositorio Git en cualquier host | La URL de clonación completa. Agregue `#ref` para fijar una rama o etiqueta. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |197| Repositorio Git en cualquier host | La URL de clonación completa. Agregue `#ref` para fijar una rama o etiqueta. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |

198| Directorio o archivo local | Una ruta relativa o absoluta a un directorio que contiene `.claude-plugin/marketplace.json`, o al archivo JSON en sí. Comience una ruta relativa con `./` o `../`, porque Claude Code lee un `name/name` desnudo como un repositorio de GitHub. | `/plugin marketplace add ./my-marketplace` |198| Directorio o archivo local | Una ruta relativa o absoluta a un directorio que contiene `.claude-plugin/marketplace.json`, o al archivo JSON en sí. Comience una ruta relativa con `./` o `../`, porque Claude Code lee un `name/name` desnudo como un repositorio de GitHub. | `/plugin marketplace add ./my-marketplace` |

199| `marketplace.json` alojado | Su URL `https://` | `/plugin marketplace add https://example.com/marketplace.json` |199| `marketplace.json` alojado | Su URL `https://` | `/plugin marketplace add https://example.com/marketplace.json` |


383 383 

384## Próximos pasos384## Próximos pasos

385 385 

386* [Marketplaces de Anthropic](https://code.claude.com/docs/es/plugins/anthropic-marketplaces.md): cómo difieren los marketplaces oficiales, comunitarios y de demostración, y dónde explorar cada uno386* [Marketplaces de Anthropic](https://code.claude.com/docs/es/plugins/anthropic-marketplaces.md): cómo difieren los marketplaces oficiales y comunitarios, y dónde explorar cada uno

387* [Referencia de carga de plugins](https://code.claude.com/docs/es/plugins/loading.md): por qué un plugin se cargó, no se cargó, o no cambió después de una actualización387* [Referencia de carga de plugins](https://code.claude.com/docs/es/plugins/loading.md): por qué un plugin se cargó, no se cargó, o no cambió después de una actualización

388* [Seguridad y confianza de plugins](https://code.claude.com/docs/es/plugins/security.md): qué revisar antes de instalar un plugin de un marketplace que no conoce388* [Seguridad y confianza de plugins](https://code.claude.com/docs/es/plugins/security.md): qué revisar antes de instalar un plugin de un marketplace que no conoce

389* [Solucionar problemas de plugins](https://code.claude.com/docs/es/plugins/troubleshooting.md): mensajes de error de instalación y marketplace con sus soluciones389* [Solucionar problemas de plugins](https://code.claude.com/docs/es/plugins/troubleshooting.md): mensajes de error de instalación y marketplace con sus soluciones

Details

366 366 

367El valor devuelto para la clave nombrada no se ajustaba al esquema de esa clave, por ejemplo por tipo o por rango.367El valor devuelto para la clave nombrada no se ajustaba al esquema de esa clave, por ejemplo por tipo o por rango.

368 368 

369* **Tu valor no se ajusta al esquema de la clave**: devuelve uno que permita la entrada de la clave en la [referencia de configuración](https://code.claude.com/docs/es/settings-reference.md).369* **Tu valor no se ajusta al esquema de la clave**: devuelve un valor permitido por la entrada de la clave en la [referencia de configuración](https://code.claude.com/docs/es/settings-reference.md).

370* **Tu valor se ajusta**: el valor que no se ajusta provino del hook `settings.read` de otro mod. Para encontrar ese mod, sigue [los pasos para desactivar los mods uno a uno](#settings-read-refused). Busca esta línea en cada nuevo registro en lugar de `refused to the engine`.370* **Tu valor se ajusta**: el valor que no se ajusta provino del hook `settings.read` de otro mod. Para encontrar ese mod, sigue [los pasos para desactivar los mods uno a uno](#settings-read-refused). Busca esta línea en cada nuevo registro en lugar de `refused to the engine`.

371 371 

372Mientras el valor no se ajuste, la clave conserva el valor combinado a partir de las fuentes de configuración antes de que respondiera cualquier hook. La línea lo llama el valor propio de la configuración.372Mientras el valor no se ajuste, la clave conserva el valor combinado a partir de las fuentes de configuración antes de que respondiera cualquier hook. La línea lo llama el valor propio de la configuración.

Details

66>66>

67> Un marketplace de plugins no es [Claude Marketplace](https://claude.com/marketplace). Claude Marketplace es el sitio web en claude.com/marketplace donde usted explora plugins, conectores, productos de socios y socios de servicios. No es un marketplace que usted agregue con `/plugin marketplace add`.67> Un marketplace de plugins no es [Claude Marketplace](https://claude.com/marketplace). Claude Marketplace es el sitio web en claude.com/marketplace donde usted explora plugins, conectores, productos de socios y socios de servicios. No es un marketplace que usted agregue con `/plugin marketplace add`.

68 68 

69Claude Code agrega el marketplace oficial de Anthropic la primera vez que usted inicia una sesión de terminal interactiva, a menos que una [política administrada](https://code.claude.com/docs/es/plugins/org.md#allow-the-official-marketplace-and-your-own) lo bloquee. Claude Code no agrega los marketplaces comunitarios y de demostración de Anthropic por su cuenta. Para distinguir los tres marketplaces de Anthropic, lea [Marketplaces de Anthropic](https://code.claude.com/docs/es/plugins/anthropic-marketplaces.md). Para ver lo que enumera el oficial, abra la pestaña **Discover** de `/plugin` en una sesión o explore [Claude Marketplace](https://claude.com/marketplace/plugins).69Claude Code agrega el marketplace oficial de Anthropic la primera vez que inicias una sesión de terminal interactiva, a menos que una [política administrada](https://code.claude.com/docs/es/plugins/org.md#allow-the-official-marketplace-and-your-own) lo bloquee. Claude Code no agrega el marketplace comunitario de Anthropic por su cuenta. Para distinguir los marketplaces de Anthropic, lee [Marketplaces de Anthropic](https://code.claude.com/docs/es/plugins/anthropic-marketplaces.md). Para ver lo que enumera el oficial, abre la pestaña **Discover** de `/plugin` en una sesión o explora [Claude Marketplace](https://claude.com/marketplace/plugins).

70 70 

71Este diagrama muestra la ruta desde un marketplace hasta su sesión. Un marketplace enumera un plugin, usted instala ese plugin, y Claude Code carga sus componentes.71Este diagrama muestra la ruta desde un marketplace hasta su sesión. Un marketplace enumera un plugin, usted instala ese plugin, y Claude Code carga sus componentes.

72 72 


88 88 

89El nombre de un marketplace lo coloca en uno de tres niveles. Claude Code acepta los nombres oficiales y comunitarios solo para marketplaces originarios de repositorios `github.com/anthropics/`:89El nombre de un marketplace lo coloca en uno de tres niveles. Claude Code acepta los nombres oficiales y comunitarios solo para marketplaces originarios de repositorios `github.com/anthropics/`:

90 90 

91* **Oficial**: marketplaces con uno de los [nombres de marketplace oficial](https://code.claude.com/docs/es/plugins/security.md#official-marketplace-names) de Anthropic, incluidos `claude-plugins-official` y el marketplace de demostración `claude-code-plugins`.91* **Oficial**: marketplaces con uno de los [nombres de marketplace oficial](https://code.claude.com/docs/es/plugins/security.md#official-marketplace-names) de Anthropic, incluidos `claude-plugins-official` y `claude-code-plugins`.

92* **Comunitario**: marketplaces con uno de los nombres comunitarios de Anthropic, como `claude-community`. [Identificar los marketplaces de Anthropic por nombre](https://code.claude.com/docs/es/plugins/security.md#marketplace-tiers) los enumera.92* **Comunitario**: marketplaces con uno de los nombres comunitarios de Anthropic, como `claude-community`. [Identificar los marketplaces de Anthropic por nombre](https://code.claude.com/docs/es/plugins/security.md#marketplace-tiers) los enumera.

93* **Terceros**: todos los demás marketplaces. Un marketplace que publica su compañero de trabajo u organización es de terceros.93* **Terceros**: todos los demás marketplaces. Un marketplace que publica su compañero de trabajo u organización es de terceros.

94 94 

Details

96}96}

97```97```

98 98 

99En tu shell, ejecuta `claude plugin validate .` en el repositorio antes de hacer push. Para saber qué verifica la ejecución, consulta [Validar un directorio](https://code.claude.com/docs/es/plugins/cli-reference.md#validate-a-directory).99Reemplaza `your-marketplace` con un nombre que sea poco probable que otros autores elijan, porque un usuario [no puede tener dos marketplaces con el mismo nombre](https://code.claude.com/docs/es/plugins/marketplace-reference.md#marketplace-file). En tu shell, ejecuta `claude plugin validate .` en el repositorio antes de hacer push. Para saber qué verifica la ejecución, consulta [Validar un directorio](https://code.claude.com/docs/es/plugins/cli-reference.md#validate-a-directory).

100 100 

101[Crear un marketplace](https://code.claude.com/docs/es/plugins/create-marketplace.md) cubre el diseño con varios plugins en un repositorio.101[Crear un marketplace](https://code.claude.com/docs/es/plugins/create-marketplace.md) cubre el diseño con varios plugins en un repositorio.

102 102 

Details

76* `first-party-plugins`76* `first-party-plugins`

77* `claude-tag-plugins`77* `claude-tag-plugins`

78 78 

79Para saber cómo difieren los marketplaces oficial, comunidad y demo y dónde explorar lo que enumera cada uno, consulta [Anthropic's marketplaces](https://code.claude.com/docs/es/plugins/anthropic-marketplaces.md).79Para saber cómo difieren los marketplaces oficial y comunidad y dónde explorar lo que enumera cada uno, consulta [Marketplaces de Anthropic](https://code.claude.com/docs/es/plugins/anthropic-marketplaces.md).

80 80 

81## Revisar un plugin antes de instalarlo81## Revisar un plugin antes de instalarlo

82 82 

Details

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: 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.

20 20 

21Apunta `--exec-path`, o `SELF_HOSTED_RUNNER_EXEC_PATH`, al contenedor cuando inicies el ejecutor: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):

22 22 

23```bash theme={null}23```bash theme={null}

24claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret --exec-path /etc/claude/session-wrapper.sh24claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret --base-dir '<writable-dir>' --exec-path /etc/claude/session-wrapper.sh

25```25```

26 26 

27El ejecutor establece lo siguiente en el entorno del contenedor:27El ejecutor establece lo siguiente en el entorno del contenedor:


457 457 

458Para confirmar que el trap funciona, agrega justo debajo de la línea `trap` una línea que llame a un comando que no existe, como `no-such-command`. Ejecuta el archivo del hook desde tu shell y comprueba que `echo $?` imprima `1`; luego elimina la línea.458Para confirmar que el trap funciona, agrega justo debajo de la línea `trap` una línea que llame a un comando que no existe, como `no-such-command`. Ejecuta el archivo del hook desde tu shell y comprueba que `echo $?` imprima `1`; luego elimina la línea.

459 459 

460### Detén o reinicia el orquestador

461 

462Para detener o reiniciar el orquestador sin interrumpir los hooks `spawn-runner` en ejecución, inícialo con [`--shutdown-drain-sec`](https://code.claude.com/docs/es/self-hosted-environments-reference#orchestrator-cli-flags). Así, ante `SIGTERM`, da a los hooks en ejecución hasta la cantidad de segundos que establezcas para terminar. Para elegir el valor y configurar tu supervisor de procesos en consecuencia, consulta [Dimensiona `--shutdown-drain-sec` y el tiempo de espera de detención del orquestador](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).

463 

464Este comando de inicio permite 70 segundos:

465 

466```bash theme={null}

467claude self-hosted-runner orchestrator \

468 --environment-secret-file /etc/claude/environment-secret \

469 --hooks-dir /etc/claude/hooks \

470 --shutdown-drain-sec 70

471```

472 

473El orquestador sale una vez que han terminado el sondeo ya enviado y todos los hooks. Cuando se cumplen los segundos de `--shutdown-drain-sec`, los hooks que siguen en ejecución reciben `SIGTERM` y el orquestador sale. Un segundo `SIGTERM` o cualquier `SIGINT` hace lo mismo sin esperar. La línea de registro que contiene `[runner:orchestrator] stop summary:` cuenta los hooks y las solicitudes de generación según cómo terminó cada uno.

474 

475Sin `--shutdown-drain-sec`, el orquestador se detiene de inmediato ante `SIGTERM` o `SIGINT`. Cada hook en ejecución recibe `SIGTERM`, y no se le informa nada a Anthropic. Una sesión cuyo ejecutor nunca llegó a iniciarse puede entonces quedarse en la cola hasta que Anthropic [vuelva a solicitarla](#the-spawn-runner-hook), lo que ocurre una vez que ha pasado `--expected-spawn-seconds`, 120 segundos por defecto.

476 

477> [!NOTE]

478>

479> `--shutdown-drain-sec` requiere Claude Code v2.1.299 o posterior. Una versión anterior sale al iniciar con `error: unknown flag --shutdown-drain-sec`.

480 

481#### Dimensiona `--shutdown-drain-sec` y el tiempo de espera de detención del orquestador

482 

483Con la configuración predeterminada, usa [`--shutdown-drain-sec 70`](https://code.claude.com/docs/es/self-hosted-environments-reference#orchestrator-cli-flags) con un tiempo de espera de detención de 85 segundos, es decir, `terminationGracePeriodSeconds: 85` en Kubernetes o `TimeoutStopSec=85` bajo systemd. Si cambiaste `--hook-timeout`, ajusta ambos en proporción:

484 

485* **`--shutdown-drain-sec`**: al menos `--hook-timeout` más 10 segundos, para que un hook que se inició justo antes de `SIGTERM` todavía pueda terminar

486* **Tiempo de espera de detención**: al menos `--shutdown-drain-sec` más 15 segundos. El orquestador registra esta cifra al iniciar: busca la línea que contiene `shutdown drain:`.

487 

488Haz que tu supervisor de procesos envíe un solo `SIGTERM`, únicamente al proceso del orquestador, porque un segundo acorta la espera de `--shutdown-drain-sec`. Si dejas el valor predeterminado de systemd [`KillMode=control-group`](https://code.claude.com/docs/es/self-hosted-environments-deploy#what-reaches-a-running-post-session-hook), los hooks también reciben `SIGTERM`, y un hook puede morir antes de enviar su carga de trabajo. Antes de cambiar `KillMode`, comprueba cómo inicia los ejecutores tu hook `spawn-runner`:

489 

490* **Si tu hook envía su carga de trabajo a una plataforma y sale**: ejecuta el orquestador como el proceso principal de la unidad y establece `KillMode=mixed`, que envía `SIGTERM` solo a ese proceso.

491* **Si tu hook inicia ejecutores como procesos en la propia unidad del orquestador**: `KillMode=mixed` no envía `SIGTERM` a esos ejecutores. En su lugar, systemd les envía `SIGKILL` más tarde, por lo que salen sin drenar sus sesiones ni ejecutar su hook `post-session`.

492 

460## Enviar solicitudes de modelo a Bedrock o Agent Platform493## Enviar solicitudes de modelo a Bedrock o Agent Platform

461 494 

462Si tu organización necesita que las solicitudes de modelo pasen por su propia cuenta de AWS o Google Cloud, configura el runner para [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md) o [Agent Platform de Google Cloud, antes Vertex AI](https://code.claude.com/docs/es/google-vertex-ai.md). Cada sesión que inicie ese runner llamará entonces al modelo en tu cuenta de nube, con tus credenciales de nube. Sin esta configuración, las sesiones envían las solicitudes de modelo a la API de Anthropic.495Si tu organización necesita que las solicitudes de modelo pasen por su propia cuenta de AWS o Google Cloud, configura el runner para [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md) o [Agent Platform de Google Cloud, antes Vertex AI](https://code.claude.com/docs/es/google-vertex-ai.md). Cada sesión que inicie ese runner llamará entonces al modelo en tu cuenta de nube, con tus credenciales de nube. Sin esta configuración, las sesiones envían las solicitudes de modelo a la API de Anthropic.

Details

583 583 

584## Tiempo de apagado584## Tiempo de apagado

585 585 

586Después de `SIGTERM`, un runner necesita tiempo para cerrar sus sesiones limpiamente antes de que tu orquestador lo mate. Registra cuánto tiempo necesita al inicio, en una línea que contiene `This runner needs up to 80s` con la configuración predeterminada. Establece el tiempo de parada de tu orquestador en al menos esa cantidad de segundos: `terminationGracePeriodSeconds` en Kubernetes, `stop_grace_period` en Docker Compose, o el equivalente de tu plataforma. Kubernetes usa 30 segundos por defecto, así que sin este ajuste puede detener el pod antes de que el runner termine.586> [!NOTE]

587>

588> Estos tiempos se aplican a los runners. El proceso `claude self-hosted-runner orchestrator` tiene los suyos: consulta [Dimensionar `--shutdown-drain-sec` y el tiempo de parada del orquestador](https://code.claude.com/docs/es/self-hosted-environments-configuration#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).

589 

590Al inicio, cada runner registra cuánto tiempo puede necesitar después de `SIGTERM` para cerrar sus sesiones limpiamente, como `This runner needs up to 80s` con la configuración predeterminada. Tu tiempo de parada es cuánto espera tu supervisor de procesos después de `SIGTERM` antes de matar al runner. Establécelo en al menos el tiempo registrado:

591 

592* **Kubernetes**: `terminationGracePeriodSeconds`. Kubernetes usa 30 segundos por defecto, así que sin este ajuste puede detener el pod antes de que el runner termine.

593* **Docker Compose**: `stop_grace_period`

587 594 

588En `SIGTERM`, el runner deja de aceptar sesiones nuevas. Luego comienza un apagado ordenado, llamado drenaje, a menos que establezcas [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal) para retrasarlo. El drenaje tiene tres pasos:595En `SIGTERM`, el runner deja de aceptar sesiones nuevas. Luego comienza un apagado ordenado, llamado drenaje, a menos que establezcas [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal) para retrasarlo. El drenaje tiene tres pasos:

589 596 


744 751 

745**2. Inicia el runner**752**2. Inicia el runner**

746 753 

747Desde tu shell, inicia el runner con `--hold-idle-file`, `--release-idle-session-min` y [`--max-hold-min`](https://code.claude.com/docs/es/self-hosted-environments-reference#runner-cli-flags), el límite de una retención, contado desde que una sesión queda inactiva. Sin este último, el límite es de un día. Establécelo por encima de `--release-idle-session-min`, o no se retendrá nada. Este ejemplo libera las sesiones inactivas después de 30 minutos y libera una sesión retenida como máximo 4 horas después de que quedó inactiva:754Desde tu shell, inicia el runner con `--hold-idle-file`, `--release-idle-session-min` y [`--max-hold-min`](https://code.claude.com/docs/es/self-hosted-environments-reference#runner-cli-flags), el límite de una retención, contado desde que una sesión queda inactiva. Sin este último, el límite es de un día. Establécelo por encima de `--release-idle-session-min`, o no se retendrá nada. 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). Este ejemplo libera las sesiones inactivas después de 30 minutos y libera una sesión retenida como máximo 4 horas después de que quedó inactiva:

748 755 

749```bash theme={null}756```bash theme={null}

750claude self-hosted-runner \757claude self-hosted-runner \

751 --environment-secret-file /etc/claude/environment-secret \758 --environment-secret-file /etc/claude/environment-secret \

759 --base-dir '<writable-dir>' \

752 --release-idle-session-min 30 \760 --release-idle-session-min 30 \

753 --hold-idle-file /var/lib/claude-hold/hold-idle \761 --hold-idle-file /var/lib/claude-hold/hold-idle \

754 --max-hold-min 240762 --max-hold-min 240


816 * **Los cambios sin commit se siguen perdiendo**: para pedirle a Claude que haga commit y push cuando termine de responder, consulta [Pedir a las sesiones que hagan push de su trabajo](https://code.claude.com/docs/es/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)824 * **Los cambios sin commit se siguen perdiendo**: para pedirle a Claude que haga commit y push cuando termine de responder, consulta [Pedir a las sesiones que hagan push de su trabajo](https://code.claude.com/docs/es/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)

817* **Un comando interrumpido por la pérdida de un runner puede volver a ejecutarse**: cuando la sesión se reanuda en otro runner, Claude ve la llamada a herramienta interrumpida con un resultado que indica que su desenlace es desconocido.825* **Un comando interrumpido por la pérdida de un runner puede volver a ejecutarse**: cuando la sesión se reanuda en otro runner, Claude ve la llamada a herramienta interrumpida con un resultado que indica que su desenlace es desconocido.

818* **Un repositorio agregado a mitad de sesión puede fallar al clonarse**: Claude lo clona con `git clone` a través de HTTPS. En un runner sin [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), la clonación falla con un error de autenticación de git si nada en el host puede leer el repositorio. Siempre que puedas, selecciona todos los repositorios que la sesión necesita al crearla.826* **Un repositorio agregado a mitad de sesión puede fallar al clonarse**: Claude lo clona con `git clone` a través de HTTPS. En un runner sin [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), la clonación falla con un error de autenticación de git si nada en el host puede leer el repositorio. Siempre que puedas, selecciona todos los repositorios que la sesión necesita al crearla.

827 * **Cuando la sesión se reanuda**: un [hook `checkout`](https://code.claude.com/docs/es/self-hosted-environments-configuration#checkout) también se ejecuta para el repositorio agregado, con [`CLAUDE_RUNNER_REPO_REF`](https://code.claude.com/docs/es/self-hosted-environments-configuration#checkout) vacío, así que asegúrate de que tu hook maneje ese caso.

819* **Algunos conectores no aparecen en sesiones autohospedadas**: un conector que aún no ha conectado en la configuración de claude.ai no se enumera en una sesión autohospedada, y la sesión no le pedirá que lo conecte. Conéctelo en Configuración primero, luego inicie una sesión nueva. Agregar un conector a una sesión ya en ejecución tampoco hace que sus herramientas estén disponibles para Claude; inicie una sesión nueva para recoger un conector recién agregado.828* **Algunos conectores no aparecen en sesiones autohospedadas**: un conector que aún no ha conectado en la configuración de claude.ai no se enumera en una sesión autohospedada, y la sesión no le pedirá que lo conecte. Conéctelo en Configuración primero, luego inicie una sesión nueva. Agregar un conector a una sesión ya en ejecución tampoco hace que sus herramientas estén disponibles para Claude; inicie una sesión nueva para recoger un conector recién agregado.

820* **Cuando alguien archiva o elimina una sesión, o libera su runner desde el menú de la sesión**: no cuentes con el push de [`--push-outcome-on-release`](https://code.claude.com/docs/es/self-hosted-environments-reference#runner-cli-flags). Para guardar los commits en esos casos, haz push de `HEAD` a una rama de rescate desde un [hook `post-session`](https://code.claude.com/docs/es/self-hosted-environments-configuration#post-session). Si partes del ejemplo de esa sección, haz que haga push incluso cuando no haya nada sin commit, porque solo hace push después de un commit de instantánea.829* **Cuando alguien archiva o elimina una sesión, o libera su runner desde el menú de la sesión**: no cuentes con el push de [`--push-outcome-on-release`](https://code.claude.com/docs/es/self-hosted-environments-reference#runner-cli-flags). Para guardar los commits en esos casos, haz push de `HEAD` a una rama de rescate desde un [hook `post-session`](https://code.claude.com/docs/es/self-hosted-environments-configuration#post-session). Si partes del ejemplo de esa sección, haz que haga push incluso cuando no haya nada sin commit, porque solo hace push después de un commit de instantánea.

821 830 


833 842 

834Problemas comunes:843Problemas comunes:

835 844 

836* **El runner no aparece en el entorno**: confirme que el host pueda alcanzar `api.anthropic.com` sobre HTTPS, que el secreto del entorno sea actual y que el reloj del host esté dentro de cinco minutos de la hora real; un sesgo mayor causa que la autenticación falle. El runner registra `[runner:fatal]` con el motivo del rechazo en caso de fallo de autenticación.845* **El runner no aparece en el entorno**: confirma que el host pueda alcanzar `api.anthropic.com` sobre HTTPS y que el secreto del entorno sea actual. El runner registra `[runner:fatal]` con el motivo del rechazo en caso de fallo de autenticación.

837* **El runner se cierra al inicio con `cannot create or write to base directory`**: el runner no puede crear ni escribir en `--base-dir`, que por defecto es `/workspace`. Corrija la propiedad del directorio o apunte `--base-dir` a una ruta escribible, como se describe en [Mantener el directorio base y la capacidad idénticos en todos los runners](#keep-the-base-directory-and-capacity-identical-across-runners). Si el runner registra `[runner:fatal]` diciendo que la verificación del directorio base agotó el tiempo de espera, el directorio está en un montaje NFS o CSI colgado. Verifique la salud del montaje en lugar de los permisos. El runner imprime ambas fallas de inicio en stderr antes de abrir `--log-file`, así que búsquelas en la terminal o en los registros del contenedor de su plataforma en lugar del archivo de registro. Antes de v2.1.225, el runner no verificaba el directorio base al inicio, y esta configuración incorrecta fallaba en las sesiones después de la recogida.846* **El runner se cierra al inicio con `cannot create or write to base directory`**: el runner no puede crear ni escribir en `--base-dir`, que por defecto es `/workspace`. Corrija la propiedad del directorio o apunte `--base-dir` a una ruta escribible, como se describe en [Mantener el directorio base y la capacidad idénticos en todos los runners](#keep-the-base-directory-and-capacity-identical-across-runners). Si el runner registra `[runner:fatal]` diciendo que la verificación del directorio base agotó el tiempo de espera, el directorio está en un montaje NFS o CSI colgado. Verifique la salud del montaje en lugar de los permisos. El runner imprime ambas fallas de inicio en stderr antes de abrir `--log-file`, así que búsquelas en la terminal o en los registros del contenedor de su plataforma en lugar del archivo de registro. Antes de v2.1.225, el runner no verificaba el directorio base al inicio, y esta configuración incorrecta fallaba en las sesiones después de la recogida.

838* **El runner se cierra al inicio con `RegisterRunner failed:` y un error de certificado TLS**: el error puede ser `self signed certificate in certificate chain`, por ejemplo. El runner no confía en la autoridad de certificación (CA) detrás del certificado que recibió, como ocurre detrás de un proxy que inspecciona TLS. Establece [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/es/network-config#custom-ca-certificates) en el entorno del runner con un archivo PEM que contenga la CA raíz del proxy.847* **El runner se cierra al inicio con `RegisterRunner failed:` y un error de certificado TLS**: el error puede ser `self signed certificate in certificate chain`, por ejemplo. El runner no confía en la autoridad de certificación (CA) detrás del certificado que recibió, como ocurre detrás de un proxy que inspecciona TLS. Establece [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/es/network-config#custom-ca-certificates) en el entorno del runner con un archivo PEM que contenga la CA raíz del proxy.

839 848 

840 No necesitas establecerla de nuevo para las sesiones, que la heredan. Git no la lee: para clonar a través de ese proxy, establece también [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).849 No necesitas establecerla de nuevo para las sesiones, que la heredan. Git no la lee: para clonar a través de ese proxy, establece también [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).

841* **Tu script de inicio imprime un error de escritura que contiene `Resource temporarily unavailable` y se cierra**: tu script comparte su stdout o stderr con el proceso `claude self-hosted-runner` u [orquestador](https://code.claude.com/docs/es/self-hosted-environments-configuration.md#on-demand-runners) que inicia, el cual ha cambiado esa tubería o socket compartido al modo no bloqueante. Cuando la tubería está llena, una escritura de tu script falla con este error del sistema operativo en lugar de esperar, y con `set -e` el script se cierra.850* **Tu script de inicio imprime un error de escritura que contiene `Resource temporarily unavailable` y se cierra**: tu script comparte su stdout o stderr con el proceso `claude self-hosted-runner` u [orquestador](https://code.claude.com/docs/es/self-hosted-environments-configuration.md#on-demand-runners) que inicia, el cual ha cambiado esa tubería o socket compartido al modo no bloqueante. Cuando la tubería está llena, una escritura de tu script falla con este error del sistema operativo en lugar de esperar, y con `set -e` el script se cierra.

842 851 

843 Para evitar el error, envía la salida del runner o del orquestador a un archivo que el usuario de tu script pueda crear. Agrega `>> "$HOME/claude-runner.log" 2>&1` al comando que lo inicia, antes de cualquier `&` que lo envíe a segundo plano:852 Para evitar el error, envía la salida del runner o del orquestador a un archivo que el usuario de tu script pueda crear. Agrega `>> "$HOME/claude-runner.log" 2>&1` al comando que lo inicia, antes de cualquier `&` que lo envíe a segundo plano, 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):

844 853 

845 ```bash theme={null}854 ```bash theme={null}

846 claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret >> "$HOME/claude-runner.log" 2>&1855 claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret --base-dir '<writable-dir>' >> "$HOME/claude-runner.log" 2>&1

847 ```856 ```

848 857 

849 La salida propia de tu script sigue yendo adonde iba antes, mientras que lo que el runner escribe en stdout y stderr, incluidos sus errores de inicio, va a ese archivo. Usa esta redirección del shell en lugar de solo [`--log-file`](https://code.claude.com/docs/es/self-hosted-environments-reference#runner-cli-flags), que replica el registro en un archivo mientras el runner sigue escribiendo en stdout y stderr. Si ya pasas `--log-file`, mantenlo también, porque la redirección no cambia lo que recibe ese archivo.858 La salida propia de tu script sigue yendo adonde iba antes, mientras que lo que el runner escribe en stdout y stderr, incluidos sus errores de inicio, va a ese archivo. Usa esta redirección del shell en lugar de solo [`--log-file`](https://code.claude.com/docs/es/self-hosted-environments-reference#runner-cli-flags), que replica el registro en un archivo mientras el runner sigue escribiendo en stdout y stderr. Si ya pasas `--log-file`, mantenlo también, porque la redirección no cambia lo que recibe ese archivo.


901 Antes de v2.1.274, el runner dejaba de reintentar una obtención fallida después de algunos intentos y esperaba la siguiente programada. Un turno fallido no desencadenaba una obtención, por lo que cada turno fallaba con un 401 hasta la siguiente obtención programada.910 Antes de v2.1.274, el runner dejaba de reintentar una obtención fallida después de algunos intentos y esperaba la siguiente programada. Un turno fallido no desencadenaba una obtención, por lo que cada turno fallaba con un 401 hasta la siguiente obtención programada.

902* **Un turno falla en claude.ai/code con `This model needs a newer version of Claude Code`**: la versión de Claude Code con la que tus runners inician sesiones es más antigua que la que requiere el modelo de la sesión, así que la API [rechaza la solicitud](https://code.claude.com/docs/es/errors.md#claude-code-does-not-support-this-model). Actualiza los runners a la versión que pide el mensaje, o a una posterior, como se describe en [Fijar la versión](#pin-the-version). Mientras tanto, las personas pueden elegir otro modelo en la sesión.911* **Un turno falla en claude.ai/code con `This model needs a newer version of Claude Code`**: la versión de Claude Code con la que tus runners inician sesiones es más antigua que la que requiere el modelo de la sesión, así que la API [rechaza la solicitud](https://code.claude.com/docs/es/errors.md#claude-code-does-not-support-this-model). Actualiza los runners a la versión que pide el mensaje, o a una posterior, como se describe en [Fijar la versión](#pin-the-version). Mientras tanto, las personas pueden elegir otro modelo en la sesión.

903* **El pod se mata a mitad del drenaje**: aumente `terminationGracePeriodSeconds` al menos al valor que el runner registra al inicio. Consulte [Shutdown timing](#shutdown-timing).912* **El pod se mata a mitad del drenaje**: aumente `terminationGracePeriodSeconds` al menos al valor que el runner registra al inicio. Consulte [Shutdown timing](#shutdown-timing).

913* **El runner registra una línea `[runner:log]` que termina en `was paused or too slow`**: el runner siguió ejecutándose y no necesita reiniciarse. Hasta que la secuencia stdout o stderr nombrada en la línea volvió a leerse, el runner descartó todas las líneas de esa secuencia excepto los 256 KiB más recientes. Si pasaste [`--log-file`](https://code.claude.com/docs/es/self-hosted-environments-reference#runner-cli-flags), busca allí las líneas descartadas.

914* **El runner registra `Nobody can read this process's stdout anymore`**: lo que leía el stdout del runner ya no está, así que el runner deja de escribir allí durante el resto de su ejecución y sigue ejecutándose. Mientras stderr siga abierto, esta línea y las líneas de estado posteriores del runner, incluidas las líneas `[runner:fatal]`, van a stderr, así que léelas allí.

904 915 

905Una vez que se inicializa el registro, el runner escribe su registro de ciclo de vida, incluidas las líneas `[runner:fatal]`, en stdout, y la salida de depuración en stderr, todo como líneas de texto sin formato en lugar de JSON. Las fallas del directorio base descritas en las entradas de solución de problemas anteriores se imprimen en stderr antes de ese punto. Captura ambas secuencias con `--log-file`, que también permite que `self-hosted-runner doctor` las siga, o con la recopilación de registros de tu plataforma.916Una vez que se inicializa el registro, el runner escribe su registro de ciclo de vida, incluidas las líneas `[runner:fatal]`, en stdout, y la salida de depuración en stderr, todo como líneas de texto sin formato en lugar de JSON. Las fallas del directorio base descritas en las entradas de solución de problemas anteriores se imprimen en stderr antes de ese punto. Captura ambas secuencias con `--log-file`, que también permite que `self-hosted-runner doctor` las siga, o con la recopilación de registros de tu plataforma.

906 917 

Details

29 29 

30* Un host o contenedor Linux o macOS con HTTPS saliente a `api.anthropic.com`, a `claude.ai` y a los hosts de descarga a los que redirige para el paso de instalación a continuación, y a su host de git para el clon; la [tabla de requisitos de red](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#network-requirements) tiene la lista completa. Windows no se admite como host de runner; ejecute el runner en un contenedor Linux en su lugar. Las estaciones de trabajo de desarrolladores no se ven afectadas, ya que las sesiones se inician desde claude.ai en un navegador.30* Un host o contenedor Linux o macOS con HTTPS saliente a `api.anthropic.com`, a `claude.ai` y a los hosts de descarga a los que redirige para el paso de instalación a continuación, y a su host de git para el clon; la [tabla de requisitos de red](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#network-requirements) tiene la lista completa. Windows no se admite como host de runner; ejecute el runner en un contenedor Linux en su lugar. Las estaciones de trabajo de desarrolladores no se ven afectadas, ya que las sesiones se inician desde claude.ai en un navegador.

31* Un repositorio para la sesión de prueba: uno público, o uno que este host ya pueda clonar mediante su URL HTTPS sin que se le soliciten credenciales. Una clave SSH por sí sola no es suficiente, porque el runner clona la URL `https://` del repositorio. Para clonar mediante SSH en su lugar, consulta [Reescribir URLs de git para redes privadas](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#rewrite-git-urls-for-private-networks).31* Un repositorio para la sesión de prueba: uno público, o uno que este host ya pueda clonar mediante su URL HTTPS sin que se le soliciten credenciales. Una clave SSH por sí sola no es suficiente, porque el runner clona la URL `https://` del repositorio. Para clonar mediante SSH en su lugar, consulta [Reescribir URLs de git para redes privadas](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#rewrite-git-urls-for-private-networks).

32* Un reloj sincronizado con la hora real, por ejemplo con NTP. La autenticación falla cuando el reloj está más de cinco minutos desincronizado; consulte [Troubleshooting](https://code.claude.com/docs/es/self-hosted-environments-deploy.md#troubleshooting).32* Un reloj sincronizado con la hora real, por ejemplo con NTP.

33 33 

34### Software en el host del runner34### Software en el host del runner

35 35 

Details

95| `--hook-timeout <sec>` | `60` | Terminar el árbol de procesos del hook después de este número de segundos. El tiempo de espera más su período de gracia de 5 segundos debe mantenerse por debajo de `--expected-spawn-seconds`; el orchestrator lo aplica al inicio. |95| `--hook-timeout <sec>` | `60` | Terminar el árbol de procesos del hook después de este número de segundos. El tiempo de espera más su período de gracia de 5 segundos debe mantenerse por debajo de `--expected-spawn-seconds`; el orchestrator lo aplica al inicio. |

96| `--expected-spawn-seconds <sec>` | `120` | Tiempo p99 esperado desde que el orchestrator recibe una solicitud de generación hasta que el runner se registra, incluida cualquier espera de capacidad en tu plataforma. El servidor aplica un rango de 10 a 3600. Se envía en cada sondeo como el arrendamiento del lado del servidor: si ningún runner se registra antes de que transcurra, la sesión se vuelve a ofrecer con un ID de orden nuevo. Todas las réplicas deben compartir este valor. |96| `--expected-spawn-seconds <sec>` | `120` | Tiempo p99 esperado desde que el orchestrator recibe una solicitud de generación hasta que el runner se registra, incluida cualquier espera de capacidad en tu plataforma. El servidor aplica un rango de 10 a 3600. Se envía en cada sondeo como el arrendamiento del lado del servidor: si ningún runner se registra antes de que transcurra, la sesión se vuelve a ofrecer con un ID de orden nuevo. Todas las réplicas deben compartir este valor. |

97| `--min-idle <n>` | `0` | Mantener al menos N espacios de sesión inactivos libres generando runners en espera de forma proactiva. `0` desactiva el precalentamiento. Emparejar con `--exit-if-unused-min` del runner para que los runners en espera excedentes se reclamen a sí mismos. |97| `--min-idle <n>` | `0` | Mantener al menos N espacios de sesión inactivos libres generando runners en espera de forma proactiva. `0` desactiva el precalentamiento. Emparejar con `--exit-if-unused-min` del runner para que los runners en espera excedentes se reclamen a sí mismos. |

98| `--shutdown-drain-sec <n>` | `0` | Al recibir `SIGTERM`, dejar de sondear solicitudes de generación y dar a los hooks `spawn-runner` en ejecución y a cualquier sondeo sin respuesta hasta este número de segundos para terminar antes de detener lo que quede. Con `0`, detenerse de inmediato. Máximo `3600`, que el orchestrator aplica al inicio. Para elegir un valor, consulta [Dimensiona `--shutdown-drain-sec` y el tiempo de espera de detención del orchestrator](https://code.claude.com/docs/es/self-hosted-environments-configuration#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator). Requiere Claude Code v2.1.299 o posterior. |

98| `--debug-dir <path>` | sin establecer | Escribir la orden de trabajo de cada solicitud de generación y stderr del hook en el disco. Solo para depuración; nunca establecer en producción. |99| `--debug-dir <path>` | sin establecer | Escribir la orden de trabajo de cada solicitud de generación y stderr del hook en el disco. Solo para depuración; nunca establecer en producción. |

99 100 

100### Banderas del conector SCM101### Banderas del conector SCM

Details

154 * **Unidad de telemetría**: las claves del exportador `OTEL_EXPORTER_OTLP_*`, los conmutadores de captura de contenido `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` y las variables de rastreo beta `ENABLE_BETA_TRACING_DETAILED` y `BETA_TRACING_ENDPOINT` siguen la fuente más alta que establece cualquiera de ellas como una unidad. Una fuente que entrega la clave de credencial `otelHeadersHelper` reclama la unidad también, pero coloca estas variables solo cuando es la fuente seleccionada: una fuente que no está seleccionada pero entrega la clave no contribuye ninguna de ellas y aún bloquea las fuentes inferiores de rellenarlas. De cualquier forma, un punto final del exportador de una fuente nunca puede emparejarse con credenciales de otra.154 * **Unidad de telemetría**: las claves del exportador `OTEL_EXPORTER_OTLP_*`, los conmutadores de captura de contenido `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER` y las variables de rastreo beta `ENABLE_BETA_TRACING_DETAILED` y `BETA_TRACING_ENDPOINT` siguen la fuente más alta que establece cualquiera de ellas como una unidad. Una fuente que entrega la clave de credencial `otelHeadersHelper` reclama la unidad también, pero coloca estas variables solo cuando es la fuente seleccionada: una fuente que no está seleccionada pero entrega la clave no contribuye ninguna de ellas y aún bloquea las fuentes inferiores de rellenarlas. De cualquier forma, un punto final del exportador de una fuente nunca puede emparejarse con credenciales de otra.

155 * **Enrutamiento emparejado con credencial**: una fuente que empareja variables de enrutamiento con una clave de credencial solo para fuente seleccionada, como `apiKeyHelper` u `otelHeadersHelper`, contribuye esas variables de enrutamiento solo cuando gana la ranura.155 * **Enrutamiento emparejado con credencial**: una fuente que empareja variables de enrutamiento con una clave de credencial solo para fuente seleccionada, como `apiKeyHelper` u `otelHeadersHelper`, contribuye esas variables de enrutamiento solo cuando gana la ranura.

156* **`allowedProviders`**: una lista establecida en la máquina y una lista administrada por servidor se combinan como [la nota de Alcance de su entrada](https://code.claude.com/docs/es/settings-reference.md#allowedproviders) indica. Requiere Claude Code v2.1.285 o posterior156* **`allowedProviders`**: una lista establecida en la máquina y una lista administrada por servidor se combinan como [la nota de Alcance de su entrada](https://code.claude.com/docs/es/settings-reference.md#allowedproviders) indica. Requiere Claude Code v2.1.285 o posterior

157* **Claves de inicio de sesión de primera parte**: [`forceLoginOrgUUID`](https://code.claude.com/docs/es/settings-reference#forceloginorguuid) y los valores `"claudeai"` y `"console"` de [`forceLoginMethod`](https://code.claude.com/docs/es/settings-reference#forceloginmethod). Si también despliegas una política MDM o un archivo de configuración administrada, establécelas allí y en la configuración administrada por servidor desde claude.ai hasta que todos los clientes ejecuten v2.1.299 o posterior. Para saber dónde establecer las claves después, y el valor de qué fuente se aplica, consulta [Qué fuente administrada suministra las claves de inicio de sesión](https://code.claude.com/docs/es/managed-settings.md#which-managed-source-supplies-login-keys).

157* **Claves de inicio de sesión de puerta de enlace**: Claude Code nunca lee [`forceLoginGatewayUrl`](https://code.claude.com/docs/es/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/es/settings-reference#gatewayinternalnetworks), ni el valor `"gateway"` de [`forceLoginMethod`](https://code.claude.com/docs/es/settings-reference#forceloginmethod) de la configuración administrada por servidor, por lo que un valor allí ni se aplica ni oculta uno establecido en una política MDM o archivo de configuración administrada. La entrada [`managedSourcesBehavior`](https://code.claude.com/docs/es/settings-reference#managedsourcesbehavior) dice qué fuente de administrador en la máquina los suministra.158* **Claves de inicio de sesión de puerta de enlace**: Claude Code nunca lee [`forceLoginGatewayUrl`](https://code.claude.com/docs/es/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/es/settings-reference#gatewayinternalnetworks), ni el valor `"gateway"` de [`forceLoginMethod`](https://code.claude.com/docs/es/settings-reference#forceloginmethod) de la configuración administrada por servidor, por lo que un valor allí ni se aplica ni oculta uno establecido en una política MDM o archivo de configuración administrada. La entrada [`managedSourcesBehavior`](https://code.claude.com/docs/es/settings-reference#managedsourcesbehavior) dice qué fuente de administrador en la máquina los suministra.

158 159 

159### Comportamiento de búsqueda y almacenamiento en caché160### Comportamiento de búsqueda y almacenamiento en caché

settings.md +55 −55

Details

203 203 

204Una ejecución `-p` no muestra diálogo. A menos que [un documento de configuraciones administradas no se pueda analizar](https://code.claude.com/docs/es/errors.md#managed-settings-document-could-not-be-parsed), Claude Code omite el archivo o valores rotos y continúa con el resto, por lo que después de una ejecución `-p` que ignora una configuración, ejecute `claude doctor` para ver qué descartó.204Una ejecución `-p` no muestra diálogo. A menos que [un documento de configuraciones administradas no se pueda analizar](https://code.claude.com/docs/es/errors.md#managed-settings-document-could-not-be-parsed), Claude Code omite el archivo o valores rotos y continúa con el resto, por lo que después de una ejecución `-p` que ignora una configuración, ejecute `claude doctor` para ver qué descartó.

205 205 

206## Precedencia de configuración206## Precedencia de la configuración

207 207 

208Cuando la misma clave aparece en más de un lugar, Claude Code usa el valor del nivel más alto que la establece. La pila a continuación muestra los niveles, con el más alto en la parte superior; una clave en un nivel más alto sobrescribe la misma clave en cualquier lugar debajo de él.208Cuando la misma clave aparece en más de un lugar, Claude Code usa el valor del nivel más alto que la define. La pila de abajo muestra los niveles, con el más alto arriba; una clave en un nivel superior sobrescribe la misma clave en cualquier nivel inferior.

209 209 

210Settings precedence, highest first: managed settings, command line, project local, shared project, user. A key set at a higher level overrides the same key set lower down.210Settings precedence, highest first: managed settings, command line, project local, shared project, user. A key set at a higher level overrides the same key set lower down.

211 211 

212En orden, precedencia más alta primero:212En orden, de mayor a menor precedencia:

213 213 

2141. **Configuración administrada**: configuración que tu organización implementa mediante un archivo `managed-settings.json`, una política MDM o [configuración administrada por el servidor](https://code.claude.com/docs/es/server-managed-settings.md) desde la consola de claude.ai. Nada en tus propios archivos de configuración ni en `--settings` sobrescribe una clave administrada, y un flag como `--model` solo elige entre los modelos que tu organización permite. Un [`model`](https://code.claude.com/docs/es/settings-reference#model) administrado es un valor predeterminado inicial, no un bloqueo; los bloqueos son [`availableModels`](https://code.claude.com/docs/es/settings-reference#availablemodels) y [`deniedModels`](https://code.claude.com/docs/es/settings-reference#deniedmodels). Cuando tu organización entrega más de una fuente administrada, las reglas de [precedencia dentro del nivel administrado](https://code.claude.com/docs/es/managed-settings.md#precedence-within-the-managed-tier) indican qué lee Claude Code de cada una.2141. **Configuración administrada**: configuración que despliega tu organización, mediante un archivo `managed-settings.json`, una política de MDM o la [configuración administrada por el servidor](https://code.claude.com/docs/es/server-managed-settings.md) desde la consola de claude.ai. Nada en tus propios archivos de configuración ni en `--settings` sobrescribe una clave administrada, y un flag como `--model` solo elige entre los modelos que tu organización permite. Un [`model`](https://code.claude.com/docs/es/settings-reference#model) administrado es un valor predeterminado inicial, no un bloqueo; los bloqueos son [`availableModels`](https://code.claude.com/docs/es/settings-reference#availablemodels) y [`deniedModels`](https://code.claude.com/docs/es/settings-reference#deniedmodels). Cuando tu organización entrega más de una fuente administrada, las reglas de [precedencia dentro del nivel administrado](https://code.claude.com/docs/es/managed-settings.md#precedence-within-the-managed-tier) indican qué lee Claude Code de cada una.

2152. **Línea de comandos**: JSON que pasas con `--settings <file-or-json>` al iniciar `claude`, solo para esa sesión; consulta [Cambiar un ajuste para una sesión](#change-a-setting-for-one-session). Una clave que estableces ahí sobrescribe la misma clave en tus archivos de configuración de proyecto y de usuario, y una clave que omites conserva su valor de esos archivos. Otros flags, como `--model`, establecen una sola cosa para la sesión y no forman parte de esta pila; la entrada de cada clave en la [referencia de configuración](https://code.claude.com/docs/es/settings-reference.md) indica qué flags la sobrescriben.2152. **Línea de comandos**: JSON que pasas con `--settings <file-or-json>` al iniciar `claude`, solo para esa sesión; consulta [Cambiar un ajuste para una sesión](#change-a-setting-for-one-session). Una clave que defines ahí sobrescribe la misma clave en tus archivos de configuración de proyecto y de usuario, y una clave que omites conserva su valor de esos archivos. Otros flags, como `--model`, definen una sola cosa para la sesión y no forman parte de esta pila; la entrada de cada clave en la [referencia de configuración](https://code.claude.com/docs/es/settings-reference.md) indica qué flags la sobrescriben.

2163. **Configuración local del proyecto** (`.claude/settings.local.json`): tu configuración personal para este proyecto.2163. **Configuración local del proyecto** (`.claude/settings.local.json`): tu configuración personal para este proyecto.

2174. **Configuración compartida del proyecto** (`.claude/settings.json`): configuración que tu equipo registra en el control de código fuente.2174. **Configuración compartida del proyecto** (`.claude/settings.json`): configuración que tu equipo registra en el control de versiones.

2185. **Configuración de usuario** (`~/.claude/settings.json`): tu configuración personal para todos los proyectos.2185. **Configuración de usuario** (`~/.claude/settings.json`): tu configuración personal para todos los proyectos.

219 219 

220Las variables de entorno no son un nivel en esta pila. Cuando un comportamiento tiene tanto una variable de shell como una clave de configuración, cuál se aplica se decide por par, no por nivel: `ANTHROPIC_MODEL` exportada en tu shell se aplica sobre la clave `model` de cualquier archivo, mientras que `ANTHROPIC_DEFAULT_MODEL` se aplica solo cuando ningún archivo establece `model`. La [referencia de variables de entorno](https://code.claude.com/docs/es/env-vars.md#precedence) indica qué claves tienen un par y cuál lee Claude Code primero. Un bloque `env` dentro de un archivo de configuración es una clave ordinaria y sigue los niveles anteriores.220Las variables de entorno no son un nivel de esta pila. Cuando un comportamiento tiene tanto una variable del shell como una clave de configuración, cuál se aplica se decide por cada par, no por nivel: `ANTHROPIC_MODEL` exportada en tu shell se aplica por encima de la clave `model` de cualquier archivo, mientras que `ANTHROPIC_DEFAULT_MODEL` solo se aplica cuando ningún archivo define `model`. La [referencia de variables de entorno](https://code.claude.com/docs/es/env-vars.md#precedence) indica qué claves tienen un par y cuál lee Claude Code primero. Un bloque `env` dentro de un archivo de configuración es una clave normal y sigue los niveles anteriores.

221 221 

222Para algunas claves sensibles a la seguridad, Claude Code honra un valor más estricto de un nivel inferior sobre un valor administrado; [Excepciones a la precedencia de la configuración administrada](#exceptions-to-managed-settings-precedence) las enumera.222Para algunas claves sensibles en materia de seguridad, Claude Code respeta un valor más estricto de un nivel inferior por encima de un valor administrado; [Excepciones a la precedencia de la configuración administrada](#exceptions-to-managed-settings-precedence) las enumera.

223 223 

224### Las listas se fusionan en lugar de sobrescribirse224### Las listas se combinan en lugar de sobrescribirse

225 225 

226Cuando estableces la misma clave de lista, como `permissions.allow`, en más de un archivo, Claude Code combina las listas en lugar de elegir una, por lo que cada archivo puede agregar entradas sin eliminar las de otro archivo. Cuatro claves que contienen listas de modelos o entradas por modelo siguen sus propias reglas:226Cuando defines la misma clave de lista, como `permissions.allow`, en más de un archivo, Claude Code combina las listas en lugar de elegir una, así que cada archivo puede agregar entradas sin eliminar las de otro archivo. Cuatro claves que contienen listas de modelos o entradas por modelo siguen sus propias reglas:

227 227 

228* [`fallbackModel`](https://code.claude.com/docs/es/settings-reference#fallbackmodel) es una cadena ordenada donde la posición tiene significado, por lo que Claude Code toma el valor completo del archivo de mayor precedencia que la define.228* [`fallbackModel`](https://code.claude.com/docs/es/settings-reference#fallbackmodel) es una cadena ordenada en la que la posición tiene significado, así que Claude Code toma el valor completo del archivo de mayor precedencia que lo define.

229* [`modelPicker`](https://code.claude.com/docs/es/settings-reference#modelpicker) contiene una lista ordenada de filas más una bandera de reemplazo, por lo que Claude Code nunca fusiona filas de dos fuentes. Toma el valor completo del nivel más alto, entre la configuración administrada, `--settings` y la configuración de usuario, que la define, e ignora la clave en la configuración de proyecto y local. Requiere Claude Code v2.1.242 o posterior.229* [`modelPicker`](https://code.claude.com/docs/es/settings-reference#modelpicker) contiene una única lista ordenada de filas más un flag de reemplazo, así que Claude Code nunca combina filas de dos fuentes. Toma el valor completo de la fuente más alta que lo define entre la configuración administrada, `--settings` y la configuración de usuario, e ignora la clave en la configuración de proyecto y local. Requiere Claude Code v2.1.242 o posterior.

230* [`availableModels`](https://code.claude.com/docs/es/settings-reference#availablemodels): cuando la configuración administrada que Claude Code aplica la define, Claude Code aplica esa lista tal cual e ignora las entradas que agregas en la configuración de usuario, de proyecto o local, a menos que una aplicación que incrusta Claude Code suministre su propia lista de modelos; consulta [Excepciones a la precedencia de la configuración administrada](#exceptions-to-managed-settings-precedence). Entre fuentes administradas la lista tampoco se fusiona nunca; [cómo Claude Code combina fuentes administradas](https://code.claude.com/docs/es/managed-settings.md#how-claude-code-combines-managed-sources) indica la lista de qué fuente se aplica. Entre alcances no administrados, Claude Code fusiona las matrices como de costumbre.230* [`availableModels`](https://code.claude.com/docs/es/settings-reference#availablemodels): cuando la configuración administrada que aplica Claude Code la define, Claude Code aplica esa lista tal cual e ignora las entradas que agregas en la configuración de usuario, de proyecto o local, a menos que una aplicación que integra Claude Code proporcione su propia lista de modelos; consulta [Excepciones a la precedencia de la configuración administrada](#exceptions-to-managed-settings-precedence). Entre fuentes administradas la lista tampoco se combina nunca; [cómo combina Claude Code las fuentes administradas](https://code.claude.com/docs/es/managed-settings.md#how-claude-code-combines-managed-sources) indica qué lista de qué fuente se aplica. Entre alcances no administrados, Claude Code combina los arrays como de costumbre.

231* [`modelSettings`](https://code.claude.com/docs/es/settings-reference#modelsettings): Claude Code la resuelve un modelo a la vez, junto con [`effortLevel`](https://code.claude.com/docs/es/settings-reference#effortlevel). La entrada `modelSettings` indica el valor de qué archivo se aplica a un modelo.231* [`modelSettings`](https://code.claude.com/docs/es/settings-reference#modelsettings): Claude Code la resuelve modelo por modelo, junto con [`effortLevel`](https://code.claude.com/docs/es/settings-reference#effortlevel). La entrada de `modelSettings` indica qué valor de qué archivo se aplica a un modelo.

232 232 

233### Ejemplos de precedencia233### Ejemplos de precedencia

234 234 

235Mientras Claude trabaja, Claude Code muestra un consejo de una línea bajo el spinner, como "Use /config to change your default permission mode (including Plan Mode)". Supón que quieres desactivar esos consejos, así que estableces [`spinnerTipsEnabled`](https://code.claude.com/docs/es/settings-reference#spinnertipsenabled) en `false` en `~/.claude/settings.json`. Cada escenario a continuación es algo que puede volver a activarlos, junto con lo que puedes hacer al respecto.235Mientras Claude trabaja, Claude Code muestra un consejo de una línea debajo del indicador de actividad, como "Use /config to change your default permission mode (including Plan Mode)". Supón que quieres desactivar esos consejos, así que defines [`spinnerTipsEnabled`](https://code.claude.com/docs/es/settings-reference#spinnertipsenabled) como `false` en `~/.claude/settings.json`. Cada escenario de abajo es algo que puede volver a activarlos, junto con lo que puedes hacer al respecto.

236 236 

237#### La configuración del equipo sobrescribe la configuración personal237#### La configuración del equipo sobrescribe la configuración personal

238 238 

239El `.claude/settings.json` de tu equipo lo establece en `true`. Claude Code usa el valor del proyecto porque el proyecto compartido está por encima del usuario, así que ves consejos en ese proyecto y en ningún otro lugar.239El `.claude/settings.json` de tu equipo lo define como `true`. Claude Code usa el valor del proyecto porque la configuración compartida del proyecto está por encima de la de usuario, así que ves consejos en ese proyecto y en ningún otro.

240 240 

241Puedes recuperar tu valor: agrega `"spinnerTipsEnabled": false` a `.claude/settings.local.json` en ese proyecto. El proyecto local está por encima del proyecto compartido, así que tus sesiones allí dejan de mostrar consejos y las sesiones de tus compañeros de equipo no cambian.241Puedes recuperar tu valor: agrega `"spinnerTipsEnabled": false` a `.claude/settings.local.json` en ese proyecto. La configuración local del proyecto está por encima de la compartida, así que tus sesiones allí dejan de mostrar consejos y las sesiones de tus compañeros no cambian.

242 242 

243#### La configuración de la organización sobrescribe todo243#### La configuración de la organización sobrescribe todo

244 244 

245La configuración administrada de tu organización lo establece en `true`. Nada de lo que pongas en la configuración de usuario, de proyecto o local desactiva los consejos, y `--settings` tampoco. La configuración administrada es el nivel superior.245La configuración administrada de tu organización lo define como `true`. Nada de lo que pongas en la configuración de usuario, de proyecto o local desactiva los consejos, y `--settings` tampoco. La configuración administrada es el nivel más alto.

246 246 

247No puedes recuperar tu valor. Ejecuta `/status` para ver qué fuente administrada se aplica, y pregunta a tu administrador si la política debería cambiar.247No puedes recuperar tu valor. Ejecuta `/status` para ver qué fuente administrada se aplica y pregunta a tu administrador si la política debería cambiar.

248 248 

249#### La línea de comandos sobrescribe tus archivos para una sesión249#### La línea de comandos sobrescribe tus archivos durante una sesión

250 250 

251Iniciaste la sesión con `claude --settings '{"spinnerTipsEnabled": true}'`. La línea de comandos está por encima de todos los archivos excepto la configuración administrada, así que esa sesión muestra consejos aunque tus archivos digan `false`.251Iniciaste la sesión con `claude --settings '{"spinnerTipsEnabled": true}'`. La línea de comandos está por encima de todos los archivos excepto la configuración administrada, así que esa sesión muestra consejos aunque tus archivos digan `false`.

252 252 

253Recuperas tu valor en la siguiente sesión; `--settings` dura una sesión y no escribe en ningún archivo.253Recuperas tu valor en la siguiente sesión; `--settings` dura una sesión y no escribe en ningún archivo.

254 254 

255#### Un flag o una variable de entorno establece lo mismo255#### Un flag o una variable de entorno define lo mismo

256 256 

257Algunas claves tienen un flag de línea de comandos o una variable de entorno que sobrescribe el valor de configuración sin importar qué archivo lo estableció: `ANTHROPIC_MODEL` sobrescribe el ajuste [`model`](https://code.claude.com/docs/es/settings-reference#model), y `--model` sobrescribe ambos para una sesión.257Algunas claves tienen un flag de línea de comandos o una variable de entorno que sobrescribe el valor de configuración sin importar qué archivo lo definió: `ANTHROPIC_MODEL` sobrescribe el ajuste [`model`](https://code.claude.com/docs/es/settings-reference#model), y `--model` sobrescribe ambos durante una sesión.

258 258 

259Si puedes recuperar tu valor depende de la clave: quita la variable o deja de usar el flag, y consulta la entrada de la clave en la [referencia de configuración](https://code.claude.com/docs/es/settings-reference.md) y la fila de la variable en la [referencia de variables de entorno](https://code.claude.com/docs/es/env-vars.md) para saber cuál usa Claude Code.259Que puedas recuperar tu valor depende de la clave: elimina la variable o quita el flag, y revisa la entrada de la clave en la [referencia de configuración](https://code.claude.com/docs/es/settings-reference.md) y la fila de la variable en la [referencia de variables de entorno](https://code.claude.com/docs/es/env-vars.md) para saber cuál usa Claude Code.

260 260 

261### Solucionar un ajuste que no se aplica261### Solucionar un ajuste que no se aplica

262 262 

263Cuando estableces una clave y Claude Code no se comporta como si lo hubieras hecho, empieza con `/status` para ver qué archivos cargó y luego busca tu síntoma a continuación. [Depura tu configuración](https://code.claude.com/docs/es/debug-your-config.md) cubre las verificaciones más amplias, incluida una prueba con una configuración limpia.263Cuando defines una clave y Claude Code no se comporta como si lo hubieras hecho, empieza con `/status` para ver qué archivos cargó y luego busca tu síntoma abajo. [Depurar tu configuración](https://code.claude.com/docs/es/debug-your-config.md) cubre las comprobaciones más amplias, incluida una prueba con una configuración limpia.

264 264 

265#### Un valor que estableces se ignora265#### Se ignora un valor que definiste

266 266 

267Algo más está estableciendo la misma clave, el archivo no puede establecer ese valor o el archivo no se cargó:267Otra cosa está definiendo la misma clave, el archivo no puede definir ese valor o el archivo no se cargó:

268 268 

269* **Un nivel más alto lo establece.** Otro archivo de configuración, un flag `--settings` o una fuente administrada establece la clave por encima de la tuya; la [pila](#settings-precedence) indica cuál. Un flag o una variable de entorno también puede sobrescribir la clave por su cuenta, según cada clave; la entrada de la clave en la [referencia de configuración](https://code.claude.com/docs/es/settings-reference.md) indica cuál usa Claude Code, y la [entrada `env`](https://code.claude.com/docs/es/settings-reference#env) cubre un valor `env` administrado frente a una exportación del shell.269* **Un nivel superior la define.** Otro archivo de configuración, un flag `--settings` o una fuente administrada define la clave por encima de la tuya; la [pila](#settings-precedence) indica cuál. Un flag o una variable de entorno también puede sobrescribir la clave por sí solo, lo que se decide clave por clave; la entrada de la clave en la [referencia de configuración](https://code.claude.com/docs/es/settings-reference.md) indica cuál usa Claude Code, y la [entrada de `env`](https://code.claude.com/docs/es/settings-reference#env) cubre un valor `env` administrado frente a una exportación del shell.

270* **Una clave de seguridad mantiene su valor estricto.** Para algunas claves, Claude Code honra el valor restrictivo de cualquier archivo, así que un `true` de proyecto para [`disableClaudeAiConnectors`](https://code.claude.com/docs/es/settings-reference#disableclaudeaiconnectors) permanece activado; consulta [Excepciones a la precedencia de la configuración administrada](#exceptions-to-managed-settings-precedence).270* **Una clave de seguridad conserva su valor estricto.** Para algunas claves, Claude Code respeta el valor restrictivo de cualquier archivo, así que un `true` de proyecto para [`disableClaudeAiConnectors`](https://code.claude.com/docs/es/settings-reference#disableclaudeaiconnectors) permanece activado; consulta [Excepciones a la precedencia de la configuración administrada](#exceptions-to-managed-settings-precedence).

271* **El archivo no puede establecer ese valor.** Los valores `auto` y `bypassPermissions` de [`permissions.defaultMode`](https://code.claude.com/docs/es/settings-reference#permissions-defaultmode) no surten efecto desde la configuración de proyecto o local; establécelos en la configuración de usuario o administrada, o pasa `--permission-mode` para una sesión. Antes de v2.1.257, `bypassPermissions` surtía efecto desde cualquier archivo.271* **El archivo no puede definir ese valor.** Los valores `auto` y `bypassPermissions` de [`permissions.defaultMode`](https://code.claude.com/docs/es/settings-reference#permissions-defaultmode) no surten efecto desde la configuración de proyecto o local; defínelos en la configuración de usuario o administrada, o pasa `--permission-mode` para una sesión. Antes de v2.1.257, `bypassPermissions` surtía efecto desde cualquier archivo.

272 272 

273 Una variable de exportación de telemetría en un bloque [`env`](https://code.claude.com/docs/es/settings-reference#env) tampoco surte efecto desde la configuración de proyecto o local, salvo algunos valores de desactivación. [Variables que Claude Code ignora en `env`](https://code.claude.com/docs/es/settings-reference#variables-claude-code-ignores-in-env) enumera las variables y esos valores.273 Una variable de exportación de telemetría en un bloque [`env`](https://code.claude.com/docs/es/settings-reference#env) tampoco surte efecto desde la configuración de proyecto o local, salvo algunos valores de desactivación. [Variables que Claude Code ignora en `env`](https://code.claude.com/docs/es/settings-reference#variables-claude-code-ignores-in-env) enumera las variables y esos valores.

274* **El archivo está dañado.** Un JSON no válido o un valor rechazado hace que Claude Code omita el archivo o la entrada; consulta [Corregir un archivo de configuración dañado](#fix-a-broken-settings-file).274* **El archivo está dañado.** Un JSON no válido o un valor rechazado hace que Claude Code omita el archivo o la entrada; consulta [Corregir un archivo de configuración dañado](#fix-a-broken-settings-file).

275 275 

276#### Un cambio que hiciste en Claude Code se pierde en nuevas sesiones276#### Un cambio que hiciste en Claude Code se pierde en sesiones nuevas

277 277 

278Cuando guardas una elección para nuevas sesiones desde dentro de Claude Code, como un modelo predeterminado con `/model`, Claude Code la escribe en tu archivo de configuración de usuario, `~/.claude/settings.json`. Si no puedes escribir en ese archivo, por ejemplo porque otra herramienta lo genera o lo vincula a una copia de solo lectura, el cambio se aplica a la sesión actual y desaparece en la siguiente. Establece la clave en la herramienta que genera el archivo, o reemplaza el archivo por uno en el que puedas escribir.278Cuando guardas una elección para sesiones nuevas desde dentro de Claude Code, como un modelo predeterminado con `/model`, Claude Code la escribe en tu archivo de configuración de usuario, `~/.claude/settings.json`. Si no puedes escribir en ese archivo, por ejemplo porque otra herramienta lo genera o lo enlaza a una copia de solo lectura, el cambio se aplica a la sesión actual y desaparece en la siguiente. Define la clave en la herramienta que genera el archivo, o reemplaza el archivo por uno en el que puedas escribir.

279 279 

280Si puedes escribir en el archivo y el cambio aún no persiste, verifica si el cambio fue [solo para una sesión](#change-a-setting-for-one-session) o si [un nivel más alto establece la misma clave](#a-value-you-set-is-ignored). Para la clave `model`, [Una nueva sesión comienza con un modelo diferente al que elegiste](https://code.claude.com/docs/es/model-config.md#a-new-session-starts-on-a-different-model-than-you-picked) enumera más causas.280Si puedes escribir en el archivo y el cambio aun así no persiste, comprueba si el cambio era [solo para una sesión](#change-a-setting-for-one-session) o si [un nivel superior define la misma clave](#a-value-you-set-is-ignored). Para la clave `model`, [Una sesión nueva comienza con un modelo distinto al que elegiste](https://code.claude.com/docs/es/model-config.md#a-new-session-starts-on-a-different-model-than-you-picked) enumera más causas.

281 281 

282#### Un cambio administrado no te ha llegado282#### Un cambio administrado no te ha llegado

283 283 

284Las fuentes administradas llegan a una sesión en ejecución según el calendario de la [tabla de entrega](https://code.claude.com/docs/es/managed-settings.md#choose-a-delivery-mechanism), así que primero reinicia la sesión. Si luego `/status` nombra una fuente diferente a la que cambió tu administrador, se aplica una fuente de mayor prioridad; [Cómo Claude Code combina fuentes administradas](https://code.claude.com/docs/es/managed-settings.md#how-claude-code-combines-managed-sources) indica el orden.284Las fuentes administradas llegan a una sesión en curso según el calendario de la [tabla de entrega](https://code.claude.com/docs/es/managed-settings.md#choose-a-delivery-mechanism), así que primero reinicia la sesión. Si después `/status` nombra una fuente distinta de la que cambió tu administrador, se aplica una fuente de mayor prioridad; [Cómo combina Claude Code las fuentes administradas](https://code.claude.com/docs/es/managed-settings.md#how-claude-code-combines-managed-sources) indica el orden.

285 285 

286#### Una clave confirmada no llega a los compañeros de equipo286#### Una clave confirmada en el repositorio no llega a tus compañeros

287 287 

288Dos cosas impiden que una clave en `.claude/settings.json` se aplique para todos los que lo clonan:288Dos cosas impiden que una clave en `.claude/settings.json` se aplique para todos los que clonan el repositorio:

289 289 

290* **Claude Code ignora la clave en un archivo de repositorio.** Busca `User, local, or managed`, `User or managed`, `User`, `Managed` o `Global config` en la columna Scope del [índice de configuración](https://code.claude.com/docs/es/settings-reference.md#settings-index). Esas claves nunca se aplican desde el archivo compartido, salvo algunas que un archivo de repositorio aún puede desactivar. Cada una de esas entradas lo indica en su línea Scope. Las claves `Global config` se aplican solo desde `~/.claude.json`.290* **Claude Code ignora la clave en un archivo del repositorio.** Busca `User, local, or managed`, `User or managed`, `User`, `Managed` o `Global config` en la columna Scope del [índice de configuración](https://code.claude.com/docs/es/settings-reference.md#settings-index). Esas claves nunca se aplican desde el archivo compartido, salvo algunas que un archivo del repositorio aún puede desactivar. Cada una de esas entradas lo indica en su línea Scope. Las claves `Global config` solo se aplican desde `~/.claude.json`.

291 291 

292 Dentro de la clave `env`, las variables de exportación de telemetría tampoco se aplican nunca desde el archivo compartido, salvo algunos valores de desactivación; consulta [Variables que Claude Code ignora en `env`](https://code.claude.com/docs/es/settings-reference#variables-claude-code-ignores-in-env).292 Dentro de la clave `env`, las variables de exportación de telemetría tampoco se aplican nunca desde el archivo compartido, salvo algunos valores de desactivación; consulta [Variables que Claude Code ignora en `env`](https://code.claude.com/docs/es/settings-reference#variables-claude-code-ignores-in-env).

293* **La clave espera la confianza.** Las reglas `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces` y la mayoría de los valores de [`env`](https://code.claude.com/docs/es/settings-reference#env) se aplican solo después de que cada compañero de equipo [confíe en la carpeta](https://code.claude.com/docs/es/permissions.md#project-allow-rules-and-workspace-trust). Hasta entonces, siguen viendo solicitudes de permiso y no obtienen plugins de un marketplace que el archivo declara. Las reglas `deny` y `ask` se aplican de inmediato.293* **La clave espera a la confianza.** Las reglas de `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces` y la mayoría de los valores de [`env`](https://code.claude.com/docs/es/settings-reference#env) solo se aplican después de que cada compañero [confía en la carpeta](https://code.claude.com/docs/es/permissions.md#project-allow-rules-and-workspace-trust). Hasta entonces, siguen viendo solicitudes de permiso y no obtienen plugins de un marketplace que el archivo declara. Las reglas `deny` y `ask` se aplican de inmediato.

294 294 

295#### Las reglas de permisos se combinan de forma distinta a lo que esperabas295#### Las reglas de permisos se combinan de forma distinta a la esperada

296 296 

297* **Elegiste "Sí, y no preguntes de nuevo" en una solicitud de permiso, pero se te sigue pidiendo confirmación para la misma herramienta.** Esa elección guardó una regla `allow` en tu archivo local, y una regla `allow` allí no tiene prioridad sobre una regla `ask` de un archivo de proyecto o administrado; [cómo se combinan las reglas de permisos](https://code.claude.com/docs/es/permissions.md#settings-precedence) explica el orden. En la extensión de VS Code, la tarjeta de aprobación te permite elegir el archivo de destino, incluido el archivo compartido del proyecto, lo que cambia la regla para todos; en la CLI, Claude Code escribe solo en tu archivo local.297* **Elegiste "Yes, and don't ask again" en una solicitud de permiso, pero se te sigue pidiendo confirmación para la misma herramienta.** Esa elección guardó una regla `allow` en tu archivo local, y una regla `allow` ahí no tiene prioridad sobre una regla `ask` de un archivo de proyecto o administrado; [cómo se combinan las reglas de permisos](https://code.claude.com/docs/es/permissions.md#settings-precedence) explica el orden. En la extensión de VS Code, la tarjeta de aprobación te permite elegir el archivo de destino, incluido el archivo compartido del proyecto, lo que cambia la regla para todos; en la CLI, Claude Code solo escribe en tu archivo local.

298* **Las reglas allow de tu organización aún se aplican junto con las tuyas.** Es lo esperado: Claude Code fusiona [`permissions.allow`](https://code.claude.com/docs/es/settings-reference#permissions-allow) entre alcances, a menos que tu organización establezca [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/es/settings-reference#allowmanagedpermissionrulesonly).298* **Las reglas allow de tu organización se siguen aplicando junto con las tuyas.** Es lo esperado: Claude Code combina [`permissions.allow`](https://code.claude.com/docs/es/settings-reference#permissions-allow) entre alcances, a menos que tu organización defina [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/es/settings-reference#allowmanagedpermissionrulesonly).

299 299 

300### Excepciones a la precedencia de la configuración administrada300### Excepciones a la precedencia de la configuración administrada

301 301 

302Para algunas claves cuyos valores restringen una sesión, Claude Code honra un valor restrictivo de un alcance que de otro modo no podría sobrescribir la configuración administrada. Busca la clave en esta tabla para ver qué valor honra y de dónde.302Para algunas claves cuyos valores restringen una sesión, Claude Code respeta un valor restrictivo de un alcance que de otro modo no podría sobrescribir la configuración administrada. Busca la clave en esta tabla para ver qué valor respeta y desde dónde.

303 303 

304| Clave | Valor que Claude Code honra | Notas |304| Clave | Valor que Claude Code respeta | Notas |

305| :- | :- | :- |305| :- | :- | :- |

306| [`disableClaudeAiConnectors`](https://code.claude.com/docs/es/settings-reference#disableclaudeaiconnectors) | `true` de cualquier alcance | Honrado incluso cuando una fuente administrada establece `false` |306| [`disableClaudeAiConnectors`](https://code.claude.com/docs/es/settings-reference#disableclaudeaiconnectors) | `true` desde cualquier alcance | Se respeta incluso cuando una fuente administrada define `false` |

307| [`enableArtifact`](https://code.claude.com/docs/es/settings-reference#enableartifact) | `false` de cualquier alcance, y `disableArtifact: true` de cualquier alcance | Honrado incluso cuando una fuente administrada establece `true`; nada vuelve a activar la [herramienta Artifact](https://code.claude.com/docs/es/artifacts.md#disable-artifacts). Requiere Claude Code v2.1.242 o posterior |307| [`enableArtifact`](https://code.claude.com/docs/es/settings-reference#enableartifact) | `false` desde cualquier alcance, y `disableArtifact: true` desde cualquier alcance | Se respeta incluso cuando una fuente administrada define `true`; nada vuelve a activar la [herramienta Artifact](https://code.claude.com/docs/es/artifacts.md#disable-artifacts). Requiere Claude Code v2.1.242 o posterior |

308| [`isolatePeerMachines`](https://code.claude.com/docs/es/settings-reference#isolatepeermachines) | `true` de cualquier alcance | Honrado incluso cuando una fuente administrada establece `false` |308| [`isolatePeerMachines`](https://code.claude.com/docs/es/settings-reference#isolatepeermachines) | `true` desde cualquier alcance | Se respeta incluso cuando una fuente administrada define `false` |

309| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/es/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` de cualquier alcance | Honrado incluso cuando una fuente administrada establece `false`. Requiere Claude Code v2.1.257 o posterior |309| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/es/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` desde cualquier alcance | Se respeta incluso cuando una fuente administrada define `false`. Requiere Claude Code v2.1.257 o posterior |

310| [`autoMode.classifyAllShell`](https://code.claude.com/docs/es/settings-reference#automode-classifyallshell) | `true` de `~/.claude/settings.json` o `--settings` | Honrado incluso cuando una fuente administrada establece `false` |310| [`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` |

311| [`remoteControlAtStartup`](https://code.claude.com/docs/es/settings-reference#remotecontrolatstartup) | `false` de `.claude/settings.json` o `.claude/settings.local.json` | Honrado incluso cuando una fuente administrada establece `true`; un `true` de proyecto o local se ignora |311| [`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 |

312| [`crossSessionInbound`](https://code.claude.com/docs/es/settings-reference#crosssessioninbound) | Un valor más estricto de `.claude/settings.json` o `.claude/settings.local.json`, en la escala `accept` \< `hold` \< `refuse` | Honrado sobre los valores administrados, de `--settings` y de usuario; un valor de proyecto o local que no sea más estricto se ignora |312| [`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 |

313| [`useAutoModeDuringPlan`](https://code.claude.com/docs/es/settings-reference#useautomodeduringplan) | `false` de cualquier fuente administrada, `--settings`, `~/.claude/settings.json` o `.claude/settings.local.json` | Honrado incluso cuando la fuente administrada ganadora establece `true`; un `false` en `.claude/settings.json` se ignora |313| [`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 |

314| [`syncClaudeAiSkills`](https://code.claude.com/docs/es/settings-reference#syncclaudeaiskills) | `false` de cualquier fuente administrada, `--settings`, `~/.claude/settings.json` o `.claude/settings.local.json` | Honrado incluso cuando la fuente administrada ganadora establece `true`; un `false` en `.claude/settings.json` se ignora |314| [`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 |

315| [`syncClaudeAiPlugins`](https://code.claude.com/docs/es/settings-reference#syncclaudeaiplugins) | `false` de cualquier fuente administrada, `--settings`, `~/.claude/settings.json` o `.claude/settings.local.json` | Honrado incluso cuando la fuente administrada ganadora establece `true`; un `false` en `.claude/settings.json` se ignora |315| [`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 |

316| [`maxEffortLevel`](https://code.claude.com/docs/es/settings-reference#maxeffortlevel) | Un límite más bajo de cualquier alcance, incluido `--settings` | Honrado incluso cuando la configuración administrada que Claude Code aplica establece un límite más alto; se aplica el límite más bajo. Requiere Claude Code v2.1.267 o posterior |316| [`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 |

317 317 

318Una aplicación que ejecuta Claude Code dentro de sí misma y establece [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/es/env-vars) también es una excepción. Claude Code toma la configuración de modelo de esa aplicación por encima de las claves `model`, `fallbackModel`, `modelPicker` y `modelOverrides` de cada fuente administrada, y por encima de las variables de selección de modelo en un bloque `env` administrado, como `ANTHROPIC_MODEL` y la familia `ANTHROPIC_DEFAULT_*_MODEL`. Claude Code mantiene en vigor una lista de permitidos [`availableModels`](https://code.claude.com/docs/es/settings-reference#availablemodels) administrada, a menos que la aplicación suministre la suya.318Una aplicación que ejecuta Claude Code dentro de sí misma y define [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/es/env-vars) también es una excepción. Claude Code toma la configuración de modelos de esa aplicación por encima de las claves `model`, `fallbackModel`, `modelPicker` y `modelOverrides` de todas las fuentes administradas, y por encima de las variables de selección de modelo en un bloque `env` administrado, como `ANTHROPIC_MODEL` y la familia `ANTHROPIC_DEFAULT_*_MODEL`. Claude Code mantiene vigente una lista de modelos permitidos [`availableModels`](https://code.claude.com/docs/es/settings-reference#availablemodels) administrada, a menos que la aplicación proporcione la suya.

319 319 

320## Configuraciones en sesiones en la nube320## Configuraciones en sesiones en la nube

321 321 

settings-reference.md +265 −264

Details

266 266 

267## Modelo y respuestas267## Modelo y respuestas

268 268 

269Elija qué modelos utiliza Claude Code y cómo responde. Para saber cómo estas configuraciones interactúan con el comando `/model` y las variables de entorno, consulte [Configuración de modelos](https://code.claude.com/docs/es/model-config.md).269Elige qué modelos usa Claude Code y cómo responde. Para saber cómo interactúan estos ajustes con el comando `/model` y las variables de entorno, consulta [Configuración del modelo](https://code.claude.com/docs/es/model-config.md).

270 270 

271### `advisorModel`271### `advisorModel`

272 272 

273Elija qué modelo responde cuando Claude llama a la [herramienta advisor](https://code.claude.com/docs/es/advisor.md) del lado del servidor. Déjelo sin establecer para desactivar el advisor. El advisor debe ser al menos tan capaz como su modelo principal. Consulte [Elegir un modelo advisor](https://code.claude.com/docs/es/advisor.md#choose-an-advisor-model) para los emparejamientos aceptados y qué sucede cuando elige uno que no es aceptado.273Elige qué modelo responde cuando Claude llama a la [herramienta advisor](https://code.claude.com/docs/es/advisor.md) del lado del servidor. Déjalo sin definir para desactivar el advisor. El advisor debe ser al menos tan capaz como tu modelo principal. Consulta [Elegir un modelo advisor](https://code.claude.com/docs/es/advisor.md#choose-an-advisor-model) para ver las combinaciones aceptadas y qué sucede cuando eliges una que no se acepta.

274 274 

275Normalmente no edita esta clave manualmente. Ejecute `/advisor` para abrir un selector que muestre la opción actual, los modelos que pueden asesorar y **Sin advisor**. Claude Code guarda su selección en esta clave en `~/.claude/settings.json`. Si elige desde un cliente de [Control Remoto](https://code.claude.com/docs/es/remote-control.md) o en una sesión conectada a un trabajador remoto, la selección se aplica solo a esa sesión y no cambia esta clave.275Normalmente no editas esta clave a mano. Ejecuta `/advisor` para abrir un selector que muestra la opción actual, los modelos que pueden actuar como advisor y **No advisor**. Claude Code guarda tu elección en esta clave en `~/.claude/settings.json`. Si eliges desde un cliente de [Remote Control](https://code.claude.com/docs/es/remote-control.md) o en una sesión conectada a un worker remoto, la elección se aplica solo a esa sesión y no cambia esta clave.

276 276 

277Si su cuenta requiere el [consentimiento de créditos de uso](https://code.claude.com/docs/es/advisor.md#fable-advisor-and-usage-credits), acéptelo primero ejecutando `/model fable`. Hasta que lo haga, elegir Fable en `/advisor` no guarda nada y Claude Code le indica que ejecute `/model fable` primero.277Si tu cuenta requiere el [consentimiento de créditos de uso](https://code.claude.com/docs/es/advisor.md#fable-advisor-and-usage-credits), acéptalo primero ejecutando `/model fable`. Hasta que lo hagas, elegir Fable en `/advisor` no guarda nada y Claude Code te indica que ejecutes `/model fable` primero.

278 278 

279* **Alcance**: [`Cualquier archivo`](#scopes)279* **Alcance**: [`Any file`](#scopes)

280* **Tipo**: cadena, uno de los alias `"fable"`, `"opus"` u `"sonnet"`, que se resuelven a la versión predeterminada actual de Claude Code de esa familia de modelos, o un ID de modelo completo como `"claude-opus-5-5"`280* **Tipo**: string, uno de los alias `"fable"`, `"opus"` o `"sonnet"`, que se resuelven a la versión predeterminada actual de Claude Code de esa familia de modelos, o un ID de modelo completo como `"claude-opus-5-5"`

281* **Predeterminado**: sin establecer, por lo que el advisor está desactivado281* **Predeterminado**: sin definir, por lo que el advisor está desactivado

282* **Anulaciones por sesión**: `--advisor` tiene precedencia sobre esta clave para una sesión. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](https://code.claude.com/docs/es/env-vars) desactiva el advisor, y esta clave no puede reactivarlo282* **Sobrescrituras por sesión**: `--advisor` tiene precedencia sobre esta clave durante una sesión. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](https://code.claude.com/docs/es/env-vars) desactiva el advisor, y esta clave no puede volver a activarlo

283 283 

284```json settings.json theme={null}284```json settings.json theme={null}

285{285{


287}287}

288```288```

289 289 

290La clave no tiene efecto en proveedores donde el advisor [no está disponible](https://code.claude.com/docs/es/advisor.md#requirements), como Amazon Bedrock y Claude Platform en AWS. `"fable"` requiere [acceso a Fable](https://code.claude.com/docs/es/advisor.md#choose-an-advisor-model).290La clave no tiene efecto en los proveedores donde el advisor [no está disponible](https://code.claude.com/docs/es/advisor.md#requirements), como Amazon Bedrock y Claude Platform on AWS. `"fable"` requiere [acceso a Fable](https://code.claude.com/docs/es/advisor.md#choose-an-advisor-model).

291 291 

292### `alwaysThinkingEnabled`292### `alwaysThinkingEnabled`

293 293 

294Desactive el [pensamiento extendido](https://code.claude.com/docs/es/model-config.md#extended-thinking) para cada sesión estableciendo esto en `false`. El pensamiento está activado de forma predeterminada, por lo que `true` no cambia nada. La mayoría de las personas establecen esto a través de `/config` en lugar de editar el archivo.294Desactiva el [pensamiento extendido](https://code.claude.com/docs/es/model-config.md#extended-thinking) en todas las sesiones estableciendo esto en `false`. El pensamiento está activado de forma predeterminada, así que `true` no cambia nada. La mayoría de las personas lo configura con `/config` en lugar de editar el archivo.

295 295 

296En modelos que siempre piensan, como Opus 5.5, Sonnet 5.5, Haiku 5.5 y los modelos Fable, `false` no tiene efecto. En [proveedores de terceros](https://code.claude.com/docs/es/third-party-integrations.md) Claude Code omite el parámetro `thinking` en lugar de desactivar el pensamiento, por lo que los modelos de razonamiento adaptativo pueden seguir pensando. Con el pensamiento desactivado en la API de Anthropic, Claude Code envía esfuerzo `high` en lugar de un nivel superior a modelos que sabe que [no aceptan esa combinación](https://code.claude.com/docs/es/errors.md#effort-isnt-available-with-thinking-turned-off), como Opus 5.296En los modelos que siempre piensan, como Opus 5.5, Sonnet 5.5, Haiku 5.5 y los modelos Fable, `false` no tiene efecto. En [proveedores de terceros](https://code.claude.com/docs/es/third-party-integrations.md), Claude Code omite el parámetro `thinking` en lugar de desactivar el pensamiento, por lo que los modelos de razonamiento adaptativo aún pueden pensar. Con el pensamiento desactivado en la API de Anthropic, Claude Code envía el esfuerzo `high` en lugar de un nivel superior a los modelos que sabe que [no aceptan esa combinación](https://code.claude.com/docs/es/errors.md#effort-isnt-available-with-thinking-turned-off), como Opus 5.

297 297 

298* **Alcance**: [`Cualquier archivo`](#scopes)298* **Alcance**: [`Any file`](#scopes)

299* **Tipo**: Booleano299* **Tipo**: Boolean

300 * `true`: sin efecto; el pensamiento ya está activado300 * `true`: sin efecto; el pensamiento ya está activado

301 * `false`: Claude Code desactiva el pensamiento extendido para cada sesión301 * `false`: Claude Code desactiva el pensamiento extendido en todas las sesiones

302* **Predeterminado**: sin establecer, por lo que el pensamiento está activado para modelos que lo admiten302* **Predeterminado**: sin definir, por lo que el pensamiento está activado en los modelos que lo admiten

303* **Anulaciones por sesión**: [`MAX_THINKING_TOKENS`](https://code.claude.com/docs/es/env-vars) tiene precedencia sobre esta clave para una sesión: `0` desactiva el pensamiento, bajo los mismos límites de modelo y proveedor que `false`, y un valor positivo activa el pensamiento incluso cuando esta clave es `false`. En modelos de razonamiento adaptativo, el número en sí se ignora303* **Sobrescrituras por sesión**: [`MAX_THINKING_TOKENS`](https://code.claude.com/docs/es/env-vars) tiene precedencia sobre esta clave durante una sesión: `0` desactiva el pensamiento, con los mismos límites de modelo y proveedor que `false`, y un valor positivo activa el pensamiento incluso cuando esta clave es `false`. En los modelos de razonamiento adaptativo, el número en sí se ignora

304 304 

305```json settings.json theme={null}305```json settings.json theme={null}

306{306{


310 310 

311### `availableModels`311### `availableModels`

312 312 

313Restrinja qué modelos pueden seleccionar las personas para la sesión principal, [subagentes](https://code.claude.com/docs/es/sub-agents.md), [skills](https://code.claude.com/docs/es/skills.md) y el [advisor](https://code.claude.com/docs/es/advisor.md). Una lista administrada limita `/model`, `--model` y la clave `model` en los archivos propios del desarrollador; un modelo fuera de ella no puede seleccionarse. Con la coincidencia de prefijo predeterminada, esto no afecta la opción Predeterminado por sí sola; emparéjelo con [`enforceAvailableModels`](#enforceavailablemodels) para eso.313Restringe qué modelos pueden seleccionar las personas para la sesión principal, los [subagentes](https://code.claude.com/docs/es/sub-agents.md), los [skills](https://code.claude.com/docs/es/skills.md) y el [advisor](https://code.claude.com/docs/es/advisor.md). Una lista administrada limita `/model`, `--model` y la clave `model` en los archivos propios de un desarrollador; un modelo fuera de ella no se puede seleccionar. Con la coincidencia por prefijo predeterminada, esto por sí solo no afecta a la opción Default; combínalo con [`enforceAvailableModels`](#enforceavailablemodels) para eso.

314 314 

315* **Alcance**: [`Cualquier archivo`](#scopes). Impleméntelo en configuraciones administradas para aplicarlo a una organización.315* **Alcance**: [`Any file`](#scopes). Despliégalo en la configuración administrada para aplicarlo en toda una organización.

316* **Tipo**: matriz de alias o IDs de modelos316* **Tipo**: array de alias o IDs de modelo

317* **Predeterminado**: sin establecer, por lo que cada modelo está disponible317* **Predeterminado**: sin definir, por lo que todos los modelos están disponibles

318 318 

319Este ejemplo permite que las personas seleccionen solo modelos Sonnet y Haiku:319Este ejemplo permite que las personas seleccionen solo modelos Sonnet y Haiku:

320 320 


324}324}

325```325```

326 326 

327Una entrada de ID de modelo como `"claude-opus-5"` también permite versiones posteriores que la extienden, como Opus 5.5. Para bloquear una de esas versiones, usa [`deniedModels`](#deniedmodels). Para hacer que cada entrada de ID de modelo permita solo la versión que nombra, usa [`availableModelsMatch`](#availablemodelsmatch). Consulta [Restringir la selección de modelos](https://code.claude.com/docs/es/model-config.md#restrict-model-selection). Para IDs de proveedores de terceros, consulta [Fijar modelos para despliegues de terceros](https://code.claude.com/docs/es/model-config.md#pin-models-for-third-party-deployments).327Una entrada de ID de modelo como `"claude-opus-5"` también permite versiones posteriores que lo extienden, como Opus 5.5. Para bloquear una de esas versiones, usa [`deniedModels`](#deniedmodels). Para que cada entrada de ID de modelo permita solo la versión que nombra, usa [`availableModelsMatch`](#availablemodelsmatch). Consulta [Restringir la selección de modelos](https://code.claude.com/docs/es/model-config.md#restrict-model-selection). Para IDs de proveedores de terceros, consulta [Fijar modelos para despliegues de terceros](https://code.claude.com/docs/es/model-config.md#pin-models-for-third-party-deployments).

328 328 

329### `availableModelsMatch`329### `availableModelsMatch`

330 330 

331Elija cómo las entradas de [`availableModels`](#availablemodels) coinciden con IDs de modelos. De forma predeterminada, una entrada de ID de modelo también permite versiones posteriores que la extienden, por lo que `"claude-opus-5"` permite Opus 5.5. Con `"exact"`, cada entrada de ID de modelo permite solo la versión que nombra, por lo que una versión más nueva de ese modelo permanece bloqueada hasta que la enumere. Requiere Claude Code v2.1.283 o posterior.331Elige cómo coinciden las entradas de [`availableModels`](#availablemodels) con los IDs de modelo. De forma predeterminada, una entrada de ID de modelo también permite versiones posteriores que lo extienden, así que `"claude-opus-5"` permite Opus 5.5. Con `"exact"`, cada entrada de ID de modelo permite solo la versión que nombra, por lo que una versión más nueva de ese modelo permanece bloqueada hasta que la agregues a la lista. Requiere Claude Code v2.1.283 o posterior.

332 332 

333* **Alcance**: [`Administrado`](#scopes). Claude Code ignora la clave en configuraciones de usuario, proyecto y local y en `--settings`, con una advertencia333* **Alcance**: [`Managed`](#scopes). Claude Code ignora la clave en la configuración de usuario, de proyecto y local, y en `--settings`, con una advertencia

334* **Tipo**: cadena, uno de:334* **Tipo**: string, uno de:

335 * `"prefix"`: una entrada de ID de modelo permite su versión y cualquier ID de modelo que la extienda con otro segmento335 * `"prefix"`: una entrada de ID de modelo permite su versión y cualquier ID de modelo que la extienda con otro segmento

336 * `"exact"`: una entrada de ID de modelo permite solo la versión que nombra, por lo que `"claude-opus-5"` permite Opus 5 pero no `claude-opus-5-5`. Una entrada como `"claude-opus-4-5"` también permite su ID de modelo de Anthropic fechado `claude-opus-4-5-20251101`. Un alias de familia como `"opus"` aún permite toda la familia, y las entradas `best`, `opusplan` y `default` se ignoran336 * `"exact"`: una entrada de ID de modelo permite solo la versión que nombra, así que `"claude-opus-5"` permite Opus 5 pero no `claude-opus-5-5`. Una entrada como `"claude-opus-4-5"` también permite su ID de modelo de Anthropic con fecha `claude-opus-4-5-20251101`. Un alias de familia como `"opus"` sigue permitiendo toda la familia, y las entradas `best`, `opusplan` y `default` se ignoran

337* **Predeterminado**: `"prefix"`337* **Predeterminado**: `"prefix"`

338 338 

339Este ejemplo permite Opus 5 y Sonnet 5 y ningún lanzamiento posterior de ninguno:339Este ejemplo permite Opus 5 y Sonnet 5, y ninguna versión posterior de ninguno de los dos:

340 340 

341```json managed-settings.json theme={null}341```json managed-settings.json theme={null}

342{342{


345}345}

346```346```

347 347 

348Con `"exact"`, la opción Predeterminado también se limita a los modelos enumerados siempre que la lista nombre al menos un modelo o familia. Consulte [Bloquear modelos o versiones específicas](https://code.claude.com/docs/es/model-config.md#block-specific-models-or-versions).348Con `"exact"`, la opción Default también queda limitada a los modelos de la lista siempre que la lista nombre al menos un modelo o familia. Consulta [Bloquear modelos o versiones específicos](https://code.claude.com/docs/es/model-config.md#block-specific-models-or-versions).

349 349 

350### `deniedModels`350### `deniedModels`

351 351 

352Bloquee modelos específicos, con o sin una lista de permitidos [`availableModels`](#availablemodels) e incluso cuando esa lista los permite. Claude Code oculta un modelo bloqueado del selector `/model`, y el modelo no puede seleccionarse en ningún lugar donde se aplique `availableModels`. Una sesión en la opción Predeterminado tampoco ejecuta un modelo bloqueado, como describe [Bloquear modelos o versiones específicas](https://code.claude.com/docs/es/model-config.md#block-specific-models-or-versions). Requiere Claude Code v2.1.283 o posterior.352Bloquea modelos específicos, con o sin una lista de modelos permitidos de [`availableModels`](#availablemodels) e incluso cuando esa lista los permite. Claude Code oculta un modelo bloqueado del selector de `/model`, y el modelo no se puede seleccionar en ningún lugar donde se aplique `availableModels`. Una sesión con la opción Default tampoco ejecuta un modelo bloqueado, como se describe en [Bloquear modelos o versiones específicos](https://code.claude.com/docs/es/model-config.md#block-specific-models-or-versions). Requiere Claude Code v2.1.283 o posterior.

353 353 

354* **Alcance**: [`Administrado`](#scopes). Claude Code ignora la clave en configuraciones de usuario, proyecto y local y en `--settings`, con una advertencia354* **Alcance**: [`Managed`](#scopes). Claude Code ignora la clave en la configuración de usuario, de proyecto y local, y en `--settings`, con una advertencia

355* **Tipo**: matriz de alias o IDs de modelos355* **Tipo**: array de alias o IDs de modelo

356 * Un alias de familia como `"opus"` bloquea cada modelo en esa familia356 * Un alias de familia como `"opus"` bloquea todos los modelos de esa familia

357 * Un ID de modelo como `"claude-opus-5-5"` bloquea esa versión en cada ortografía, incluidos IDs fechados e IDs específicos del proveedor357 * Un ID de modelo como `"claude-opus-5-5"` bloquea esa versión en todas sus formas de escritura, incluidos los IDs con fecha y los específicos de proveedor

358 * Un ID de modelo sin versión menor, como `"claude-opus-5"`, también bloquea versiones menores posteriores como Opus 5.5. Escriba `"claude-opus-5-0"` para bloquear solo Opus 5358 * Un ID de modelo sin versión menor, como `"claude-opus-5"`, también bloquea versiones menores posteriores como Opus 5.5. Escribe `"claude-opus-5-0"` para bloquear solo Opus 5

359 * Las entradas `best`, `opusplan` y `default` se ignoran359 * Las entradas `best`, `opusplan` y `default` se ignoran

360* **Predeterminado**: sin establecer, por lo que ningún modelo está bloqueado360* **Predeterminado**: sin definir, por lo que no se bloquea ningún modelo

361 361 

362Este ejemplo permite modelos Opus y Sonnet y bloquea Opus 5.5:362Este ejemplo permite los modelos Opus y Sonnet y bloquea Opus 5.5:

363 363 

364```json managed-settings.json theme={null}364```json managed-settings.json theme={null}

365{365{


368}368}

369```369```

370 370 

371Consulte [Bloquear modelos o versiones específicas](https://code.claude.com/docs/es/model-config.md#block-specific-models-or-versions).371Consulta [Bloquear modelos o versiones específicos](https://code.claude.com/docs/es/model-config.md#block-specific-models-or-versions).

372 372 

373### `effortLevel`373### `effortLevel`

374 374 

375Establezca un [nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) predeterminado para modelos para los que no ha guardado un nivel. Los niveles más bajos son más rápidos y económicos en tareas sencillas, y los niveles más altos razonan más profundamente en problemas complejos.375Establece un [nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) predeterminado para los modelos en los que no has guardado un nivel. Los niveles más bajos son más rápidos y económicos en tareas sencillas, y los niveles más altos razonan con más profundidad en problemas complejos.

376 376 

377Cuando ejecuta `/effort low`, `medium`, `high` o `xhigh` en una sesión interactiva en su máquina, Claude Code guarda el nivel para el modelo activo bajo [`modelSettings`](#modelsettings) en lugar de escribir esta clave. Antes de v2.1.251, `/effort` escribía esta clave.377Cuando ejecutas `/effort low`, `medium`, `high` o `xhigh` en una sesión interactiva en tu máquina, Claude Code guarda el nivel para el modelo activo en [`modelSettings`](#modelsettings) en lugar de escribir esta clave. Antes de v2.1.251, `/effort` escribía esta clave.

378 378 

379Dentro del mismo archivo de configuración, Claude Code utiliza el nivel guardado de un modelo en lugar de esta clave. [`modelSettings`](#modelsettings) indica la precedencia entre archivos.379Dentro del mismo archivo de configuración, Claude Code usa el nivel guardado de un modelo en lugar de esta clave. [`modelSettings`](#modelsettings) indica la precedencia entre archivos.

380 380 

381En una sesión conectada a un trabajador remoto, en una ejecución `-p` y en el Agent SDK, `/effort` se aplica solo a esa sesión. [Ajustar el nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) enumera las selecciones interactivas que también se aplican solo a esa sesión. El mensaje que imprime `/effort` indica qué sucedió.381En una sesión conectada a un worker remoto, en una ejecución con `-p` y en el Agent SDK, `/effort` se aplica solo a esa sesión. [Ajustar el nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) enumera las elecciones interactivas que también se aplican solo a esa sesión. El mensaje que imprime `/effort` indica qué ocurrió.

382 382 

383* **Alcance**: [`Cualquier archivo`](#scopes)383* **Alcance**: [`Any file`](#scopes)

384* **Tipo**: cadena, uno de:384* **Tipo**: string, uno de:

385 * `"low"`: el menor razonamiento, para tareas cortas, limitadas y sensibles a la latencia que no son sensibles a la inteligencia385 * `"low"`: el menor razonamiento, para tareas cortas, acotadas y sensibles a la latencia que no dependen de la inteligencia

386 * `"medium"`: reduce el uso de tokens para trabajo sensible a costos que puede comprometer algo de inteligencia386 * `"medium"`: reduce el uso de tokens en trabajo sensible al costo que puede sacrificar algo de inteligencia

387 * `"high"`: equilibra el uso de tokens e inteligencia387 * `"high"`: equilibra el uso de tokens y la inteligencia

388 * `"xhigh"`: razonamiento más profundo con mayor gasto de tokens388 * `"xhigh"`: razonamiento más profundo con mayor gasto de tokens

389* **Predeterminado**: sin establecer389* **Predeterminado**: sin definir

390* **Anulaciones por sesión**: `--effort` tiene precedencia sobre esta clave para una sesión, y [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/es/env-vars) tiene precedencia sobre ambas390* **Sobrescrituras por sesión**: `--effort` tiene precedencia sobre esta clave durante una sesión, y [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/es/env-vars) tiene precedencia sobre ambos

391 391 

392```json settings.json theme={null}392```json settings.json theme={null}

393{393{


395}395}

396```396```

397 397 

398En su archivo de configuración de usuario, `~/.claude/settings.json`, esta clave es la forma anterior que `/effort` escribía antes de guardar niveles por modelo, y sigue aplicándose donde se aplicaba antes, en Opus 5, Fable 5.1 y modelos anteriores. Opus 5.5 y modelos lanzados después de él la ignoran y comienzan en su propio predeterminado hasta que guarde un nivel para ellos, que `/effort` escribe bajo [`modelSettings`](#modelsettings). En configuraciones de proyecto, local y administrada, y con `--settings`, esta clave se aplica a cada modelo.398En tu archivo de configuración de usuario, `~/.claude/settings.json`, esta clave es la forma anterior que `/effort` escribía antes de guardar niveles por modelo, y sigue aplicándose donde se aplicaba antes: en Opus 5, Fable 5.1 y modelos anteriores. Opus 5.5 y los modelos lanzados después lo ignoran y empiezan en su propio valor predeterminado hasta que guardes un nivel para ellos, que `/effort` escribe en [`modelSettings`](#modelsettings). En la configuración de proyecto, local y administrada, y con `--settings`, esta clave se aplica a todos los modelos.

399 399 

400### `enforceAvailableModels`400### `enforceAvailableModels`

401 401 

402El selector `/model` tiene una opción **Predeterminado**, y [`default` model setting](https://code.claude.com/docs/es/model-config#default-model-setting) describe el modelo al que se resuelve. Una lista de permitidos [`availableModels`](#availablemodels) limita los modelos que puede nombrar, pero con la [coincidencia de prefijo](#availablemodelsmatch) predeterminada no remapea el predeterminado de su tipo de cuenta, por lo que **Predeterminado** aún puede resolverse a un modelo fuera de la lista. Esta clave cierra esa brecha. Requiere Claude Code v2.1.175 o posterior.402El selector de `/model` tiene una opción **Default**, y el [ajuste de modelo `default`](https://code.claude.com/docs/es/model-config#default-model-setting) describe el modelo al que se resuelve. Una lista de modelos permitidos de [`availableModels`](#availablemodels) limita los modelos que puedes nombrar, pero con la [coincidencia por prefijo](#availablemodelsmatch) predeterminada no reasigna el modelo predeterminado de tu tipo de cuenta, así que **Default** aún puede resolverse a un modelo fuera de la lista. Esta clave cierra esa brecha. Requiere Claude Code v2.1.175 o posterior.

403 403 

404Cuando su organización implementa cualquier configuración administrada, Claude Code lee esta clave solo de la fuente administrada e la ignora en sus otros archivos.404Cuando tu organización despliega cualquier configuración administrada, Claude Code lee esta clave solo de la fuente administrada y la ignora en tus otros archivos.

405 405 

406Para saber cómo se aplica esta clave a las comprobaciones de modelo al inicio, consulta [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md#when-your-organization-enforces-a-model-allowlist) y [Agent Platform de Google Cloud](https://code.claude.com/docs/es/google-vertex-ai.md#when-your-organization-enforces-a-model-allowlist).406Para saber cómo se aplica esta clave a las comprobaciones de modelo al inicio, consulta [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md#when-your-organization-enforces-a-model-allowlist) y [Agent Platform de Google Cloud](https://code.claude.com/docs/es/google-vertex-ai.md#when-your-organization-enforces-a-model-allowlist).

407 407 

408* **Alcance**: [`Cualquier archivo`](#scopes)408* **Alcance**: [`Any file`](#scopes)

409* **Tipo**: Booleano409* **Tipo**: Boolean

410 * `true`: cuando **Predeterminado** se resolvería a un modelo fuera de `availableModels`, Claude Code lo resuelve al primer modelo disponible en la lista410 * `true`: cuando **Default** se resolvería a un modelo fuera de `availableModels`, Claude Code lo resuelve al primer modelo disponible de la lista

411 * `false`: esta clave no cambia cómo se resuelve **Predeterminado**411 * `false`: esta clave no cambia cómo se resuelve **Default**

412* **Predeterminado**: `false`412* **Predeterminado**: `false`

413 413 

414Este ejemplo restringe las selecciones nombradas a modelos Sonnet y Haiku y hace que **Predeterminado** se resuelva al primero de ellos que esté disponible:414Este ejemplo restringe las selecciones por nombre a los modelos Sonnet y Haiku, y hace que **Default** se resuelva al primero de ellos que esté disponible:

415 415 

416```json settings.json theme={null}416```json settings.json theme={null}

417{417{


420}420}

421```421```

422 422 

423Esta clave no tiene efecto cuando `availableModels` no está establecido o está vacío. Consulte [Aplicar la lista de permitidos al modelo Predeterminado](https://code.claude.com/docs/es/model-config.md#enforce-the-allowlist-for-the-default-model). Requiere Claude Code v2.1.175 o posterior.423Esta clave no tiene efecto cuando `availableModels` está sin definir o vacío. Consulta [Aplicar la lista de permitidos al modelo Default](https://code.claude.com/docs/es/model-config.md#enforce-the-allowlist-for-the-default-model). Requiere Claude Code v2.1.175 o posterior.

424 424 

425### `fallbackModel`425### `fallbackModel`

426 426 

427Nombre modelos de respaldo para que Claude Code intente, en orden, cuando su modelo principal está sobrecargado o no disponible. Claude Code cambia al siguiente modelo disponible en la cadena para el resto del turno y muestra un aviso. Sin una cadena, Claude Code reintenta el mismo modelo y luego muestra el error del servidor, y usted reintenta o cambia de modelos.427Nombra modelos de respaldo para que Claude Code los pruebe, en orden, cuando tu modelo principal esté sobrecargado o no disponible. Claude Code cambia al siguiente modelo disponible de la cadena durante el resto del turno y muestra un aviso. Sin una cadena, Claude Code reintenta el mismo modelo y luego muestra el error del servidor, y tú reintentas o cambias de modelo por tu cuenta.

428 428 

429Un cambio significa un turno con un [caché de solicitud](https://code.claude.com/docs/es/prompt-caching.md#switching-models) frío en el modelo de respaldo; su siguiente mensaje intenta el modelo principal primero nuevamente.429Un cambio implica un turno con la [caché de prompts](https://code.claude.com/docs/es/prompt-caching.md#switching-models) fría en el modelo de respaldo; tu siguiente mensaje vuelve a probar primero el modelo principal.

430 430 

431* **Alcance**: [`Cualquier archivo`](#scopes)431* **Alcance**: [`Any file`](#scopes)

432* **Tipo**: matriz de alias o IDs de modelos; `"default"` se expande al modelo predeterminado432* **Tipo**: array de alias o IDs de modelo; `"default"` se expande al modelo predeterminado

433* **Predeterminado**: sin establecer, por lo que una solicitud fallida no se reintenta en otro modelo433* **Predeterminado**: sin definir, por lo que una solicitud fallida no se reintenta en otro modelo

434* **Anulaciones por sesión**: `--fallback-model` tiene precedencia sobre esta clave para una sesión434* **Sobrescrituras por sesión**: `--fallback-model` tiene precedencia sobre esta clave durante una sesión

435 435 

436Este ejemplo intenta Sonnet 5 primero, luego Haiku 4.5, cuando su modelo principal falla:436Este ejemplo prueba primero Sonnet 5 y luego Haiku 4.5 cuando tu modelo principal falla:

437 437 

438```json settings.json theme={null}438```json settings.json theme={null}

439{439{


441}441}

442```442```

443 443 

444A diferencia de la mayoría de las configuraciones de matriz, esta clave no se fusiona entre archivos de configuración: el archivo de mayor precedencia que la define proporciona toda la cadena. Si su archivo de proyecto establece `["claude-sonnet-5"]` y su archivo de usuario establece `["claude-haiku-4-5"]`, la cadena es solo `["claude-sonnet-5"]`. Claude Code mantiene como máximo tres modelos permitidos distintos de la lista e ignora el resto. Consulte [Cadenas de modelos de respaldo](https://code.claude.com/docs/es/model-config.md#fallback-model-chains).444A diferencia de la mayoría de los ajustes de tipo array, esta clave no se combina entre archivos de configuración: el archivo de mayor precedencia que la define proporciona la cadena completa. Si tu archivo de proyecto establece `["claude-sonnet-5"]` y tu archivo de usuario establece `["claude-haiku-4-5"]`, la cadena es solo `["claude-sonnet-5"]`. Claude Code conserva como máximo tres modelos permitidos distintos de la lista e ignora el resto. Consulta [Cadenas de modelos de respaldo](https://code.claude.com/docs/es/model-config.md#fallback-model-chains).

445 445 

446### `fastMode`446### `fastMode`

447 447 

448Active el [modo rápido](https://code.claude.com/docs/es/fast-mode.md) para sesiones donde está disponible, para trabajo interactivo como iteración rápida o depuración en vivo donde desea velocidad a un costo más alto por token. Normalmente no edita esta clave manualmente: ejecutar `/fast` escribe `fastMode: true` en `~/.claude/settings.json`, y ejecutarlo nuevamente para desactivar el modo rápido elimina la clave. El modo rápido se ejecuta solo en Opus 5.5, Opus 5 y Opus 4.8: activarlo desde otro modelo lo cambia a Opus, y cambiar a un modelo no compatible lo desactiva. Consulte [Cambiar modelos mientras el modo rápido está activado](https://code.claude.com/docs/es/fast-mode.md#switch-models-while-fast-mode-is-on).448Activa el [modo rápido](https://code.claude.com/docs/es/fast-mode.md) en las sesiones donde esté disponible, para trabajo interactivo como iteración rápida o depuración en vivo, donde quieres velocidad a un costo mayor por token. Normalmente no editas esta clave a mano: ejecutar `/fast` escribe `fastMode: true` en `~/.claude/settings.json`, y volver a ejecutarlo para desactivar el modo rápido elimina la clave. El modo rápido solo funciona en Opus 5.5, Opus 5 y Opus 4.8: activarlo desde otro modelo te cambia a Opus, y cambiar a un modelo no compatible lo desactiva. Consulta [Cambiar de modelo mientras el modo rápido está activado](https://code.claude.com/docs/es/fast-mode.md#switch-models-while-fast-mode-is-on).

449 449 

450* **Alcance**: [`Cualquier archivo`](#scopes)450* **Alcance**: [`Any file`](#scopes)

451* **Tipo**: Booleano451* **Tipo**: Boolean

452 * `true`: Claude Code activa el modo rápido para sesiones donde está disponible452 * `true`: Claude Code activa el modo rápido en las sesiones donde esté disponible

453 * `false`: el modo rápido permanece desactivado453 * `false`: el modo rápido permanece desactivado

454* **Predeterminado**: sin establecer, por lo que el modo rápido está desactivado454* **Predeterminado**: sin definir, por lo que el modo rápido está desactivado

455* **Anulaciones por sesión**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/es/env-vars) desactiva el modo rápido para una sesión, y esta clave no puede reactivarlo455* **Sobrescrituras por sesión**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/es/env-vars) desactiva el modo rápido durante una sesión, y esta clave no puede volver a activarlo

456 456 

457```json settings.json theme={null}457```json settings.json theme={null}

458{458{


462 462 

463### `fastModePerSessionOptIn`463### `fastModePerSessionOptIn`

464 464 

465Normalmente, ejecutar `/fast` guarda [`fastMode`](#fastmode) en la configuración de usuario de una persona, por lo que el modo rápido está activado al inicio de cada sesión posterior. Establezca esta clave en `true` para detener eso: un `fastMode: true` guardado ya no activa el modo rápido al inicio de la sesión, y cada persona debe ejecutar `/fast` en cada sesión que lo desee. Claude Code deja la clave `fastMode` en su archivo, por lo que desactivar esta clave restaura el comportamiento anterior.465Normalmente, ejecutar `/fast` guarda [`fastMode`](#fastmode) en la configuración de usuario de una persona, así que el modo rápido queda activado al inicio de cada sesión posterior. Establece esta clave en `true` para evitarlo: un `fastMode: true` guardado ya no activa el modo rápido al iniciar la sesión, y cada persona tiene que ejecutar `/fast` en cada sesión en la que lo quiera. Claude Code deja la clave `fastMode` en su archivo, así que desactivar esta clave restaura el comportamiento anterior.

466 466 

467Los propietarios en planes Team o Enterprise pueden implementarlo en toda la organización a través de [configuraciones administradas por el servidor](https://code.claude.com/docs/es/server-managed-settings.md). Cuando las configuraciones administradas establecen la clave, `/fast on` se rechaza fuera de sesiones de terminal interactivas e informa que su organización ha desactivado el modo rápido. Eso cubre [modo no interactivo](https://code.claude.com/docs/es/headless.md), la [extensión VS Code](https://code.claude.com/docs/es/vs-code.md) y [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md).467Los propietarios de los planes Team o Enterprise pueden desplegarla en toda la organización mediante la [configuración administrada por el servidor](https://code.claude.com/docs/es/server-managed-settings.md). Cuando la configuración administrada establece la clave, `/fast on` se rechaza fuera de las sesiones interactivas de terminal e informa que tu organización ha desactivado el modo rápido. Eso abarca el [modo no interactivo](https://code.claude.com/docs/es/headless.md), la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) y las [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md).

468 468 

469* **Alcance**: [`Cualquier archivo`](#scopes)469* **Alcance**: [`Any file`](#scopes)

470* **Tipo**: Booleano470* **Tipo**: Boolean

471 * `true`: un `fastMode: true` guardado ya no activa el modo rápido al inicio de la sesión, por lo que cada persona ejecuta `/fast` en cada sesión que lo desee; un `fastMode: true` pasado con `--settings` aún cuenta para esa sesión a menos que las configuraciones administradas establezcan esta clave471 * `true`: un `fastMode: true` guardado ya no activa el modo rápido al iniciar la sesión, así que cada persona ejecuta `/fast` en cada sesión en la que lo quiera; un `fastMode: true` pasado con `--settings` sigue contando para esa sesión, a menos que la configuración administrada establezca esta clave

472 * `false`: un `fastMode: true` guardado activa el modo rápido al inicio de cada sesión posterior472 * `false`: un `fastMode: true` guardado activa el modo rápido al inicio de cada sesión posterior

473* **Predeterminado**: `false`473* **Predeterminado**: `false`

474 474 


478}478}

479```479```

480 480 

481Consulte [Requerir opción de participación por sesión](https://code.claude.com/docs/es/fast-mode.md#require-per-session-opt-in).481Consulta [Requerir activación por sesión](https://code.claude.com/docs/es/fast-mode.md#require-per-session-opt-in).

482 482 

483### `language`483### `language`

484 484 

485Haga que Claude responda en un idioma distinto del inglés de forma predeterminada. No hay una lista fija para respuestas: Claude Code agrega el valor textualmente a Claude como una instrucción para responder siempre en ese idioma, por lo que cualquier nombre de idioma que Claude pueda leer funciona. Claude Code no valida el valor, por lo que un nombre mal escrito llega a Claude tal como está escrito en lugar de producir un error. El mismo valor establece el idioma para [dictado de voz](https://code.claude.com/docs/es/voice-dictation.md#change-the-dictation-language), que tiene una lista fija de [idiomas de dictado admitidos](https://code.claude.com/docs/es/voice-dictation.md#change-the-dictation-language), y para títulos de sesión generados automáticamente.485Haz que Claude responda de forma predeterminada en un idioma distinto del inglés. No hay una lista fija para las respuestas: Claude Code pasa el valor tal cual a Claude como instrucción para que responda siempre en ese idioma, así que funciona cualquier nombre de idioma que Claude pueda leer. Claude Code no comprueba el valor, por lo que un nombre mal escrito llega a Claude tal como está escrito en lugar de producir un error. El mismo valor establece el idioma del [dictado por voz](https://code.claude.com/docs/es/voice-dictation.md#change-the-dictation-language), que sí tiene una lista fija de [idiomas de dictado admitidos](https://code.claude.com/docs/es/voice-dictation.md#change-the-dictation-language), y de los títulos de sesión generados automáticamente.

486 486 

487* **Alcance**: [`Cualquier archivo`](#scopes)487* **Alcance**: [`Any file`](#scopes)

488* **Tipo**: cadena, cualquier nombre de idioma, como `"japanese"`, `"spanish"` o `"french"`; Claude Code no lo valida488* **Tipo**: string, cualquier nombre de idioma, como `"japanese"`, `"spanish"` o `"french"`; Claude Code no lo valida

489* **Predeterminado**: sin establecer; los títulos de sesión coinciden con el idioma de su conversación489* **Predeterminado**: sin definir; en ese caso, los títulos de sesión coinciden con el idioma de tu conversación

490 490 

491```json settings.json theme={null}491```json settings.json theme={null}

492{492{


496 496 

497### `maxEffortLevel`497### `maxEffortLevel`

498 498 

499Limite el [nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) que una sesión puede usar, dejando disponibles niveles más bajos. Cualquier nivel más alto se ejecuta en el límite en su lugar, incluido uno de `/effort`, el selector `/model`, `--effort`, [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/es/env-vars), el frontmatter `effort` de una skill o subagente, o el predeterminado del modelo. Claude Code aplica el límite a sí mismo antes de cada solicitud, por lo que se mantiene en cada proveedor, incluidos Amazon Bedrock, la Plataforma de Agentes de Google Cloud y Microsoft Foundry. Requiere Claude Code v2.1.267 o posterior.499Limita el [nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) que puede usar una sesión, dejando disponibles los niveles inferiores. Cualquier nivel superior se ejecuta en el límite, incluido uno proveniente de `/effort`, el selector de `/model`, `--effort`, [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/es/env-vars), el frontmatter `effort` de un skill o subagente, o el valor predeterminado del propio modelo. Claude Code aplica el límite por sí mismo antes de cada solicitud, así que se mantiene en todos los proveedores, incluidos Amazon Bedrock, Agent Platform de Google Cloud y Microsoft Foundry. Requiere Claude Code v2.1.267 o posterior.

500 500 

501* **Alcance**: [`Cualquier archivo`](#scopes). Impleméntelo en configuraciones administradas para aplicarlo a una organización. Cuando varios alcances establecen un límite, se aplica el más bajo, por lo que un límite establecido en un alcance no puede elevarse desde otro501* **Alcance**: [`Any file`](#scopes). Despliégalo en la configuración administrada para aplicarlo en toda una organización. Cuando varios alcances establecen un límite, se aplica el más bajo, así que un límite establecido en un alcance no se puede elevar desde otro

502* **Tipo**: cadena, uno de `"low"`, `"medium"`, `"high"`, `"xhigh"` o `"max"`. Un valor `"max"` no establece límite502* **Tipo**: string, uno de `"low"`, `"medium"`, `"high"`, `"xhigh"` o `"max"`. Un valor `"max"` no establece ningún límite

503* **Predeterminado**: sin establecer, por lo que no se aplica límite503* **Predeterminado**: sin definir, por lo que no se aplica ningún límite

504* **Límites por modelo**: agregue `maxEffortLevel` a la entrada [`modelSettings`](#modelsettings) de un modelo. Esa entrada reemplaza esta clave solo para el modelo dentro de la fuente de configuración que establece ambas, como su configuración de usuario o una [fuente administrada](https://code.claude.com/docs/es/managed-settings.md#how-claude-code-combines-managed-sources). Establezca `"max"` allí para eximir el modelo del límite de esa fuente; Claude Code aún aplica límites de otras fuentes504* **Límites por modelo**: agrega `maxEffortLevel` a la entrada de un modelo en [`modelSettings`](#modelsettings). Esa entrada sustituye a esta clave para el modelo solo dentro de la fuente de configuración que establece ambas, como tu configuración de usuario o una [fuente administrada](https://code.claude.com/docs/es/managed-settings.md#how-claude-code-combines-managed-sources). Establece `"max"` ahí para eximir al modelo del límite de esa fuente; Claude Code sigue aplicando los límites de otras fuentes

505 505 

506Este ejemplo limita cada modelo a `medium` y exime a Sonnet 4.6:506Este ejemplo limita todos los modelos a `medium` y exime a Sonnet 4.6:

507 507 

508```json settings.json theme={null}508```json settings.json theme={null}

509{509{


516}516}

517```517```

518 518 

519Cuando su organización también establece un [límite de esfuerzo](https://code.claude.com/docs/es/model-config.md#organization-effort-limits) para un modelo, se aplica el límite más bajo de los dos.519Cuando tu organización también establece un [límite de esfuerzo](https://code.claude.com/docs/es/model-config.md#organization-effort-limits) para un modelo, se aplica el menor de los dos límites.

520 520 

521### `model`521### `model`

522 522 

523Establezca el modelo que cada nueva sesión utiliza, para que no tenga que elegir uno con `/model` cada vez. Establecerlo aquí no le impide cambiar de modelo a mitad de sesión. Si su administrador estableció un [modelo predeterminado de la organización](https://code.claude.com/docs/es/model-config.md#organization-default-model) para anular la selección del usuario, obtiene ese modelo incluso cuando establece esta clave en configuraciones de usuario, proyecto o local.523Establece el modelo que usa cada nueva sesión, para que no tengas que elegir uno con `/model` cada vez. Establecerlo aquí no te impide cambiar a mitad de sesión. Si tu administrador estableció un [modelo predeterminado de la organización](https://code.claude.com/docs/es/model-config.md#organization-default-model) para sobrescribir la selección del usuario, obtienes ese modelo incluso cuando estableces esta clave en la configuración de usuario, de proyecto o local.

524 524 

525* **Alcance**: [`Cualquier archivo`](#scopes)525* **Alcance**: [`Any file`](#scopes)

526* **Tipo**: cadena, un alias de modelo o ID de modelo completo526* **Tipo**: string, un alias de modelo o un ID de modelo completo

527* **Predeterminado**: sin establecer, por lo que Claude Code utiliza el modelo predeterminado de su cuenta527* **Predeterminado**: sin definir, por lo que Claude Code usa el modelo predeterminado de tu cuenta

528* **Anulaciones por sesión**: `--model` tiene precedencia sobre [`ANTHROPIC_MODEL`](https://code.claude.com/docs/es/env-vars), y ambas tienen precedencia sobre esta clave para una sesión, incluida una `model` administrada; una lista [`availableModels`](#availablemodels) aún se aplica a la selección528* **Sobrescrituras por sesión**: `--model` tiene precedencia sobre [`ANTHROPIC_MODEL`](https://code.claude.com/docs/es/env-vars), y ambos tienen precedencia sobre esta clave durante una sesión, incluso sobre un `model` administrado; una lista de [`availableModels`](#availablemodels) sigue aplicándose a la elección

529 529 

530```json settings.json theme={null}530```json settings.json theme={null}

531{531{


533}533}

534```534```

535 535 

536Un valor aquí supera [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/es/model-config#set-a-default-model-for-new-sessions), que Claude Code utiliza solo cuando nada más selecciona un modelo.536Un valor aquí tiene prioridad sobre [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/es/model-config#set-a-default-model-for-new-sessions), que Claude Code usa solo cuando nada más selecciona un modelo.

537 537 

538### `modelOverrides`538### `modelOverrides`

539 539 

540Asigne IDs de modelos de Anthropic a IDs de modelos específicos del proveedor, como ARNs de perfil de inferencia de Amazon Bedrock. Cada entrada del selector de modelos utiliza su valor asignado al llamar a la API del proveedor. Los administradores utilizan esto en [Amazon Bedrock, la Plataforma de Agentes de Google Cloud y Microsoft Foundry](https://code.claude.com/docs/es/model-config.md#override-model-ids-per-version) para enrutar cada versión de modelo a un perfil de inferencia específico, nombre de versión o implementación para gobernanza, asignación de costos o enrutamiento regional.540Asigna IDs de modelo de Anthropic a IDs de modelo específicos del proveedor, como los ARN de perfiles de inferencia de Amazon Bedrock. Cada entrada del selector de modelos usa entonces su valor asignado al llamar a la API del proveedor. Los administradores usan esto en [Amazon Bedrock, Agent Platform de Google Cloud y Microsoft Foundry](https://code.claude.com/docs/es/model-config.md#override-model-ids-per-version) para dirigir cada versión de modelo a un perfil de inferencia, nombre de versión o despliegue específico, por motivos de gobernanza, asignación de costos o enrutamiento regional.

541 541 

542* **Alcance**: [`Cualquier archivo`](#scopes)542* **Alcance**: [`Any file`](#scopes)

543* **Tipo**: objeto que asigna ID de modelo a ID de modelo del proveedor543* **Tipo**: objeto que asigna un ID de modelo a un ID de modelo del proveedor

544* **Predeterminado**: sin establecer544* **Predeterminado**: sin definir

545 545 

546Este ejemplo enruta cada llamada para Opus 4.6 al perfil de inferencia de Bedrock nombrado:546Este ejemplo dirige todas las llamadas a Opus 4.6 al perfil de inferencia de Bedrock indicado:

547 547 

548```json settings.json theme={null}548```json settings.json theme={null}

549{549{


553}553}

554```554```

555 555 

556Consulte [Anular IDs de modelos por versión](https://code.claude.com/docs/es/model-config.md#override-model-ids-per-version).556Consulta [Sobrescribir IDs de modelo por versión](https://code.claude.com/docs/es/model-config.md#override-model-ids-per-version).

557 557 

558### `modelPicker`558### `modelPicker`

559 559 

560Enumere los modelos que el selector `/model` ofrece, en el orden que escriba y bajo etiquetas que elija, para que el selector enumere los modelos que su organización ejecuta, después de la alineación integrada o en su lugar. El `model` de cada fila se toma textualmente, por lo que acepta cualquier cosa que `--model` acepte: un alias como `opus`, un ID de modelo de Anthropic, o un ID de formato de proveedor para Amazon Bedrock, la Plataforma de Agentes de Google Cloud, Microsoft Foundry, o una puerta de enlace LLM. Requiere Claude Code v2.1.242 o posterior.560Enumera los modelos que ofrece el selector de `/model`, en el orden en que los escribas y con las etiquetas que elijas, para que el selector muestre los modelos que ejecuta tu organización, después de la lista integrada o en lugar de ella. El `model` de cada fila se toma tal cual, así que acepta cualquier cosa que acepte `--model`: un alias como `opus`, un ID de modelo de Anthropic o un ID en formato de proveedor para Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry o un gateway de LLM. Requiere Claude Code v2.1.242 o posterior.

561 561 

562* **Alcance**: [`Usuario o administrado`](#scopes). Claude Code lee la clave de configuraciones administradas, `--settings` y configuraciones de usuario, e la ignora en configuraciones de proyecto y local para que un repositorio que clone no pueda reetiquetear el selector. El más alto de esos tres que establece la clave proporciona toda la alineación, y Claude Code nunca combina alineaciones de dos fuentes.562* **Alcance**: [`User or managed`](#scopes). Claude Code lee la clave de la configuración administrada, de `--settings` y de la configuración de usuario, y la ignora en la configuración de proyecto y local para que un repositorio que clones no pueda cambiar las etiquetas del selector. La de mayor precedencia de esas tres que establezca la clave proporciona la lista completa, y Claude Code nunca combina listas de dos fuentes.

563* **Tipo**: objeto con una matriz `options` de filas y un Booleano `replaceBuiltInOptions` opcional563* **Tipo**: objeto con un array `options` de filas y un Boolean opcional `replaceBuiltInOptions`

564* **Predeterminado**: sin establecer, por lo que el selector muestra la alineación integrada564* **Predeterminado**: sin definir, por lo que el selector muestra la lista integrada

565 565 

566Este ejemplo agrega dos implementaciones de Bedrock después de la alineación integrada, bajo nombres que su equipo reconoce:566Este ejemplo agrega dos despliegues de Bedrock después de la lista integrada, con nombres que tu equipo reconoce:

567 567 

568```json managed-settings.json theme={null}568```json managed-settings.json theme={null}

569{569{


580}580}

581```581```

582 582 

583#### Campos para `modelPicker`583#### Campos de `modelPicker`

584 584 

585La clave toma dos campos, uno para las filas en sí y otro para si reemplazan la alineación integrada o se agregan a ella.585La clave admite dos campos: uno para las filas en sí y otro para indicar si reemplazan la lista integrada o se agregan a ella.

586 586 

587| Campo | Tipo | Qué hace |587| Campo | Tipo | Qué hace |

588| :- | :- | :- |588| :- | :- | :- |

589| `options` | matriz de filas, cada una con un `model` requerido y un `label`, `description` y `behavesAs` opcionales | Las filas que muestra el selector, en este orden, excepto que una fila atenuada se mueve al final. Sin un `label`, Claude Code titula la fila con el nombre integrado para un modelo que conoce, o el ID del modelo de lo contrario, y sin una `description` escribe una segunda línea genérica |589| `options` | array de filas, cada una con un `model` obligatorio y `label`, `description` y `behavesAs` opcionales | Las filas que muestra el selector, en este orden, excepto que una fila atenuada pasa al final. Sin un `label`, Claude Code titula la fila con el nombre integrado de un modelo que conoce, o con el ID del modelo en caso contrario, y sin una `description` escribe una segunda línea genérica |

590| `replaceBuiltInOptions` | Booleano, predeterminado `false` | Establézcalo en `true` para mostrar solo estas filas, **Predeterminado** y una fila para el modelo que la sesión ya está usando. Déjelo sin establecer para agregar estas filas después de la alineación integrada |590| `replaceBuiltInOptions` | Boolean, predeterminado `false` | Establécelo en `true` para mostrar solo estas filas, **Default** y una fila para el modelo que la sesión ya está usando. Déjalo sin definir para agregar estas filas después de la lista integrada |

591 591 

592Una entrada en `options` también puede llevar una cadena `behavesAs` opcional junto a su `model`, que requiere v2.1.257 o posterior. Establézcala al ID de un modelo que su versión de Claude Code ya conoce, como `claude-opus-4-8`, en una entrada cuyo `model` es más nuevo que su versión. Claude Code entonces aplica las capacidades y valores predeterminados de esfuerzo de ese modelo conocido a la entrada en lugar de tratar su modelo como desconocido. La etiqueta de la entrada y el ID del modelo que Claude Code envía en solicitudes no cambian.592Una entrada de `options` también puede llevar una string opcional `behavesAs` junto a su `model`, lo que requiere v2.1.257 o posterior. Establécela en el ID de un modelo que tu versión de Claude Code ya conozca, como `claude-opus-4-8`, en una entrada cuyo `model` sea más reciente que tu versión. Claude Code aplica entonces las capacidades y los valores predeterminados de esfuerzo de ese modelo conocido a la entrada, en lugar de tratar su modelo como desconocido. La etiqueta de la entrada y el ID de modelo que Claude Code envía en las solicitudes no cambian.

593 593 

594Con `replaceBuiltInOptions` activado, Claude Code oculta todas las demás filas: la alineación integrada, las filas que agrega para entradas [`availableModels`](#availablemodels), los modelos que [descubrimiento de puerta de enlace](https://code.claude.com/docs/es/llm-gateway-protocol.md#model-discovery) encontró, y [`ANTHROPIC_CUSTOM_MODEL_OPTION`](https://code.claude.com/docs/es/model-config#add-a-custom-model-option). Con él desactivado, Claude Code omite un modelo listado que la alineación integrada ya cubre. Una etiqueta cambia lo que muestra el selector, no qué modelo ejecuta Claude Code.594Con `replaceBuiltInOptions` activado, Claude Code oculta todas las demás filas: la lista integrada, las filas que agrega para las entradas de [`availableModels`](#availablemodels), los modelos que encontró el [descubrimiento del gateway](https://code.claude.com/docs/es/llm-gateway-protocol.md#model-discovery) y [`ANTHROPIC_CUSTOM_MODEL_OPTION`](https://code.claude.com/docs/es/model-config#add-a-custom-model-option). Con él desactivado, Claude Code omite un modelo de la lista que la lista integrada ya cubre. Una etiqueta cambia lo que muestra el selector, no qué modelo ejecuta Claude Code.

595 595 

596Una lista de permitidos [`availableModels`](#availablemodels) aún se aplica a estas filas. Antes de agregar un modelo listado a la lista de permitidos, lea [Comportamiento de fusión](https://code.claude.com/docs/es/model-config.md#merge-behavior): un ID de modelo específico reduce la entrada comodín de su familia. Claude Code también verifica cada fila contra la sesión antes de mostrar el selector:596Una lista de modelos permitidos de [`availableModels`](#availablemodels) sigue aplicándose a estas filas. Antes de agregar un modelo de la lista a la lista de permitidos, lee [Comportamiento de combinación](https://code.claude.com/docs/es/model-config.md#merge-behavior): un ID de modelo específico restringe la entrada comodín de su familia. Claude Code también comprueba cada fila con respecto a la sesión antes de mostrar el selector:

597 597 

598* **Descartada**: una fila que Claude Code no puede servir, como un modelo retirado o un modelo al que su organización no tiene acceso598* **Descartada**: una fila que Claude Code no puede atender, como un modelo retirado o un modelo al que tu organización no tiene acceso

599* **Atenuada**: una fila que no puede seleccionar aún, mostrada con la razón599* **Atenuada**: una fila que aún no puedes seleccionar, que se muestra con el motivo

600* **Ninguna fila sobrevive**: Claude Code mantiene la alineación integrada, filtrada por la lista de permitidos como de costumbre600* **No sobrevive ninguna fila**: Claude Code mantiene la lista integrada, filtrada por la lista de permitidos como de costumbre

601 601 

602Claude Code descarta una fila que no puede analizar y mantiene el resto. Consulte [Reparar un archivo de configuración roto](https://code.claude.com/docs/es/settings.md#fix-a-broken-settings-file).602Claude Code descarta una fila que no puede analizar y conserva el resto. Consulta [Corregir un archivo de configuración dañado](https://code.claude.com/docs/es/settings.md#fix-a-broken-settings-file).

603 603 

604### `modelPricing`604### `modelPricing`

605 605 

606Informe el gasto a las tasas que su organización paga en lugar del precio de lista. Establézcalo cuando su organización tenga tasas contratadas, para que las cifras en dólares que ven los desarrolladores coincidan con su factura. Claude Code aplica las tasas en `/usage`, la [línea de estado](https://code.claude.com/docs/es/statusline.md), el `total_cost_usd` del Agent SDK, el límite [`--max-budget-usd`](https://code.claude.com/docs/es/cli-reference) y la métrica de costo de [OpenTelemetry](https://code.claude.com/docs/es/monitoring-usage.md) y eventos. Usted proporciona las tasas: Claude Code no las lee de su contrato o la Consola de Claude. Requiere Claude Code v2.1.242 o posterior.606Informa el gasto según las tarifas que paga tu organización en lugar del precio de lista. Establécelo cuando tu organización tenga tarifas contratadas, para que las cifras en dólares que ven los desarrolladores coincidan con tu factura. Claude Code aplica las tarifas en `/usage`, la [línea de estado](https://code.claude.com/docs/es/statusline.md), el `total_cost_usd` del Agent SDK, el límite de [`--max-budget-usd`](https://code.claude.com/docs/es/cli-reference) y la métrica y los eventos de costo de [OpenTelemetry](https://code.claude.com/docs/es/monitoring-usage.md). Tú proporcionas las tarifas: Claude Code no las lee de tu contrato ni de la Claude Console. Requiere Claude Code v2.1.242 o posterior.

607 607 

608* **Alcance**: [`Administrado`](#scopes). Implemente la clave a través de configuraciones administradas por el servidor, una política MDM, un archivo `managed-settings.json` o un [asistente de política](https://code.claude.com/docs/es/managed-settings.md#compute-the-policy-with-a-helper-program). Claude Code la ignora en configuraciones de usuario, proyecto y local, en `--settings` y en Windows en el [registro HKCU](https://code.claude.com/docs/es/managed-settings.md#where-each-mechanism-stores-the-policy) escribible por el usuario. Con configuraciones administradas por el servidor, cada sesión informa costos al precio de lista hasta que la [búsqueda de configuración](https://code.claude.com/docs/es/server-managed-settings.md#fetch-and-caching-behavior) de esa sesión haya confirmado la configuración. Una aplicación host que incrusta Claude Code y establece [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/es/env-vars) puede proporcionar una tabla propia a través de la opción [`managedSettings`](https://code.claude.com/docs/es/agent-sdk/typescript#options) del SDK, que Claude Code utiliza solo cuando ninguna fuente administrada establece la clave y solo en Claude Code v2.1.246 o posterior.608* **Alcance**: [`Managed`](#scopes). Despliega la clave mediante la configuración administrada por el servidor, una política de MDM, un archivo `managed-settings.json` o un [programa auxiliar de políticas](https://code.claude.com/docs/es/managed-settings.md#compute-the-policy-with-a-helper-program). Claude Code la ignora en la configuración de usuario, de proyecto y local, en `--settings` y, en Windows, en el [registro HKCU](https://code.claude.com/docs/es/managed-settings.md#where-each-mechanism-stores-the-policy) en el que el usuario puede escribir. Con la configuración administrada por el servidor, cada sesión informa los costos a precio de lista hasta que la [obtención de la configuración](https://code.claude.com/docs/es/server-managed-settings.md#fetch-and-caching-behavior) de esa sesión haya confirmado el ajuste. Una aplicación host que integra Claude Code y establece [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/es/env-vars) puede proporcionar una tabla propia mediante la opción [`managedSettings`](https://code.claude.com/docs/es/agent-sdk/typescript#options) del SDK, que Claude Code usa solo cuando ninguna fuente administrada establece la clave y solo en Claude Code v2.1.246 o posterior.

609* **Tipo**: objeto con un `multiplier` opcional y un mapa `overrides` opcional609* **Tipo**: objeto con un `multiplier` opcional y un mapa `overrides` opcional

610* **Predeterminado**: sin establecer, por lo que Claude Code informa el precio de lista a menos que una aplicación host proporcione una tabla610* **Predeterminado**: sin definir, por lo que Claude Code informa el precio de lista a menos que una aplicación host proporcione una tabla

611 611 

612Establezca `multiplier` solo para un descuento plano o marcado, `overrides` solo para tasas por modelo, o ambos.612Establece solo `multiplier` para un descuento o recargo fijo, solo `overrides` para tarifas por modelo, o ambos.

613 613 

614Este ejemplo establece tasas contratadas para Sonnet 4.6 y luego reduce cada cifra, la fila Sonnet incluida, en un 15%:614Este ejemplo establece tarifas contratadas para Sonnet 4.6 y luego reduce todas las cifras, incluida la fila de Sonnet, en un 15%:

615 615 

616```json managed-settings.json theme={null}616```json managed-settings.json theme={null}

617{617{


629}629}

630```630```

631 631 

632Establezca `multiplier` por encima de 1, hasta 10, para marcar cada cifra. Un marcado requiere Claude Code v2.1.271 o posterior. Las versiones anteriores ignoran un `multiplier` por encima de 1 con una advertencia y mantienen el resto de la configuración.632Establece `multiplier` por encima de 1, hasta 10, para aplicar un recargo a todas las cifras. Un recargo requiere Claude Code v2.1.271 o posterior. Las versiones anteriores ignoran un `multiplier` superior a 1 con una advertencia y conservan el resto del ajuste.

633 633 

634Para los pasos, incluida la forma de confirmar que las tasas están en vigor, consulte [Informar el gasto a sus tasas contratadas](https://code.claude.com/docs/es/costs.md#report-spend-at-your-contracted-rates).634Para ver los pasos, incluido cómo confirmar que las tarifas están en vigor, consulta [Informar el gasto según tus tarifas contratadas](https://code.claude.com/docs/es/costs.md#report-spend-at-your-contracted-rates).

635 635 

636#### Campos para `modelPricing`636#### Campos de `modelPricing`

637 637 

638| Campo | Tipo | Qué hace |638| Campo | Tipo | Qué hace |

639| :- | :- | :- |639| :- | :- | :- |

640| `multiplier` | número mayor que 0 y como máximo 10 | Escala cada costo que Claude Code calcula, independientemente de si una fila `overrides` la cubre. Por debajo de 1 es un descuento, por encima de 1 un marcado |640| `multiplier` | número mayor que 0 y como máximo 10 | Escala todos los costos que calcula Claude Code, los cubra o no una fila de `overrides`. Por debajo de 1 es un descuento; por encima de 1, un recargo |

641| `overrides` | mapa de ID de modelo a un objeto de tasa con `input`, `output`, `cacheRead` y `cacheWrite`, cada uno de 0 a 10000 | Las tasas USD por millón de tokens para ese modelo, las cuatro requeridas. `cacheWrite` cubre tanto escrituras de caché de cinco minutos como de una hora. Consulte [Qué modelos se aplica una fila de modelPricing](#which-models-a-modelpricing-row-applies-to) |641| `overrides` | mapa de ID de modelo a un objeto de tarifas con `input`, `output`, `cacheRead` y `cacheWrite`, cada uno de 0 a 10000 | Las tarifas en USD por millón de tokens para ese modelo, las cuatro obligatorias. `cacheWrite` cubre tanto las escrituras en caché de cinco minutos como las de una hora. Consulta [A qué modelos se aplica una fila](#which-models-a-modelpricing-row-applies-to) |

642 642 

643Claude Code utiliza las tasas de una fila exactamente como las escribió, sin agregar el recargo de modo rápido o la [tasa de inferencia solo para EE.UU.](https://platform.claude.com/docs/en/about-claude/pricing). Si también establece `multiplier`, Claude Code la aplica además de las tasas de la fila. Claude Code descarta una fila con una tasa que no puede analizar, o un `multiplier` que no puede analizar, y mantiene el resto; consulte [Reparar un archivo de configuración roto](https://code.claude.com/docs/es/settings.md#fix-a-broken-settings-file).643Claude Code usa las tarifas de una fila exactamente como las escribiste, sin agregar el recargo del modo rápido ni la [tarifa de inferencia solo en EE. UU.](https://platform.claude.com/docs/en/about-claude/pricing). Si también estableces `multiplier`, Claude Code lo aplica sobre las tarifas de la fila. Claude Code descarta una fila con una tarifa que no puede analizar, o un `multiplier` que no puede analizar, y conserva el resto; consulta [Corregir un archivo de configuración dañado](https://code.claude.com/docs/es/settings.md#fix-a-broken-settings-file).

644 644 

645#### Qué modelos se aplica una fila de `modelPricing`645#### A qué modelos se aplica una fila de `modelPricing`

646 646 

647Claude Code decide a qué modelos se aplica una fila desde la clave de la fila:647Claude Code decide a qué modelos se aplica una fila a partir de la clave de la fila:

648 648 

649* **ID de un modelo integrado**: una clave que Claude Code utiliza para un modelo integrado, ya sea que esa clave sea el ID del modelo, como `claude-sonnet-4-6`, o su ID de Bedrock, Plataforma de Agentes o Foundry. Claude Code aplica la fila a cada ID de instantánea fechada e ID específico del proveedor de ese modelo.649* **El ID de un modelo integrado**: una clave que el propio Claude Code usa para un modelo integrado, ya sea el ID propio del modelo, como `claude-sonnet-4-6`, o su ID de Bedrock, Agent Platform o Foundry. Claude Code aplica la fila a todos los IDs de snapshot con fecha y a todos los IDs específicos de proveedor de ese modelo.

650* **Cualquier otra clave**: una clave que no es el ID de un modelo integrado, como un alias de modelo de puerta de enlace. Claude Code aplica la fila solo a ese ID. Cuando un ID de modelo coincide exactamente con una de sus claves y también cae bajo una fila codificada por un ID de modelo integrado, Claude Code utiliza la coincidencia exacta.650* **Cualquier otra clave**: una clave que no es el ID de un modelo integrado, como un alias de modelo de un gateway. Claude Code aplica la fila solo a ese ID. Cuando un ID de modelo coincide exactamente con una de tus claves y además queda comprendido en una fila cuya clave es el ID de un modelo integrado, Claude Code usa la coincidencia exacta.

651* **Un perfil de inferencia de aplicación de Bedrock**: una vez que Claude Code ha resuelto el perfil al modelo al que enruta, a través de su mapa [`modelOverrides`](#modeloverrides) o la búsqueda [`bedrock:GetInferenceProfile`](https://code.claude.com/docs/es/amazon-bedrock#iam-configuration), Claude Code aplica la fila de ese modelo al perfil.651* **Un perfil de inferencia de aplicación de Bedrock**: una vez que Claude Code ha resuelto el perfil al modelo al que enruta, mediante tu mapa de [`modelOverrides`](#modeloverrides) o la [consulta `bedrock:GetInferenceProfile`](https://code.claude.com/docs/es/amazon-bedrock#iam-configuration), Claude Code aplica la fila de ese modelo al perfil.

652 652 

653### `modelSettings`653### `modelSettings`

654 654 

655Guarde un [nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) para cada modelo que utilice. Requiere Claude Code v2.1.251 o posterior.655Guarda un [nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) para cada modelo que uses. Requiere Claude Code v2.1.251 o posterior.

656 656 

657En una sesión interactiva en su máquina, cuando guarda `low`, `medium`, `high` o `xhigh` como su predeterminado con `/effort` o el control deslizante de esfuerzo del selector `/model`, Claude Code escribe ese nivel aquí bajo el modelo que está utilizando, por lo que rara vez edita esta clave usted mismo. Cuando elige uno de esos niveles en el [selector de modelos de la extensión VS Code](https://code.claude.com/docs/es/vs-code.md#use-the-prompt-box), Claude Code lo guarda aquí de la misma manera. La entrada [`effortLevel`](#effortlevel) enumera las sesiones donde `/effort` se aplica solo a esa sesión.657En una sesión interactiva en tu máquina, cuando guardas `low`, `medium`, `high` o `xhigh` como tu valor predeterminado con `/effort` o con el control deslizante de esfuerzo del selector de `/model`, Claude Code escribe ese nivel aquí bajo el modelo que estás usando, así que rara vez editas esta clave tú mismo. Cuando eliges uno de esos niveles en el [selector de modelos de la extensión de VS Code](https://code.claude.com/docs/es/vs-code.md#use-the-prompt-box), Claude Code lo guarda aquí de la misma manera. La entrada de [`effortLevel`](#effortlevel) enumera las sesiones en las que `/effort` se aplica solo a esa sesión.

658 658 

659Edite la clave manualmente para cambiar o eliminar un nivel que guardó.659Edita la clave a mano para cambiar o eliminar un nivel que guardaste.

660 660 

661Un `effortLevel` de un modelo aquí tiene precedencia sobre el [`effortLevel`](#effortlevel) de nivel superior en el mismo archivo de configuración. Entre archivos, Claude Code resuelve cada modelo por separado: el [archivo de configuración](https://code.claude.com/docs/es/settings.md#settings-precedence) de mayor precedencia que establece un `effortLevel` para ese modelo o el `effortLevel` de nivel superior que [se aplica a ese modelo](#effortlevel) decide, por lo que un `effortLevel` en configuraciones administradas supera un nivel que guardó en configuraciones de usuario. [Ajustar el nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) enumera qué más puede anular un nivel guardado, como `--effort` al iniciar.661El `effortLevel` de un modelo aquí tiene precedencia sobre el [`effortLevel`](#effortlevel) de nivel superior del mismo archivo de configuración. Entre archivos, Claude Code resuelve cada modelo por separado: decide el [archivo de configuración](https://code.claude.com/docs/es/settings.md#settings-precedence) de mayor precedencia que establezca un `effortLevel` para ese modelo o un `effortLevel` de nivel superior que [se aplique a ese modelo](#effortlevel), así que un `effortLevel` en la configuración administrada tiene prioridad sobre un nivel que guardaste en la configuración de usuario. [Ajustar el nivel de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) enumera qué más puede sobrescribir un nivel guardado, como `--effort` al iniciar.

662 662 

663Para limitar el esfuerzo de un modelo en lugar de establecer su nivel, agregue un campo [`maxEffortLevel`](#maxeffortlevel) a la entrada de ese modelo. El campo requiere Claude Code v2.1.267 o posterior.663Para limitar el esfuerzo de un modelo en lugar de establecer su nivel, agrega un campo [`maxEffortLevel`](#maxeffortlevel) a la entrada de ese modelo. El campo requiere Claude Code v2.1.267 o posterior.

664 664 

665* **Alcance**: [`Cualquier archivo`](#scopes)665* **Alcance**: [`Any file`](#scopes)

666* **Tipo**: objeto que asigna un nombre de modelo a un objeto con cualquiera de estos campos:666* **Tipo**: objeto que asigna un nombre de modelo a un objeto con cualquiera de estos campos:

667 * `effortLevel`: uno de `"low"`, `"medium"`, `"high"` o `"xhigh"`667 * `effortLevel`: uno de `"low"`, `"medium"`, `"high"` o `"xhigh"`

668 * [`maxEffortLevel`](#maxeffortlevel): el nivel de esfuerzo más alto con el que puede ejecutarse el modelo668 * [`maxEffortLevel`](#maxeffortlevel): el nivel de esfuerzo más alto con el que puede ejecutarse el modelo

669 * `autoCompactWindow`: un número de tokens de `100000` a `1000000`, o `"auto"` para la ventana ajustada para el modelo. [`/autocompact`](https://code.claude.com/docs/es/model-config#set-the-auto-compact-window) guarda aquí. Para ese modelo, el valor tiene precedencia sobre un [`autoCompactWindow`](#autocompactwindow) de nivel superior en el mismo archivo de configuración. Requiere Claude Code v2.1.288 o posterior669 * `autoCompactWindow`: un número de tokens de `100000` a `1000000`, o `"auto"` para la ventana ajustada al modelo. [`/autocompact`](https://code.claude.com/docs/es/model-config#set-the-auto-compact-window) guarda aquí. Para ese modelo, el valor tiene precedencia sobre un [`autoCompactWindow`](#autocompactwindow) de nivel superior en el mismo archivo de configuración. Requiere Claude Code v2.1.288 o posterior

670* **Predeterminado**: sin establecer670* **Predeterminado**: sin definir

671 671 

672Claude Code escribe cada entrada bajo el nombre canónico del modelo, como `claude-opus-5-5`, y coincide con el alias de ese modelo, con sufijo de fecha, `[1m]` e IDs específicos del proveedor reconocidos a la misma entrada.672Claude Code escribe cada entrada bajo el nombre canónico del modelo, como `claude-opus-5-5`, y hace coincidir con esa misma entrada el alias del modelo, los IDs con sufijo de fecha, los IDs con `[1m]` y los IDs específicos de proveedor reconocidos.

673 673 

674Este ejemplo mantiene Opus 5.5 en `high` mientras otros modelos utilizan sus propios niveles guardados o predeterminados:674Este ejemplo mantiene Opus 5.5 en `high` mientras los demás modelos usan sus propios niveles guardados o predeterminados:

675 675 

676```json settings.json theme={null}676```json settings.json theme={null}

677{677{


683}683}

684```684```

685 685 

686Ejecute `/effort auto` para borrar su nivel guardado para el modelo que está utilizando. Claude Code deja las otras entradas y cualquier `effortLevel` de nivel superior en su lugar.686Ejecuta `/effort auto` para borrar tu nivel guardado del modelo que estás usando. Claude Code deja en su lugar las demás entradas y cualquier `effortLevel` de nivel superior.

687 687 

688### `outputStyle`688### `outputStyle`

689 689 

690Seleccione un [estilo de salida](https://code.claude.com/docs/es/output-styles.md) por nombre. Un estilo de salida es un conjunto guardado de instrucciones que cambia el rol, tono y formato de salida de Claude, como los estilos Explanatory y Learning integrados o uno que escribió usted mismo.690Selecciona un [estilo de salida](https://code.claude.com/docs/es/output-styles.md) por nombre. Un estilo de salida es un conjunto guardado de instrucciones que cambia el rol, el tono y el formato de salida de Claude, como los estilos integrados Explanatory y Learning, o uno que escribiste tú mismo.

691 691 

692Si cambia esta clave durante una sesión, Claude utiliza el nuevo estilo a partir de su siguiente mensaje. Para lo que ese mensaje cuesta en almacenamiento en caché de solicitudes, consulte [Cambiar estilo de salida](https://code.claude.com/docs/es/prompt-caching.md#changing-output-style). Antes de v2.1.251, la edición se aplicaba solo después de ejecutar `/clear` o iniciar una nueva sesión.692Si cambias esta clave durante una sesión, Claude usa el nuevo estilo a partir de tu siguiente mensaje. Para saber cuánto cuesta ese mensaje en caché de prompts, consulta [Cambiar el estilo de salida](https://code.claude.com/docs/es/prompt-caching.md#changing-output-style). Antes de v2.1.251, el cambio se aplicaba solo después de ejecutar `/clear` o iniciar una nueva sesión.

693 693 

694* **Alcance**: [`Cualquier archivo`](#scopes)694* **Alcance**: [`Any file`](#scopes)

695* **Tipo**: cadena, el nombre de un estilo de salida [integrado](https://code.claude.com/docs/es/output-styles.md#built-in-output-styles) o [personalizado](https://code.claude.com/docs/es/output-styles.md#create-a-custom-output-style)695* **Tipo**: string, el nombre de un estilo de salida [integrado](https://code.claude.com/docs/es/output-styles.md#built-in-output-styles) o [personalizado](https://code.claude.com/docs/es/output-styles.md#create-a-custom-output-style)

696* **Predeterminado**: sin establecer, por lo que Claude Code utiliza el estilo predeterminado696* **Predeterminado**: sin definir, por lo que Claude Code usa el estilo predeterminado

697 697 

698Este ejemplo selecciona el estilo Explanatory integrado, que agrega información educativa entre tareas:698Este ejemplo selecciona el estilo integrado Explanatory, que agrega explicaciones educativas entre tareas:

699 699 

700```json settings.json theme={null}700```json settings.json theme={null}

701{701{


705 705 

706### `promptCacheTtl`706### `promptCacheTtl`

707 707 

708Elija cuánto tiempo el [caché de solicitud](https://code.claude.com/docs/es/prompt-caching.md) mantiene la conversación principal. Esta clave se aplica a sus turnos interactivos, `-p` y Agent SDK, junto con los asistentes que Claude Code ejecuta en línea con ellos. La vida útil de una hora mantiene el caché activo en descansos más largos, y la API [factura cada escritura de caché a una tasa más alta](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) que en la vida útil de cinco minutos. Requiere Claude Code v2.1.242 o posterior.708Elige cuánto tiempo conserva la [caché de prompts](https://code.claude.com/docs/es/prompt-caching.md) la conversación principal. Esta clave se aplica a tus turnos interactivos, con `-p` y del Agent SDK, junto con los auxiliares que Claude Code ejecuta en línea con ellos. La duración de una hora mantiene la caché activa durante pausas más largas, y la API [factura cada escritura en caché a una tarifa más alta](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) que con la duración de cinco minutos. Requiere Claude Code v2.1.242 o posterior.

709 709 

710* **Alcance**: [`Cualquier archivo`](#scopes)710* **Alcance**: [`Any file`](#scopes)

711* **Tipo**: cadena, uno de:711* **Tipo**: string, uno de:

712 * `"5m"`: el caché se mantiene durante cinco minutos712 * `"5m"`: la caché se conserva durante cinco minutos

713 * `"1h"`: el caché se mantiene durante una hora713 * `"1h"`: la caché se conserva durante una hora

714* **Predeterminado**: sin establecer, por lo que cada solicitud de conversación principal obtiene su [vida útil predeterminada](https://code.claude.com/docs/es/prompt-caching.md#which-ttl-each-request-gets)714* **Predeterminado**: sin definir, por lo que cada solicitud de la conversación principal obtiene [su duración predeterminada](https://code.claude.com/docs/es/prompt-caching.md#which-ttl-each-request-gets)

715* **Anulaciones por sesión**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/es/env-vars) tiene precedencia sobre todo lo demás, luego [`CLAUDE_CODE_PROMPT_CACHE_TTL`](https://code.claude.com/docs/es/env-vars), luego esta clave, y por último [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/es/env-vars)715* **Sobrescrituras por sesión**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/es/env-vars) tiene precedencia sobre todo lo demás, luego [`CLAUDE_CODE_PROMPT_CACHE_TTL`](https://code.claude.com/docs/es/env-vars), luego esta clave y por último [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/es/env-vars)

716 716 

717Este ejemplo mantiene la conversación principal en la vida útil de una hora y deja los subagentes en cinco minutos:717Este ejemplo mantiene la conversación principal con la duración de una hora y deja a los subagentes con cinco minutos:

718 718 

719```json settings.json theme={null}719```json settings.json theme={null}

720{720{


723}723}

724```724```

725 725 

726Para lo que cuesta cada vida útil, consulte [Vida útil del caché](https://code.claude.com/docs/es/prompt-caching.md#cache-lifetime).726Para saber cuánto cuesta cada duración, consulta [Duración de la caché](https://code.claude.com/docs/es/prompt-caching.md#cache-lifetime).

727 727 

728### `showThinkingSummaries`728### `showThinkingSummaries`

729 729 

730Ve resúmenes del [pensamiento extendido](https://code.claude.com/docs/es/model-config.md#extended-thinking) de Claude en sesiones interactivas. Establécelo si quieres los resúmenes completos cuando expandes el pensamiento con `Ctrl+O`. Cuando no está establecido o es `false`, la API de Anthropic oculta el contenido de los bloques de pensamiento y Claude Code muestra un resumen contraído.730Consulta resúmenes del [pensamiento extendido](https://code.claude.com/docs/es/model-config.md#extended-thinking) de Claude en las sesiones interactivas. Establécelo si quieres ver los resúmenes completos al expandir el pensamiento con `Ctrl+O`. Cuando está sin definir o es `false`, la API de Anthropic oculta los bloques de pensamiento y Claude Code muestra un resumen contraído.

731 731 

732* **Alcance**: [`Cualquier archivo`](#scopes)732* **Alcance**: [`Any file`](#scopes)

733* **Tipo**: Booleano733* **Tipo**: Boolean

734 * `true`: ve resúmenes completos de pensamiento cuando expande el pensamiento con `Ctrl+O`734 * `true`: ves los resúmenes completos del pensamiento al expandirlo con `Ctrl+O`

735 * `false`: la API de Anthropic redacta bloques de pensamiento y Claude Code muestra un resumen contraído735 * `false`: la API de Anthropic oculta los bloques de pensamiento y Claude Code muestra un resumen contraído

736* **Predeterminado**: `false`736* **Predeterminado**: `false`

737 737 

738```json settings.json theme={null}738```json settings.json theme={null}


741}741}

742```742```

743 743 

744La redacción cambia solo lo que ve, no lo que genera el modelo. Para reducir el gasto de pensamiento, [reduzca el presupuesto o desactive el pensamiento](https://code.claude.com/docs/es/model-config.md#extended-thinking) en su lugar.744La ocultación cambia solo lo que ves, no lo que genera el modelo. Para reducir el gasto en pensamiento, [reduce el presupuesto o desactiva el pensamiento](https://code.claude.com/docs/es/model-config.md#extended-thinking) en su lugar.

745 745 

746### `subagentPromptCacheTtl`746### `subagentPromptCacheTtl`

747 747 

748Elija cuánto tiempo el [caché de solicitud](https://code.claude.com/docs/es/prompt-caching.md) mantiene las solicitudes que Claude Code realiza fuera de la conversación principal. Esta clave se aplica a [subagentes](https://code.claude.com/docs/es/sub-agents.md), [flujos de trabajo](https://code.claude.com/docs/es/workflows.md) y las solicitudes propias de Claude Code en segundo plano y asistentes, como compactación y títulos de sesión. La vida útil de una hora mantiene el caché activo en descansos más largos, y la API [factura cada escritura de caché a una tasa más alta](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) que en la vida útil de cinco minutos. Requiere Claude Code v2.1.242 o posterior.748Elige cuánto tiempo conserva la [caché de prompts](https://code.claude.com/docs/es/prompt-caching.md) las solicitudes que Claude Code hace fuera de la conversación principal. Esta clave se aplica a los [subagentes](https://code.claude.com/docs/es/sub-agents.md), los [flujos de trabajo](https://code.claude.com/docs/es/workflows.md) y las solicitudes propias de Claude Code en segundo plano y auxiliares, como la compactación y los títulos de sesión. La duración de una hora mantiene la caché activa durante pausas más largas, y la API [factura cada escritura en caché a una tarifa más alta](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) que con la duración de cinco minutos. Requiere Claude Code v2.1.242 o posterior.

749 749 

750* **Alcance**: [`Cualquier archivo`](#scopes)750* **Alcance**: [`Any file`](#scopes)

751* **Tipo**: cadena, uno de:751* **Tipo**: string, uno de:

752 * `"5m"`: el caché se mantiene durante cinco minutos752 * `"5m"`: la caché se conserva durante cinco minutos

753 * `"1h"`: el caché se mantiene durante una hora753 * `"1h"`: la caché se conserva durante una hora

754* **Predeterminado**: sin establecer, por lo que cada una de estas solicitudes obtiene su [vida útil predeterminada](https://code.claude.com/docs/es/prompt-caching.md#which-ttl-each-request-gets)754* **Predeterminado**: sin definir, por lo que cada una de estas solicitudes obtiene [su duración predeterminada](https://code.claude.com/docs/es/prompt-caching.md#which-ttl-each-request-gets)

755* **Anulaciones por sesión**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/es/env-vars) tiene precedencia sobre todo lo demás, luego [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](https://code.claude.com/docs/es/env-vars), luego esta clave, luego [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/es/env-vars), que solicita la vida útil de una hora en cada solicitud. Para dónde se clasifica el valor de frontmatter propio de un subagente, consulte [Elegir el TTL usted mismo](https://code.claude.com/docs/es/prompt-caching.md#choose-the-ttl-yourself)755* **Sobrescrituras por sesión**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/es/env-vars) tiene precedencia sobre todo lo demás, luego [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](https://code.claude.com/docs/es/env-vars), luego esta clave y luego [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/es/env-vars), que solicita la duración de una hora en todas las solicitudes. Para saber dónde se sitúa el valor del frontmatter propio de un subagente, consulta [Elegir el TTL tú mismo](https://code.claude.com/docs/es/prompt-caching.md#choose-the-ttl-yourself)

756 756 

757Este ejemplo proporciona a los subagentes y las otras solicitudes fuera de la conversación principal la vida útil de una hora:757Este ejemplo da a los subagentes y a las demás solicitudes fuera de la conversación principal la duración de una hora:

758 758 

759```json settings.json theme={null}759```json settings.json theme={null}

760{760{


762}762}

763```763```

764 764 

765Esta clave cubre las solicitudes que [`promptCacheTtl`](#promptcachettl) no cubre, por lo que establezca ambas para elegir una vida útil para cada solicitud que Claude Code realiza. Para cómo difiere el caché de un subagente del de la conversación principal, consulte [Subagentes y el caché](https://code.claude.com/docs/es/prompt-caching.md#subagents-and-the-cache).765Esta clave cubre las solicitudes que [`promptCacheTtl`](#promptcachettl) no cubre, así que establece ambas para elegir una duración para cada solicitud que hace Claude Code. Para saber en qué se diferencia la caché de un subagente de la de la conversación principal, consulta [Subagentes y la caché](https://code.claude.com/docs/es/prompt-caching.md#subagents-and-the-cache).

766 766 

767### `switchModelsOnFlag`767### `switchModelsOnFlag`

768 768 

769Elija qué sucede cuando un [clasificador de seguridad marca una solicitud](https://code.claude.com/docs/es/model-config.md#automatic-model-fallback): cambiar al modelo de respaldo y continuar, o pausar para que pueda elegir entre cambiar y editar el mensaje.769Elige qué sucede cuando un [clasificador de seguridad marca una solicitud](https://code.claude.com/docs/es/model-config.md#automatic-model-fallback): cambiar al modelo de respaldo y continuar, o pausar para que puedas elegir entre cambiar y editar el prompt.

770 770 

771* **Alcance**: [`Cualquier archivo`](#scopes). Aparece en `/config` como **Cambiar de modelo cuando se marca un mensaje**, con las opciones **Cambiar automáticamente** y **Preguntar cada vez**.771* **Alcance**: [`Any file`](#scopes). Aparece en `/config` como **Switch models when a message is flagged**, con las opciones **Switch automatically** y **Ask each time**.

772* **Tipo**: Booleano772* **Tipo**: Boolean

773 * `true`: Claude Code cambia al modelo de respaldo y continúa773 * `true`: Claude Code cambia al modelo de respaldo y continúa

774 * `false`: en una sesión interactiva Claude Code pausa para que pueda elegir entre cambiar y editar el mensaje; donde no puede mostrarse un diálogo, como una ejecución `-p`, la solicitud marcada termina como un error774 * `false`: en una sesión interactiva, Claude Code se pausa para que puedas elegir entre cambiar y editar el prompt; donde no se puede mostrar un cuadro de diálogo, como en una ejecución con `-p`, la solicitud marcada termina como un error

775* **Predeterminado**: sin establecer. Claude Code cambia automáticamente, aunque puede [preguntar primero](https://code.claude.com/docs/es/model-config.md#ask-before-switching) en una sesión interactiva775* **Predeterminado**: sin definir. Claude Code cambia automáticamente, aunque puede [preguntar primero](https://code.claude.com/docs/es/model-config.md#ask-before-switching) en una sesión interactiva

776 776 

777```json settings.json theme={null}777```json settings.json theme={null}

778{778{


780}780}

781```781```

782 782 

783Consulte [Preguntar antes de cambiar](https://code.claude.com/docs/es/model-config.md#ask-before-switching).783Consulta [Preguntar antes de cambiar](https://code.claude.com/docs/es/model-config.md#ask-before-switching).

784 784 

785### `ultracode`785### `ultracode`

786 786 

787Inicie sesiones con [ultracode](https://code.claude.com/docs/es/workflows.md#let-claude-decide-with-ultracode) activado. Con él activado, Claude planifica un flujo de trabajo para cada tarea sustancial en lugar de esperar a que lo pida. Claude planifica flujos de trabajo solo cuando [flujos de trabajo dinámicos](https://code.claude.com/docs/es/workflows.md) están habilitados para usted y su modelo admite esfuerzo `xhigh`. La clave no cambia el nivel de esfuerzo de la sesión: ultracode se ejecuta en cualquier nivel que la sesión utilice. Claude Code lee esta clave pero nunca la escribe: `/effort ultracode` activa ultracode solo para la sesión actual.787Inicia las sesiones con [ultracode](https://code.claude.com/docs/es/workflows.md#let-claude-decide-with-ultracode) activado. Con él activado, Claude planifica un flujo de trabajo para cada tarea sustancial en lugar de esperar a que se lo pidas. Claude planifica flujos de trabajo solo cuando los [flujos de trabajo dinámicos](https://code.claude.com/docs/es/workflows.md) están habilitados para ti y tu modelo admite el esfuerzo `xhigh`. La clave no cambia el nivel de esfuerzo de la sesión: ultracode se ejecuta en el nivel que use la sesión. Claude Code lee esta clave, pero nunca la escribe: `/effort ultracode` activa ultracode solo para la sesión actual.

788 788 

789* **Alcance**: [`Cualquier archivo`](#scopes)789* **Alcance**: [`Any file`](#scopes)

790* **Tipo**: Booleano790* **Tipo**: Boolean

791 * `true`: las sesiones comienzan con ultracode activado cuando flujos de trabajo dinámicos están habilitados para usted y su modelo admite `xhigh`791 * `true`: las sesiones se inician con ultracode activado cuando los flujos de trabajo dinámicos están habilitados para ti y tu modelo admite `xhigh`

792 * `false`: las sesiones comienzan con ultracode desactivado792 * `false`: las sesiones se inician con ultracode desactivado

793* **Predeterminado**: sin establecer, por lo que ultracode está desactivado793* **Predeterminado**: sin definir, por lo que ultracode está desactivado

794* **Sobrescrituras por sesión**: `/effort ultracode` activa ultracode para una sesión sin esta clave, y `/effort ultracode off` lo desactiva para una sesión cuando esta clave es `true`. El flag `--effort ultracode` también lo activa para una sesión, con esfuerzo `xhigh`794* **Sobrescrituras por sesión**: `/effort ultracode` activa ultracode durante una sesión sin esta clave, y `/effort ultracode off` lo desactiva durante una sesión cuando esta clave es `true`. El flag `--effort ultracode` también lo activa durante una sesión, con esfuerzo `xhigh`

795 795 

796```json settings.json theme={null}796```json settings.json theme={null}

797{797{


799}799}

800```800```

801 801 

802El nivel de esfuerzo de la sesión proviene de [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings) y las otras [fuentes de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level), y un [límite de esfuerzo](https://code.claude.com/docs/es/model-config.md#organization-effort-limits) como [`maxEffortLevel`](#maxeffortlevel) reduce ese nivel sin desactivar ultracode. Esto y la forma `/effort ultracode off` requieren Claude Code v2.1.284 o posterior. Antes de v2.1.284, `ultracode: true` ejecutaba la sesión en esfuerzo `xhigh`, y un límite de esfuerzo por debajo de `xhigh` mantenía ultracode desactivado. Una solicitud de control `apply_flag_settings` del Agent SDK también acepta la clave.802El nivel de esfuerzo de la sesión proviene de [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings) y las demás [fuentes de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level), y un [límite de esfuerzo](https://code.claude.com/docs/es/model-config.md#organization-effort-limits) como [`maxEffortLevel`](#maxeffortlevel) reduce ese nivel sin desactivar ultracode. Esto y la forma `/effort ultracode off` requieren Claude Code v2.1.284 o posterior. Antes de v2.1.284, `ultracode: true` ejecutaba la sesión con esfuerzo `xhigh`, y un límite de esfuerzo inferior a `xhigh` mantenía ultracode desactivado. Una solicitud de control `apply_flag_settings` del Agent SDK también acepta la clave.

803 803 

804## Configuración de permisos804## Configuración de permisos

805 805 


2424 2424 

2425La compactación en inactividad está activada de forma predeterminada para las conversaciones que cumplen todas estas condiciones:2425La compactación en inactividad está activada de forma predeterminada para las conversaciones que cumplen todas estas condiciones:

2426 2426 

2427* **Sesión**: estás en una sesión interactiva de terminal, o en el panel de chat de la extensión de VS Code o en la pestaña Code de la aplicación de escritorio con una [cuenta que Anthropic selecciona](#idle-compaction-in-vs-code-and-the-desktop-app)2427* **Sesión**: estás en una sesión interactiva de terminal, en el panel de chat de la extensión de VS Code o en la pestaña Code de la aplicación de escritorio cuando la sesión se ejecuta en tu máquina o a través de SSH

2428* **Compactación automática**: [`autoCompactEnabled`](#autocompactenabled) está activado2428* **Compactación automática**: [`autoCompactEnabled`](#autocompactenabled) está activado

2429* **Caché de prompts**: la conversación usa el [TTL de una hora de la caché de prompts](https://code.claude.com/docs/es/prompt-caching.md#which-ttl-each-request-gets)2429* **Caché de prompts**: la conversación usa el [TTL de una hora de la caché de prompts](https://code.claude.com/docs/es/prompt-caching.md#which-ttl-each-request-gets)

2430* **Flags de funciones**: Claude Code puede [obtener flags de funciones de Anthropic](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching)2430* **Flags de funciones**: Claude Code puede [obtener flags de funciones de Anthropic](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching)

2431* **Tamaño**: el contexto de la conversación ha alcanzado el umbral de tokens, que puedes [cambiar](#change-the-idle-compaction-threshold) respecto a su valor predeterminado de 200.0002431* **Tamaño**: el contexto de la conversación ha alcanzado el umbral de tokens, que puedes [cambiar](#change-the-idle-compaction-threshold) respecto a su valor predeterminado de 200.000

2432* **Tiempo de inactividad**: han pasado unos 54 minutos desde la última solicitud, y tu computadora está activa en ese momento2432* **Tiempo de inactividad**: ha pasado alrededor de una hora desde la última solicitud, y tu computadora permanece activa hasta entonces

2433 2433 

2434Para desactivar la compactación en inactividad, establece esta clave en `false`.2434Para desactivar la compactación en inactividad, establece esta clave en `false`.

2435 2435 


2475Compacted using a summary written while you were away · turn off with "idleCompaction": false in settings.json2475Compacted using a summary written while you were away · turn off with "idleCompaction": false in settings.json

2476```2476```

2477 2477 

2478No necesitas hacer nada. Para desactivar la compactación en inactividad, establece `idleCompaction` en `false` en `~/.claude/settings.json` o en otro [archivo de configuración](https://code.claude.com/docs/es/settings.md#settings-files-and-who-they-affect).2478No necesitas hacer nada. Para desactivar la compactación en inactividad, establece `idleCompaction` en `false` en `~/.claude/settings.json` en la máquina o distribución de WSL donde se ejecuta la sesión, o en otro [archivo de configuración](https://code.claude.com/docs/es/settings.md#settings-files-and-who-they-affect).

2479 

2480En el panel de chat de la extensión de VS Code y en la pestaña Code de la aplicación de escritorio, la compactación en inactividad se ejecuta para las cuentas que Anthropic selecciona. Claude Code escribe el resumen mientras no estás, y luego compacta con él solo si tu siguiente mensaje llega una hora o más después de la última solicitud.

2481 2479 

2482### `plansDirectory`2480### `plansDirectory`

2483 2481 


5070 5068 

5071## Autenticación y proveedores5069## Autenticación y proveedores

5072 5070 

5073Proporciona credenciales a través de scripts auxiliares y, para organizaciones, fuerza un método de inicio de sesión u organización. Consulta [Autenticación](https://code.claude.com/docs/es/authentication.md).5071Proporciona credenciales mediante scripts auxiliares y, para organizaciones, fuerza un método de inicio de sesión o una organización. Consulta [Autenticación](https://code.claude.com/docs/es/authentication.md).

5074 5072 

5075### `allowedProviders`5073### `allowedProviders`

5076 5074 

5077Enumera los servicios a través de los cuales una máquina puede acceder a Claude, como la API de Anthropic, Amazon Bedrock o un gateway de LLM. Una sesión en un proveedor que no está en la lista se rechaza al inicio, al iniciar sesión y la próxima vez que contacta con la API, por lo que cambiar a un proveedor no listado a mitad de sesión también se rechaza. El [mensaje de rechazo](https://code.claude.com/docs/es/errors.md#managed-settings-dont-allow-this-api-provider) indica qué seleccionó el proveedor y los pasos para continuar. Requiere Claude Code v2.1.285 o posterior.5075Enumera los servicios a través de los cuales una máquina puede acceder a Claude, como la API de Anthropic, Amazon Bedrock o un gateway de LLM. Una sesión en un proveedor que no está en la lista se rechaza al iniciar, al iniciar sesión y la próxima vez que contacta la API, por lo que cambiar a un proveedor no incluido en medio de una sesión también se rechaza. El [mensaje de rechazo](https://code.claude.com/docs/es/errors.md#managed-settings-dont-allow-this-api-provider) indica qué seleccionó el proveedor y los pasos para continuar. Requiere Claude Code v2.1.285 o posterior.

5078 5076 

5079* **Scope**: [`Managed`](#scopes). Una lista que establecen las fuentes de administrador propias de la máquina, las políticas MDM y los archivos de configuración administrada, sigue aplicándose cuando la configuración administrada por servidor también entrega una: una sesión puede entonces usar solo los proveedores que figuran en ambas listas, por lo que una lista administrada por servidor puede reducir lo que la máquina permite pero nunca ampliarlo. Qué `allowedProviders` de las fuentes de la máquina cuenta sigue [cómo Claude Code combina las fuentes administradas](https://code.claude.com/docs/es/managed-settings.md#how-claude-code-combines-managed-sources). Una lista entregada solo a través de la configuración administrada por servidor llega únicamente a las sesiones que [obtienen la configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md#platform-availability).5077* **Alcance**: [`Managed`](#scopes). Una lista que establecen las propias fuentes de administración de la máquina, las políticas de MDM y los archivos de configuración administrada, se sigue aplicando cuando la configuración administrada por servidor también entrega una: en ese caso, una sesión solo puede usar los proveedores que están en ambas listas, de modo que una lista administrada por servidor puede restringir lo que la máquina permite, pero nunca ampliarlo. Qué `allowedProviders` de las fuentes de la máquina cuenta sigue [cómo Claude Code combina las fuentes administradas](https://code.claude.com/docs/es/managed-settings.md#how-claude-code-combines-managed-sources). Una lista entregada solo mediante la configuración administrada por servidor llega únicamente a las sesiones que [obtienen la configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md#platform-availability).

5080* **Type**: matriz de strings, cada uno de:5078* **Tipo**: array de cadenas, cada una de las siguientes:

5081 * `"anthropic"`: la API de Anthropic en el host propio de Anthropic, a través de un inicio de sesión de claude.ai o Console o una clave de API. Combínalo con [`forceLoginMethod`](#forceloginmethod) o [`forceLoginOrgUUID`](#forceloginorguuid) para restringir también el inicio de sesión5079 * `"anthropic"`: la API de Anthropic en el propio host de Anthropic, mediante un inicio de sesión en claude.ai o Console o una clave de API. Combínalo con [`forceLoginMethod`](#forceloginmethod) o [`forceLoginOrgUUID`](#forceloginorguuid) para restringir también el inicio de sesión

5082 * `"bedrock"`: [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md)5080 * `"bedrock"`: [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md)

5083 * `"vertex"`: [Agent Platform de Google Cloud](https://code.claude.com/docs/es/google-vertex-ai.md), anteriormente Vertex AI5081 * `"vertex"`: [Agent Platform de Google Cloud](https://code.claude.com/docs/es/google-vertex-ai.md), antes Vertex AI

5084 * `"foundry"`: [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md)5082 * `"foundry"`: [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md)

5085 * `"anthropicAws"`: [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md)5083 * `"anthropicAws"`: [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md)

5086 * `"mantle"`: el [endpoint Mantle](https://code.claude.com/docs/es/amazon-bedrock.md#use-the-mantle-endpoint) de Amazon Bedrock. Una sesión que [ejecuta Mantle junto con la API de Invoke](https://code.claude.com/docs/es/amazon-bedrock.md#run-mantle-alongside-the-invoke-api) usa ambos proveedores, así que incluye `"bedrock"` y `"mantle"` juntos para ella5084 * `"mantle"`: el [endpoint Mantle](https://code.claude.com/docs/es/amazon-bedrock.md#use-the-mantle-endpoint) de Amazon Bedrock. Una sesión que [ejecuta Mantle junto con la API Invoke](https://code.claude.com/docs/es/amazon-bedrock.md#run-mantle-alongside-the-invoke-api) usa ambos proveedores, así que para ella incluye `"bedrock"` y `"mantle"` juntos

5087 * `"customEndpoint"`: la API de Anthropic o la API de un proveedor en la nube enviada a otro host, como un [gateway de LLM](https://code.claude.com/docs/es/llm-gateway) indicado por `ANTHROPIC_BASE_URL` o por la variable de endpoint de un proveedor, como `ANTHROPIC_BEDROCK_BASE_URL`. Claude Code lo admite solo para el valor exacto que fija un bloque [`env`](#env) administrado5085 * `"customEndpoint"`: la API de Anthropic o la API de un proveedor de nube enviada a otro host, como un [gateway de LLM](https://code.claude.com/docs/es/llm-gateway) indicado por `ANTHROPIC_BASE_URL` o por la variable de endpoint de un proveedor, como `ANTHROPIC_BEDROCK_BASE_URL`. Claude Code lo admite solo para el valor exacto que fija un bloque [`env`](#env) administrado

5088 * `"gateway"`: un inicio de sesión de [Cloud gateway](https://code.claude.com/docs/es/claude-apps-gateway)5086 * `"gateway"`: un inicio de sesión en un [Cloud gateway](https://code.claude.com/docs/es/claude-apps-gateway)

5089* **Default**: sin establecer, por lo que se puede usar cualquier proveedor5087* **Valor predeterminado**: sin definir, por lo que se puede usar cualquier proveedor

5090 5088 

5091```json managed-settings.json theme={null}5089```json managed-settings.json theme={null}

5092{5090{


5094}5092}

5095```5093```

5096 5094 

5097La entrada de cada proveedor en la nube significa el servicio propio de ese proveedor, incluidos sus endpoints regionales, FIPS y privados.5095La entrada de cada proveedor de nube se refiere al servicio propio de ese proveedor, incluidos sus endpoints regionales, FIPS y privados.

5098 5096 

5099Una entrada que Claude Code no reconoce como nombre de proveedor se descarta y se informa, y el resto de la lista se sigue aplicando. Con una lista vacía, o una en la que ninguna entrada se reconoce, Claude Code rechaza todos los proveedores y no se inicia en la máquina.5097Una entrada que Claude Code no reconoce como nombre de proveedor se descarta y se informa, y el resto de la lista se sigue aplicando. Con una lista vacía, o una en la que ninguna entrada se reconoce, Claude Code rechaza todos los proveedores y no se inicia en la máquina.

5100 5098 

5101#### Endpoints que necesitan un valor fijado en `env` administrado5099#### Endpoints que necesitan un valor fijado en `env` administrado

5102 5100 

5103Un valor fijado es el valor de una variable de endpoint establecido en un bloque [`env`](#env) administrado. Cuando una sesión envía el tráfico de un proveedor a algún lugar distinto del servicio propio de ese proveedor, Claude Code lo admite solo si el valor de la sesión coincide con el valor fijado. Estos endpoints necesitan uno:5101Un valor fijado es el valor de una variable de endpoint establecido en un bloque [`env`](#env) administrado. Cuando una sesión envía el tráfico de un proveedor a un lugar distinto del servicio propio de ese proveedor, Claude Code lo admite solo si el valor de la sesión es el mismo que el fijado. Estos endpoints necesitan uno:

5104 5102 

5105* **Sesiones `"customEndpoint"`**: la variable que indica el host, como `ANTHROPIC_BASE_URL`5103* **Sesiones `"customEndpoint"`**: la variable que indica el host, como `ANTHROPIC_BASE_URL`

5106* **Amazon Bedrock**: las variables `AWS_ENDPOINT_URL`, `AWS_ENDPOINT_URL_BEDROCK` y `AWS_ENDPOINT_URL_BEDROCK_RUNTIME` del SDK de AWS cuando apuntan fuera del servicio propio de Bedrock. La sesión permanece bajo `"bedrock"` en lugar de `"customEndpoint"`5104* **Amazon Bedrock**: las variables `AWS_ENDPOINT_URL`, `AWS_ENDPOINT_URL_BEDROCK` y `AWS_ENDPOINT_URL_BEDROCK_RUNTIME` del AWS SDK cuando apuntan fuera del servicio propio de Bedrock. La sesión se mantiene bajo `"bedrock"` en lugar de `"customEndpoint"`

5107* **La URL de un inicio de sesión de gateway**: la sesión permanece bajo `"gateway"`, y [`forceLoginGatewayUrl`](#forcelogingatewayurl) también cuenta como valor fijado5105* **La URL de un inicio de sesión en gateway**: la sesión se mantiene bajo `"gateway"`, y [`forceLoginGatewayUrl`](#forcelogingatewayurl) también cuenta como valor fijado

5108 5106 

5109Qué bloques `env` cuentan como valores fijados depende de dónde se establezca la lista:5107Qué bloques `env` cuentan como valores fijados depende de dónde se establece la lista:

5110 5108 

5111* **Una fuente de administrador en la máquina establece una lista**: solo cuentan los bloques `env` de las fuentes de administrador propias de la máquina5109* **Una fuente de administrador en la máquina establece una lista**: solo cuentan los bloques `env` de las propias fuentes de administrador de la máquina

5112* **Solo la configuración administrada por servidor establece una lista**: un valor de `env` en esa configuración administrada por servidor también cuenta5110* **Solo la configuración administrada por servidor establece una lista**: también cuenta un valor `env` de esa configuración administrada por servidor

5113 5111 

5114La lista no evalúa las variables de credenciales y tenencia de un proveedor en la nube ni la ruta de red, como `HTTPS_PROXY` y la configuración de certificados. Establécelas para toda la flota en el bloque `env` administrado.5112La lista no evalúa las variables de credenciales y tenencia de un proveedor de nube ni la ruta de red, como `HTTPS_PROXY` y la configuración de certificados. Establécelas para toda la flota en el bloque `env` administrado.

5115 5113 

5116### `apiKeyHelper`5114### `apiKeyHelper`

5117 5115 

5118Ejecuta tu propio comando para producir la credencial que Claude Code envía con las solicitudes al modelo. Claude Code ejecuta el comando a través del shell del sistema, `/bin/sh` en macOS y Linux y `cmd` en Windows, y envía su salida como encabezados `X-Api-Key` y `Authorization: Bearer`. Úsalo para credenciales dinámicas o rotativas, como tokens de corta duración obtenidos de un almacén.5116Ejecuta tu propio comando para producir la credencial que Claude Code envía con las solicitudes al modelo. Claude Code ejecuta el comando a través del shell del sistema, `/bin/sh` en macOS y Linux y `cmd` en Windows, y envía su salida en los encabezados `X-Api-Key` y `Authorization: Bearer`. Úsalo para credenciales dinámicas o rotativas, como tokens de corta duración obtenidos de un almacén de secretos.

5119 5117 

5120* **Scope**: [`Any file`](#scopes)5118* **Alcance**: [`Any file`](#scopes)

5121* **Type**: string, una línea de comando del shell5119* **Tipo**: cadena, una línea de comandos de shell

5122* **Default**: sin establecer, por lo que Claude Code no ejecuta un auxiliar5120* **Valor predeterminado**: sin definir, por lo que Claude Code no ejecuta ningún auxiliar

5123 5121 

5124```json settings.json theme={null}5122```json settings.json theme={null}

5125{5123{


5127}5125}

5128```5126```

5129 5127 

5130Claude Code almacena en caché el valor y vuelve a ejecutar el comando en estos casos:5128Claude Code almacena el valor en caché y vuelve a ejecutar el comando en estos casos:

5131 5129 

5132* Después de la duración de la caché, cinco minutos por defecto o el intervalo que establezcas con [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](https://code.claude.com/docs/es/env-vars).5130* Tras la vida útil de la caché, cinco minutos de forma predeterminada o el intervalo que establezcas con [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](https://code.claude.com/docs/es/env-vars).

5133* Cuando una solicitud a la API de Anthropic, directamente o a través de un [gateway de LLM](https://code.claude.com/docs/es/llm-gateway), falla con `401` o `403`.5131* Cuando una solicitud a la API de Anthropic, directamente o a través de un [gateway de LLM](https://code.claude.com/docs/es/llm-gateway), falla con `401` o `403`.

5134* Antes de enviar una solicitud a la API de Anthropic, directamente o a través de un gateway de LLM, cuando la salida almacenada en caché es un JWT que expiró después de que el auxiliar lo produjo. Requiere Claude Code v2.1.246 o posterior.5132* Antes de enviar una solicitud a la API de Anthropic, directamente o a través de un gateway de LLM, cuando la salida en caché es un JWT que expiró después de que el auxiliar lo produjera. Requiere Claude Code v2.1.246 o posterior.

5135 5133 

5136Los dos últimos casos se aplican solo cuando la salida del auxiliar es la credencial que Claude Code envía y `ANTHROPIC_AUTH_TOKEN` no está establecido.5134Los dos últimos casos se aplican solo cuando la salida del auxiliar es la credencial que Claude Code envía y `ANTHROPIC_AUTH_TOKEN` no está definida.

5137 5135 

5138En sesiones interactivas, cuando el comando proviene de la configuración del proyecto o local, Claude Code no lo ejecuta hasta que aceptes la solicitud de confianza del espacio de trabajo. Consulta [Gestión de credenciales](https://code.claude.com/docs/es/authentication.md#credential-management).5136En sesiones interactivas, cuando el comando proviene de la configuración del proyecto o local, Claude Code no lo ejecuta hasta que aceptes la solicitud de confianza del espacio de trabajo. Consulta [Gestión de credenciales](https://code.claude.com/docs/es/authentication.md#credential-management).

5139 5137 

5140### `awsAuthRefresh`5138### `awsAuthRefresh`

5141 5139 

5142Ejecuta tu propio comando, como `aws sso login`, para actualizar las credenciales de tu directorio `.aws` cuando las que Claude Code tiene para [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md) dejen de funcionar. Claude Code verifica primero las credenciales actuales contra STS y ejecuta el comando solo cuando esa verificación falla; luego lee el directorio `.aws` actualizado.5140Ejecuta tu propio comando, como `aws sso login`, para actualizar las credenciales de tu directorio `.aws` cuando las que Claude Code tiene para [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md) dejan de funcionar. Claude Code primero comprueba las credenciales actuales contra STS y ejecuta el comando solo cuando esa comprobación falla; luego lee el directorio `.aws` actualizado.

5143 5141 

5144Cuando la verificación falla al mismo tiempo en varios procesos de Claude Code que usan el mismo comando y las mismas credenciales, como terminales o ventanas del IDE separadas, un proceso ejecuta el comando y los demás esperan a esa ejecución en lugar de iniciar la suya. Un proceso que ha esperado 60 segundos con una solicitud pendiente ejecuta el comando por sí mismo. Para desactivar esto, establece [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](https://code.claude.com/docs/es/env-vars) en `1`.5142Cuando la comprobación falla al mismo tiempo en varios procesos de Claude Code que usan el mismo comando y las mismas credenciales, como terminales separadas o ventanas del IDE, un proceso ejecuta el comando y el resto espera a esa ejecución en lugar de iniciar la suya. Un proceso que ha esperado 60 segundos con una solicitud pendiente ejecuta el comando por sí mismo. Para desactivar esto, establece [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](https://code.claude.com/docs/es/env-vars) en `1`.

5145 5143 

5146* **Scope**: [`Any file`](#scopes)5144* **Alcance**: [`Any file`](#scopes)

5147* **Type**: string, una línea de comando del shell5145* **Tipo**: cadena, una línea de comandos de shell

5148* **Default**: sin establecer, por lo que Claude Code no actualiza las credenciales de AWS por ti5146* **Valor predeterminado**: sin definir, por lo que Claude Code no actualiza las credenciales de AWS por ti

5149 5147 

5150```json settings.json theme={null}5148```json settings.json theme={null}

5151{5149{


5153}5151}

5154```5152```

5155 5153 

5156Usa esta clave cuando tu flujo de actualización escriba en `.aws`; usa [`awsCredentialExport`](#awscredentialexport) cuando, en cambio, imprima las credenciales. Consulta [configuración avanzada de credenciales](https://code.claude.com/docs/es/amazon-bedrock.md#advanced-credential-configuration).5154Usa esta clave cuando tu flujo de actualización escribe en `.aws`; usa [`awsCredentialExport`](#awscredentialexport) cuando, en cambio, imprime credenciales. Consulta [configuración avanzada de credenciales](https://code.claude.com/docs/es/amazon-bedrock.md#advanced-credential-configuration).

5157 5155 

5158### `awsCredentialExport`5156### `awsCredentialExport`

5159 5157 

5160Ejecuta tu propio comando que imprima credenciales de AWS como JSON, para que Claude Code pueda llamar a [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md) con credenciales que no están en tu directorio `.aws`. Claude Code acepta el formato de salida de `aws sts` y el formato plano de `aws configure export-credentials`, y limita las credenciales a su propio cliente de Bedrock, por lo que los comandos del shell que ejecuta Claude siguen viendo tus credenciales del entorno.5158Ejecuta tu propio comando que imprime credenciales de AWS como JSON, para que Claude Code pueda llamar a [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md) con credenciales que no están en tu directorio `.aws`. Claude Code acepta el formato de salida de `aws sts` y el formato plano de `aws configure export-credentials`, y limita las credenciales a su propio cliente de Bedrock, por lo que los comandos de shell que ejecuta Claude siguen viendo tus credenciales del entorno.

5161 5159 

5162* **Scope**: [`Any file`](#scopes)5160* **Alcance**: [`Any file`](#scopes)

5163* **Type**: string, una línea de comando del shell5161* **Tipo**: cadena, una línea de comandos de shell

5164* **Default**: sin establecer, por lo que Claude Code usa la cadena de credenciales de AWS del entorno5162* **Valor predeterminado**: sin definir, por lo que Claude Code usa la cadena de credenciales de AWS del entorno

5165 5163 

5166```json settings.json theme={null}5164```json settings.json theme={null}

5167{5165{


5169}5167}

5170```5168```

5171 5169 

5172A diferencia de [`awsAuthRefresh`](#awsauthrefresh), Claude Code siempre ejecuta este comando cuando está establecido, sin verificar primero las credenciales del entorno. Consulta [configuración avanzada de credenciales](https://code.claude.com/docs/es/amazon-bedrock.md#advanced-credential-configuration).5170A diferencia de [`awsAuthRefresh`](#awsauthrefresh), Claude Code siempre ejecuta este comando cuando está definido, sin comprobar antes las credenciales del entorno. Consulta [configuración avanzada de credenciales](https://code.claude.com/docs/es/amazon-bedrock.md#advanced-credential-configuration).

5173 5171 

5174### `forceLoginMethod`5172### `forceLoginMethod`

5175 5173 

5176Restringe el tipo de cuenta con el que las personas pueden iniciar sesión. Establece `"claudeai"` para permitir solo cuentas de claude.ai, `"console"` para permitir solo cuentas de Claude Console, o `"gateway"` para enviar a las personas a un [cloud gateway](https://code.claude.com/docs/es/claude-apps-gateway) en lugar de un inicio de sesión propio de Anthropic. Los administradores lo establecen en la configuración administrada y lo combinan con [`forceLoginOrgUUID`](#forceloginorguuid) para mantener los inicios de sesión de claude.ai de los desarrolladores dentro de una organización. Si lo estableces en `"claudeai"` o `"console"` en cualquier archivo de configuración, Claude Code también deja de ofrecer el [inicio de sesión en Console sin clave](https://code.claude.com/docs/es/authentication.md#sign-in-without-an-api-key) en las sesiones a las que se aplica ese archivo.5174Restringe con qué tipo de cuenta pueden iniciar sesión las personas. Establece `"claudeai"` para permitir solo cuentas de claude.ai, `"console"` para permitir solo cuentas de Claude Console, o `"gateway"` para enviar a las personas a un [cloud gateway](https://code.claude.com/docs/es/claude-apps-gateway) en lugar de un inicio de sesión propio de Anthropic. Los administradores lo establecen en la configuración administrada y lo combinan con [`forceLoginOrgUUID`](#forceloginorguuid) para mantener los inicios de sesión de claude.ai de los desarrolladores dentro de una organización.

5177 5175 

5178* **Scope**: [`Any file`](#scopes). Claude Code respeta `"gateway"` desde las mismas fuentes que [`forceLoginGatewayUrl`](#forcelogingatewayurl) y lo trata como sin establecer en cualquier otro lugar.5176Si lo estableces en `"claudeai"` en cualquier archivo de configuración, Claude Code también deja de ofrecer el [inicio de sesión en Console sin clave](https://code.claude.com/docs/es/authentication.md#sign-in-without-an-api-key) en las sesiones a las que se aplica ese archivo. Con solo `"console"`, las personas aún pueden llegar al inicio de sesión sin clave tras un inicio de sesión fallido. Para que Claude Code deje de ofrecerlo, consulta [Dejar de ofrecer el inicio de sesión sin clave en máquinas administradas](https://code.claude.com/docs/es/authentication.md#stop-offering-the-keyless-sign-in-on-managed-machines), que también enumera qué más cambia `forceLoginOrgUUID`.

5179* **Type**: string, uno de:5177 

5178* **Alcance**: [`Any file`](#scopes). Claude Code respeta `"gateway"` desde las mismas fuentes que [`forceLoginGatewayUrl`](#forcelogingatewayurl) y lo trata como sin definir en cualquier otro lugar.

5179* **Tipo**: cadena, una de:

5180 * `"claudeai"`: solo las cuentas de claude.ai pueden iniciar sesión5180 * `"claudeai"`: solo las cuentas de claude.ai pueden iniciar sesión

5181 * `"console"`: solo las cuentas de Claude Console pueden iniciar sesión5181 * `"console"`: solo las cuentas de Claude Console pueden iniciar sesión

5182 * `"gateway"`: Claude Code envía a las personas a un cloud gateway en lugar de un inicio de sesión propio de Anthropic5182 * `"gateway"`: Claude Code envía a las personas a un cloud gateway en lugar de un inicio de sesión propio de Anthropic

5183* **Default**: sin establecer, por lo que las personas eligen un método de inicio de sesión5183* **Valor predeterminado**: sin definir, por lo que las personas eligen un método de inicio de sesión

5184 5184 

5185```json settings.json theme={null}5185```json settings.json theme={null}

5186{5186{


5188}5188}

5189```5189```

5190 5190 

5191Todas las vías de inicio de sesión propias de Anthropic aplican la restricción, incluidas la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md), el Agent SDK, `claude setup-token` e `/install-github-app`, excepto la pantalla de inicio de sesión interactiva de la terminal, a la que se llega con `/login` o con la configuración inicial de la primera ejecución, que preselecciona el método sin imponerlo. Antes de v2.1.212, solo los inicios de sesión de la terminal lo aplicaban. Consulta [Restringir el inicio de sesión a tu organización](https://code.claude.com/docs/es/authentication.md#restrict-login-to-your-organization) para ver cómo se manejan cada vía de inicio de sesión, las credenciales del entorno y los proveedores de terceros.5191Todas las vías de inicio de sesión propias de Anthropic aplican la restricción, incluidas la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md), el Agent SDK, `claude setup-token` y `/install-github-app`, excepto la pantalla de inicio de sesión interactiva de la terminal, a la que se llega con `/login` o con la incorporación inicial, que preselecciona el método sin imponerlo. Antes de v2.1.212, solo los inicios de sesión en la terminal la aplicaban. Consulta [Restringir el inicio de sesión a tu organización](https://code.claude.com/docs/es/authentication.md#restrict-login-to-your-organization) para ver cómo se manejan cada vía de inicio de sesión, las credenciales del entorno y los proveedores externos.

5192 5192 

5193Cuando una fuente administrada en la máquina establece `"gateway"`, Claude Code no usa un inicio de sesión previo que haya quedado, una clave de API ni una credencial de `apiKeyHelper`. Consulta [La política del administrador requiere un inicio de sesión en Cloud gateway](https://code.claude.com/docs/es/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in) para ver el mensaje que produce cada uno. Si seleccionas un proveedor en la nube mediante `CLAUDE_CODE_USE_BEDROCK` o una variable de entorno similar, la sesión no necesita el inicio de sesión en el gateway. Antes de v2.1.261, Claude Code usaba un inicio de sesión previo que hubiera quedado en estas máquinas.5193Cuando una fuente administrada en la máquina establece `"gateway"`, Claude Code no usa un inicio de sesión, una clave de API ni una credencial de `apiKeyHelper` que haya quedado de antes. Consulta [Administrator policy requires a Cloud gateway sign-in](https://code.claude.com/docs/es/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in) para ver el mensaje que produce cada uno. Si seleccionas un proveedor de nube mediante `CLAUDE_CODE_USE_BEDROCK` o una variable de entorno similar, la sesión no necesita el inicio de sesión en el gateway. Antes de v2.1.261, Claude Code usaba en estas máquinas un inicio de sesión que hubiera quedado de antes.

5194 5194 

5195### `forceLoginGatewayUrl`5195### `forceLoginGatewayUrl`

5196 5196 

5197Establece la URL del gateway a la que se conecta la pantalla Cloud gateway de `/login`, para que las personas lleguen a tu [cloud gateway](https://code.claude.com/docs/es/claude-apps-gateway) sin escribir su dirección. La pantalla no tiene un campo de URL: con esta clave establecida, muestra la URL de tu gateway y se conecta cuando la persona presiona Intro; sin ella, le indica que se comunique con su administrador de TI.5197Establece la URL del gateway a la que se conecta la pantalla Cloud gateway de `/login`, para que las personas lleguen a tu [cloud gateway](https://code.claude.com/docs/es/claude-apps-gateway) sin escribir su dirección. La pantalla no tiene campo de URL: con esta clave establecida, muestra la URL de tu gateway y se conecta cuando la persona presiona Enter; sin ella, le indica que contacte a su administrador de TI.

5198 5198 

5199En la configuración administrada, esta clave o `forceLoginMethod: "gateway"` hace que la máquina sea solo de gateway, excepto para las sesiones que seleccionen un proveedor en la nube con `CLAUDE_CODE_USE_*`. `/login` entonces se abre en la pantalla Cloud gateway sin selector de método de inicio de sesión. Consulta [La política del administrador requiere un inicio de sesión en Cloud gateway](https://code.claude.com/docs/es/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in) para ver qué sucede con un inicio de sesión propio de Anthropic que haya quedado o con una clave de API. Establece ambas claves para que la pantalla se conecte en lugar de mostrar un error.5199En la configuración administrada, esta clave o `forceLoginMethod: "gateway"` hacen que la máquina sea solo de gateway, excepto para las sesiones que seleccionan un proveedor de nube con `CLAUDE_CODE_USE_*`. Entonces `/login` se abre en la pantalla Cloud gateway sin selector de método de inicio de sesión. Consulta [Administrator policy requires a Cloud gateway sign-in](https://code.claude.com/docs/es/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in) para ver qué ocurre con un inicio de sesión propio de Anthropic o una clave de API que hayan quedado de antes. Establece ambas claves para que la pantalla se conecte en lugar de mostrar un error.

5200 5200 

5201* **Scope**: [`User or managed`](#scopes). Se lee desde una fuente administrada en la máquina: `managed-settings.json`, el plist de macOS o el registro HKLM de Windows, o un auxiliar de políticas. En una máquina sin ninguna de ellas, Claude Code v2.1.295 o posterior también lo lee desde la [configuración de usuario](https://code.claude.com/docs/es/claude-apps-gateway#set-the-gateway-url-in-user-settings). Claude Code lo ignora en la configuración HKCU y en la administrada por servidor.5201* **Alcance**: [`User or managed`](#scopes). Se lee desde una fuente administrada en la máquina: `managed-settings.json`, el plist de macOS o el registro HKLM de Windows, o un auxiliar de políticas. En una máquina sin ninguna de esas fuentes, Claude Code v2.1.295 o posterior también lo lee desde la [configuración de usuario](https://code.claude.com/docs/es/claude-apps-gateway#set-the-gateway-url-in-user-settings). Claude Code lo ignora en HKCU y en la configuración administrada por servidor.

5202* **Type**: string, una URL completa que incluya el esquema5202* **Tipo**: cadena, una URL completa que incluye el esquema

5203* **Default**: sin establecer, por lo que la pantalla Cloud gateway muestra un error que indica a las personas que se comuniquen con su administrador de TI5203* **Valor predeterminado**: sin definir, por lo que la pantalla Cloud gateway muestra un error que indica a las personas que contacten a su administrador de TI

5204 5204 

5205```json managed-settings.json theme={null}5205```json managed-settings.json theme={null}

5206{5206{


5208}5208}

5209```5209```

5210 5210 

5211Si el valor no es una URL válida, la pantalla de inicio de sesión lo informa, y el resto del archivo de configuración administrada sigue aplicándose. Consulta [Establecer la URL del gateway](https://code.claude.com/docs/es/claude-apps-gateway#set-the-gateway-url).5211Si el valor no es una URL válida, la pantalla de inicio de sesión lo informa, y el resto del archivo de configuración administrada se sigue aplicando. Consulta [Establecer la URL del gateway](https://code.claude.com/docs/es/claude-apps-gateway#set-the-gateway-url).

5212 5212 

5213### `forceLoginOrgUUID`5213### `forceLoginOrgUUID`

5214 5214 

5215Desde una fuente administrada, exige que los inicios de sesión con cuentas de claude.ai pertenezcan a una organización de Anthropic, indicada como un único UUID, o a cualquiera de varias organizaciones, indicadas como una matriz. Desde cualquier archivo de configuración, Claude Code también usa un único UUID para preseleccionar esa organización durante un inicio de sesión en claude.ai o Claude Console, y no preselecciona nada si es una matriz. Si estableces la clave en cualquier archivo de configuración, Claude Code también deja de ofrecer el [inicio de sesión en Console sin clave](https://code.claude.com/docs/es/authentication.md#sign-in-without-an-api-key) en las sesiones a las que se aplica ese archivo y, en su lugar, crea una clave de API.5215Desde una fuente administrada, exige que los inicios de sesión con cuentas de claude.ai pertenezcan a una organización de Anthropic, indicada como un único UUID, o a cualquiera de varias organizaciones, indicadas como un array. Desde cualquier archivo de configuración, Claude Code también usa un único UUID para preseleccionar esa organización durante un inicio de sesión en claude.ai o Claude Console, y no preselecciona nada con un array. Si estableces la clave en cualquier archivo de configuración, Claude Code también deja de ofrecer el [inicio de sesión en Console sin clave](https://code.claude.com/docs/es/authentication.md#sign-in-without-an-api-key) en las sesiones a las que se aplica ese archivo y, en su lugar, crea una clave de API.

5216 5216 

5217* **Scope**: [`Any file`](#scopes). Solo una fuente administrada impone la restricción; un único UUID en cualquier otro archivo de configuración preselecciona la organización durante el inicio de sesión sin restringirla.5217* **Alcance**: [`Any file`](#scopes). Solo una fuente administrada impone la restricción; un único UUID en cualquier otro archivo de configuración preselecciona la organización durante el inicio de sesión sin restringirla.

5218* **Type**: string, un UUID, o matriz de strings, varios UUID5218* **Tipo**: cadena, un UUID, o array de cadenas, varios UUID

5219* **Default**: sin establecer, por lo que cualquier organización puede iniciar sesión5219* **Valor predeterminado**: sin definir, por lo que cualquier organización puede iniciar sesión

5220 5220 

5221Este ejemplo acepta inicios de sesión de cualquiera de dos organizaciones sin preseleccionar ninguna:5221Este ejemplo acepta inicios de sesión de cualquiera de dos organizaciones sin preseleccionar ninguna:

5222 5222 


5226}5226}

5227```5227```

5228 5228 

5229Si una fuente administrada establece una matriz vacía, o un valor que no es un string ni una matriz de strings, los usuarios que inician sesión con una cuenta de Anthropic no pueden iniciar Claude Code ni completar un inicio de sesión. Ven un mensaje que menciona `forceLoginOrgUUID` y les indica que se comuniquen con su administrador. En cambio, un [`policyHelper`](#policyhelper) que emite un valor del tipo incorrecto [hace fallar su ejecución](#helper-failures).5229Si una fuente administrada establece un array vacío, o un valor que no es una cadena ni un array de cadenas, los usuarios que inician sesión con una cuenta de Anthropic no pueden iniciar Claude Code ni completar un inicio de sesión. Ven un mensaje que menciona `forceLoginOrgUUID` y les indica que contacten a su administrador. Un [`policyHelper`](#policyhelper) que emite un valor del tipo incorrecto, en cambio, [hace fallar su ejecución](#helper-failures).

5230 5230 

5231Consulta [Restringir el inicio de sesión a tu organización](https://code.claude.com/docs/es/authentication.md#restrict-login-to-your-organization) para ver cómo trata Claude Code los inicios de sesión de Claude Console, las demás vías de inicio de sesión y las credenciales del entorno.5231Consulta [Restringir el inicio de sesión a tu organización](https://code.claude.com/docs/es/authentication.md#restrict-login-to-your-organization) para ver cómo trata Claude Code los inicios de sesión en Claude Console, las demás vías de inicio de sesión y las credenciales del entorno.

5232 5232 

5233### `gatewayInternalNetworks`5233### `gatewayInternalNetworks`

5234 5234 

5235Declara los bloques IPv4 públicos a partir de los cuales tu organización numera su red interna, para que `/login` acepte un [cloud gateway](https://code.claude.com/docs/es/claude-apps-gateway) en ellos. Requiere Claude Code v2.1.268 o posterior.5235Declara los bloques IPv4 públicos con los que tu organización numera su red interna, para que `/login` acepte allí un [cloud gateway](https://code.claude.com/docs/es/claude-apps-gateway). Requiere Claude Code v2.1.268 o posterior.

5236 5236 

5237Sin esta clave, `/login` se conecta a cualquier gateway en una dirección privada y a nada más. Con ella, `/login` también acepta un gateway dentro de un bloque de la lista, solo a través de una conexión directa. La dirección propia de la máquina en esa conexión también debe estar dentro del mismo bloque.5237Sin esta clave, `/login` se conecta a cualquier gateway en una dirección privada y a nada más. Con ella, `/login` también acepta un gateway dentro de un bloque de la lista, solo a través de una conexión directa. La propia dirección de la máquina en esa conexión también debe estar dentro del mismo bloque.

5238 5238 

5239* **Scope**: [`Managed`](#scopes). Se lee solo desde una fuente en la máquina: `managed-settings.json`, el plist de macOS o el registro HKLM de Windows, o un auxiliar de políticas. Claude Code lo ignora en la configuración HKCU y en la administrada por servidor.5239* **Alcance**: [`Managed`](#scopes). Se lee solo desde una fuente en la máquina: `managed-settings.json`, el plist de macOS o el registro HKLM de Windows, o un auxiliar de políticas. Claude Code lo ignora en HKCU y en la configuración administrada por servidor.

5240* **Type**: matriz de strings, como máximo cuatro bloques CIDR IPv4, cada uno de `/8` a `/32`, sin superponerse entre sí y sin que ninguno se superponga con el espacio privado.5240* **Tipo**: array de cadenas, como máximo cuatro bloques CIDR IPv4, cada uno de `/8` a `/32`, sin solaparse entre sí y sin que ninguno se solape con el espacio privado.

5241* **Default**: sin establecer, por lo que `/login` acepta solo gateways en direcciones privadas5241* **Valor predeterminado**: sin definir, por lo que `/login` solo acepta gateways en direcciones privadas

5242 5242 

5243```json managed-settings.json theme={null}5243```json managed-settings.json theme={null}

5244{5244{


5246}5246}

5247```5247```

5248 5248 

5249Reemplaza el rango de documentación del ejemplo por tu propio bloque. Claude Code rechaza los rangos de documentación, los rangos que los clientes de VPN y NAT64 usan localmente y el espacio reservado a partir del cual no se numera ninguna red, como el de multidifusión.5249Reemplaza el rango de documentación del ejemplo por tu propio bloque. Claude Code rechaza los rangos de documentación, los rangos que los clientes VPN y NAT64 usan localmente y el espacio reservado con el que no se numera ninguna red, como multicast.

5250 5250 

5251Si una entrada no es válida, o el valor no es una lista de strings, `/login` indica el problema y rechaza todo nuevo inicio de sesión en un gateway en la máquina hasta que corrijas el valor. Los inicios de sesión existentes siguen funcionando. Consulta [Permitir un gateway en espacio de direcciones públicas de tu propiedad](https://code.claude.com/docs/es/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) para ver las reglas completas y lo que ven los desarrolladores.5251Si una entrada no es válida, o el valor no es una lista de cadenas, `/login` indica el problema y rechaza todo nuevo inicio de sesión en gateways en la máquina hasta que corrijas el valor. Los inicios de sesión existentes siguen funcionando. Consulta [Permitir un gateway en un espacio de direcciones públicas de tu propiedad](https://code.claude.com/docs/es/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) para ver las reglas completas y lo que ven los desarrolladores.

5252 5252 

5253### `gcpAuthRefresh`5253### `gcpAuthRefresh`

5254 5254 

5255Ejecuta tu propio comando para actualizar las Application Default Credentials de Google Cloud cuando Claude Code detecte que han expirado o no se pueden cargar, para que las solicitudes a [Agent Platform de Google Cloud](https://code.claude.com/docs/es/google-vertex-ai.md) sigan funcionando sin que tengas que volver a autenticarte manualmente.5255Ejecuta tu propio comando para actualizar las Application Default Credentials de Google Cloud cuando Claude Code detecta que han expirado o no se pueden cargar, para que las solicitudes a [Agent Platform de Google Cloud](https://code.claude.com/docs/es/google-vertex-ai.md) sigan funcionando sin que tengas que volver a autenticarte manualmente.

5256 5256 

5257Cuando varios procesos de Claude Code que usan el mismo comando y las mismas credenciales, como terminales o ventanas del IDE separadas, detectan al mismo tiempo que han expirado, un proceso ejecuta el comando y los demás esperan a esa ejecución en lugar de iniciar la suya. Un proceso que ha esperado 60 segundos con una solicitud pendiente ejecuta el comando por sí mismo. Para desactivar esto, establece [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](https://code.claude.com/docs/es/env-vars) en `1`.5257Cuando varios procesos de Claude Code que usan el mismo comando y las mismas credenciales, como terminales separadas o ventanas del IDE, detectan al mismo tiempo que han expirado, un proceso ejecuta el comando y el resto espera a esa ejecución en lugar de iniciar la suya. Un proceso que ha esperado 60 segundos con una solicitud pendiente ejecuta el comando por sí mismo. Para desactivar esto, establece [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](https://code.claude.com/docs/es/env-vars) en `1`.

5258 5258 

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

5260* **Type**: string, una línea de comando del shell5260* **Tipo**: cadena, una línea de comandos de shell

5261* **Default**: sin establecer, por lo que el error de credenciales de Claude Code te indica que ejecutes `gcloud auth application-default login` tú mismo5261* **Valor predeterminado**: sin definir, por lo que el error de credenciales de Claude Code te indica que ejecutes `gcloud auth application-default login` tú mismo

5262 5262 

5263```json settings.json theme={null}5263```json settings.json theme={null}

5264{5264{


5270 5270 

5271### `otelHeadersHelper`5271### `otelHeadersHelper`

5272 5272 

5273Ejecuta tu propio comando para generar los encabezados que Claude Code envía con las exportaciones de OpenTelemetry, para backends cuyos tokens rotan. Claude Code lo ejecuta al inicio y periódicamente después, y espera un objeto JSON de valores de encabezado de tipo string en stdout.5273Ejecuta tu propio comando para generar los encabezados que Claude Code envía con las exportaciones de OpenTelemetry, para backends cuyos tokens rotan. Claude Code lo ejecuta al iniciar y periódicamente después, y espera un objeto JSON con valores de encabezado de tipo cadena en stdout.

5274 5274 

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

5276* **Type**: string, una ruta de ejecutable o una línea de comando del shell5276* **Tipo**: cadena, una ruta de ejecutable o una línea de comandos de shell

5277* **Default**: sin establecer, por lo que Claude Code no agrega encabezados generados por un auxiliar5277* **Valor predeterminado**: sin definir, por lo que Claude Code no agrega encabezados generados por un auxiliar

5278 5278 

5279```json settings.json theme={null}5279```json settings.json theme={null}

5280{5280{


5282}5282}

5283```5283```

5284 5284 

5285Establece el intervalo de actualización con [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](https://code.claude.com/docs/es/env-vars). Consulta [Encabezados dinámicos](https://code.claude.com/docs/es/monitoring-usage.md#dynamic-headers) para ver los requisitos del script y qué sucede cuando el auxiliar falla.5285Establece el intervalo de actualización con [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](https://code.claude.com/docs/es/env-vars). Consulta [Encabezados dinámicos](https://code.claude.com/docs/es/monitoring-usage.md#dynamic-headers) para ver los requisitos del script y qué ocurre cuando el auxiliar falla.

5286 5286 

5287## Actualizaciones y versiones5287## Actualizaciones y versiones

5288 5288 


5585| Listas de restricciones | Toma la lista completa de la fuente más alta que la establece, sin agregar entradas de fuentes inferiores. Cuando la fuente más alta no establece una, la toma completa de la siguiente fuente hacia abajo | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`allowedProviders`](#allowedproviders), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) y la cadena [`fallbackModel`](#fallbackmodel) |5585| Listas de restricciones | Toma la lista completa de la fuente más alta que la establece, sin agregar entradas de fuentes inferiores. Cuando la fuente más alta no establece una, la toma completa de la siguiente fuente hacia abajo | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`allowedProviders`](#allowedproviders), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) y la cadena [`fallbackModel`](#fallbackmodel) |

5586| Valores tomados completos | Toma el valor completo de la fuente más alta que lo establece, sin combinar entradas o campos de fuentes inferiores. Cuando la fuente más alta no lo establece, lo toma completo de la siguiente fuente hacia abajo | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |5586| Valores tomados completos | Toma el valor completo de la fuente más alta que lo establece, sin combinar entradas o campos de fuentes inferiores. Cuando la fuente más alta no lo establece, lo toma completo de la siguiente fuente hacia abajo | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |

5587| Servidores MCP proporcionados | Combina los nombres de servidor de todas las fuentes. Cuando dos fuentes establecen el mismo nombre, aplica la entrada completa de la fuente más alta | [`managedMcpServers`](#managedmcpservers) |5587| Servidores MCP proporcionados | Combina los nombres de servidor de todas las fuentes. Cuando dos fuentes establecen el mismo nombre, aplica la entrada completa de la fuente más alta | [`managedMcpServers`](#managedmcpservers) |

5588| Leer solo de la fuente de mayor prioridad | Lee la clave solo de la fuente de mayor prioridad que lleva una clave de política, por lo que el valor de una fuente inferior se ignora incluso cuando la fuente más alta no establece ninguno | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), los valores `"claudeai"` y `"console"` de [`forceLoginMethod`](#forceloginmethod), [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |5588| Se leen solo de la fuente de mayor prioridad | Lee la clave solo de la fuente de mayor prioridad que contiene una clave de política, por lo que el valor de una fuente inferior se ignora incluso cuando la fuente más alta no establece ninguno | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |

5589| `env` | [Combina por variable en todas las fuentes de administrador](https://code.claude.com/docs/es/managed-settings.md#keys-read-from-every-admin-source), bajo `"first-wins"` y `"merge"` | [`env`](#env) |5589| `env` | [Combina por variable en todas las fuentes de administrador](https://code.claude.com/docs/es/managed-settings.md#keys-read-from-every-admin-source), bajo `"first-wins"` y `"merge"` | [`env`](#env) |

5590| Todas las otras claves | Toma el valor de la fuente más alta que lo establece | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |5590| Todas las otras claves | Toma el valor de la fuente más alta que lo establece | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |

5591 5591 


5596* **[`policyHelper`](#policyhelper)**: Claude Code la honra solo cuando la fuente más alta que lleva una clave de política es una política MDM o un archivo de configuraciones administradas, por lo que bajo configuraciones administradas por el servidor no se aplica.5596* **[`policyHelper`](#policyhelper)**: Claude Code la honra solo cuando la fuente más alta que lleva una clave de política es una política MDM o un archivo de configuraciones administradas, por lo que bajo configuraciones administradas por el servidor no se aplica.

5597* **[`modelOverrides`](#modeloverrides)**: se empareja con `availableModels`. Claude Code toma `modelOverrides` de la fuente más alta que lo establece, a menos que una fuente más alta establezca `availableModels` sin `modelOverrides`. En ese caso ignora `modelOverrides` de todas las fuentes.5597* **[`modelOverrides`](#modeloverrides)**: se empareja con `availableModels`. Claude Code toma `modelOverrides` de la fuente más alta que lo establece, a menos que una fuente más alta establezca `availableModels` sin `modelOverrides`. En ese caso ignora `modelOverrides` de todas las fuentes.

5598* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks) y el valor `"gateway"` de [`forceLoginMethod`](#forceloginmethod)**: Claude Code nunca los lee de configuraciones administradas por el servidor, por lo que un valor allí ni se aplica ni oculta uno establecido en una política MDM o archivo de configuraciones administradas. Entre las fuentes de administrador en la máquina, solo la de mayor rango que lleva una clave de política los suministra, independientemente de si las configuraciones administradas por el servidor también están presentes.5598* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks) y el valor `"gateway"` de [`forceLoginMethod`](#forceloginmethod)**: Claude Code nunca los lee de configuraciones administradas por el servidor, por lo que un valor allí ni se aplica ni oculta uno establecido en una política MDM o archivo de configuraciones administradas. Entre las fuentes de administrador en la máquina, solo la de mayor rango que lleva una clave de política los suministra, independientemente de si las configuraciones administradas por el servidor también están presentes.

5599* **[`forceLoginOrgUUID`](#forceloginorguuid) y los valores `"claudeai"` y `"console"` de [`forceLoginMethod`](#forceloginmethod)**: consulta qué valor se aplica en [Qué fuente administrada suministra las claves de inicio de sesión](https://code.claude.com/docs/es/managed-settings.md#which-managed-source-supplies-login-keys) en lugar de en la tabla.

5599* **[`allowedProviders`](#allowedproviders)**: después de la regla de la tabla, la lista propia de la máquina aún limita el resultado, como su nota de Alcance de entrada indica.5600* **[`allowedProviders`](#allowedproviders)**: después de la regla de la tabla, la lista propia de la máquina aún limita el resultado, como su nota de Alcance de entrada indica.

5600 5601 

5601Para confirmar qué fuentes se combinaron en una máquina, ejecute `/status` y [lea la línea `Setting sources`](https://code.claude.com/docs/es/managed-settings#read-the-source-in-/status).5602Para confirmar qué fuentes se combinaron en una máquina, ejecute `/status` y [lea la línea `Setting sources`](https://code.claude.com/docs/es/managed-settings#read-the-source-in-/status).

skills.md +10 −3

Details

395| Campo | Requerido | Descripción |395| Campo | Requerido | Descripción |

396| :- | :- | :- |396| :- | :- | :- |

397| `name` | No | Nombre del comando mostrado en el menú `/`. Por defecto es el nombre del directorio. Consulta [Cómo un skill obtiene su nombre de comando](#how-a-skill-gets-its-command-name) para ver cómo el campo interactúa con el nombre que escribes para invocar el skill. |397| `name` | No | Nombre del comando mostrado en el menú `/`. Por defecto es el nombre del directorio. Consulta [Cómo un skill obtiene su nombre de comando](#how-a-skill-gets-its-command-name) para ver cómo el campo interactúa con el nombre que escribes para invocar el skill. |

398| `description` | Recomendado | Qué hace el skill y cuándo usarlo. Claude usa esto para decidir cuándo aplicar el skill. Si se omite, usa la primera línea no vacía del contenido markdown. Pon el caso de uso clave primero: el texto combinado de `description` y `when_to_use` se trunca en 1.536 caracteres en el listado de skills para reducir el uso de contexto. |398| `description` | Recomendado | Qué hace el skill y cuándo usarlo. Claude usa esto para decidir cuándo aplicar el skill. Si se omite, usa la primera línea no vacía del contenido markdown. Pon el caso de uso clave primero: el texto combinado de `description` y `when_to_use` se trunca en 1.536 caracteres en el listado de skills para reducir el uso de contexto. Los corchetes angulares en el texto [se muestran como `&lt;` y `&gt;`](#angle-brackets-in-a-skill-description). |

399| `when_to_use` | No | Contexto adicional para cuándo Claude debe invocar el skill, como frases desencadenantes o solicitudes de ejemplo. Se añade a `description` en el listado de skills y cuenta hacia el límite de 1.536 caracteres. |399| `when_to_use` | No | Contexto adicional para cuándo Claude debe invocar el skill, como frases desencadenantes o solicitudes de ejemplo. Se añade a `description` en el listado de skills y cuenta hacia el límite de 1.536 caracteres. |

400| `argument-hint` | No | Sugerencia mostrada durante el autocompletado para indicar argumentos esperados. Ejemplo: `[issue-number]` o `[filename] [format]`. |400| `argument-hint` | No | Sugerencia mostrada durante el autocompletado para indicar argumentos esperados. Ejemplo: `[issue-number]` o `[filename] [format]`. |

401| `arguments` | No | Argumentos posicionales nombrados para [`$name` substitution](#available-string-substitutions) en el contenido del skill. Acepta una cadena separada por espacios o una lista YAML. Los nombres se asignan a posiciones de argumentos en orden. |401| `arguments` | No | Argumentos posicionales nombrados para [`$name` substitution](#available-string-substitutions) en el contenido del skill. Acepta una cadena separada por espacios o una lista YAML. Los nombres se asignan a posiciones de argumentos en orden. |


778 778 

779Con el shell `bash` predeterminado, agregue `|| true` a cualquier otro comando que espere que salga con un código distinto de cero. Un script de verificación que sale con 1 cuando encuentra problemas es un ejemplo.779Con el shell `bash` predeterminado, agregue `|| true` a cualquier otro comando que espere que salga con un código distinto de cero. Un script de verificación que sale con 1 cuando encuentra problemas es un ejemplo.

780 780 

781#### Caracteres de control en comandos inyectados781#### Cuando no se ejecutó ningún comando de shell

782 782 

783`No shell command in <name> was run` significa que uno de los comandos `!` del archivo contiene un carácter de control sin procesar distinto de tabulación o salto de línea, por lo que no se ejecuta ninguno de ellos. Consulta [cómo encontrar y eliminar el carácter](https://code.claude.com/docs/es/errors.md#no-shell-command-was-run).783`No shell command in <name> was run` significa que uno de sus comandos de shell contiene un carácter que la herramienta no acepta. Para encontrar y eliminar el carácter, consulta la [referencia de errores](https://code.claude.com/docs/es/errors.md#no-shell-command-was-run).

784 784 

785#### Verificaciones de permisos en comandos inyectados785#### Verificaciones de permisos en comandos inyectados

786 786 


1229 1229 

1230Para aumentar el presupuesto, establezca la configuración [`skillListingBudgetFraction`](https://code.claude.com/docs/es/settings-reference#skilllistingbudgetfraction) (por ejemplo, `0.02` = 2%) o la variable de entorno `SLASH_COMMAND_TOOL_CHAR_BUDGET` a un recuento de caracteres fijo. Para liberar presupuesto para otros skills, establezca entradas de baja prioridad en `"name-only"` en [`skillOverrides`](#override-skill-visibility-from-settings) para que se listen sin descripción. También puede recortar el texto de `description` y `when_to_use` en la fuente: coloque el caso de uso clave primero, ya que el texto combinado de cada entrada está limitado a 1.536 caracteres independientemente del presupuesto. El límite es configurable con [`skillListingMaxDescChars`](https://code.claude.com/docs/es/settings-reference#skilllistingmaxdescchars).1230Para aumentar el presupuesto, establezca la configuración [`skillListingBudgetFraction`](https://code.claude.com/docs/es/settings-reference#skilllistingbudgetfraction) (por ejemplo, `0.02` = 2%) o la variable de entorno `SLASH_COMMAND_TOOL_CHAR_BUDGET` a un recuento de caracteres fijo. Para liberar presupuesto para otros skills, establezca entradas de baja prioridad en `"name-only"` en [`skillOverrides`](#override-skill-visibility-from-settings) para que se listen sin descripción. También puede recortar el texto de `description` y `when_to_use` en la fuente: coloque el caso de uso clave primero, ya que el texto combinado de cada entrada está limitado a 1.536 caracteres independientemente del presupuesto. El límite es configurable con [`skillListingMaxDescChars`](https://code.claude.com/docs/es/settings-reference#skilllistingmaxdescchars).

1231 1231 

1232### Los corchetes angulares en la descripción de un skill se muestran como `&lt;` y `&gt;`

1233 

1234Claude Code muestra `<` y `>` en los campos `description` y `when_to_use` como `&lt;` y `&gt;`. Para mostrar un marcador de posición como `<branch>`, usa corchetes o [`argument-hint`](#frontmatter-reference):

1235 

1236* **Corchetes**: reemplaza `<branch>` por `[branch]`, que se muestra tal como lo escribes

1237* **`argument-hint`**: mueve el marcador de posición a una nueva línea `argument-hint: <branch>`. Se muestra después del nombre del comando. Si también subes el skill a claude.ai o a la Skills API, primero [verifica si `argument-hint` se acepta allí](#using-skill-frontmatter-outside-claude-code).

1238 

1232### Skills personales desaparecieron1239### Skills personales desaparecieron

1233 1240 

1234Si las carpetas de skills que creó en `~/.claude/skills/` desaparecieron, busque en `~/.claude/skills/.trash/`. Cuando Claude Code [sincroniza skills desde claude.ai](#how-synced-skills-behave), las descarga en la subcarpeta separada `synced` y no mueve ni elimina las carpetas que crea.1241Si las carpetas de skills que creó en `~/.claude/skills/` desaparecieron, busque en `~/.claude/skills/.trash/`. Cuando Claude Code [sincroniza skills desde claude.ai](#how-synced-skills-behave), las descarga en la subcarpeta separada `synced` y no mueve ni elimina las carpetas que crea.

sub-agents.md +1 −1

Details

938 938 

939Para seguir trabajando mientras Claude espera, presiona **Ctrl+B** en la terminal o haz clic en [**Run in background**](https://code.claude.com/docs/es/vs-code.md#move-a-running-command-or-subagent-to-the-background) en VS Code.939Para seguir trabajando mientras Claude espera, presiona **Ctrl+B** en la terminal o haz clic en [**Run in background**](https://code.claude.com/docs/es/vs-code.md#move-a-running-command-or-subagent-to-the-background) en VS Code.

940 940 

941Si estableces la variable de entorno [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/es/env-vars) en `1` en lugar de desactivar el modo fork, Claude espera a cada subagente. Los comandos en segundo plano también quedan desactivados, y **Ctrl+B** no mueve nada a segundo plano.941Si estableces la variable de entorno [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/es/env-vars) en `1` en lugar de desactivar el modo fork, Claude espera a que los subagentes terminen antes de continuar. Los comandos en segundo plano también quedan desactivados, y **Ctrl+B** no mueve nada a segundo plano.

942 942 

943#### Herramientas, permisos y resultados de los subagentes en segundo plano943#### Herramientas, permisos y resultados de los subagentes en segundo plano

944 944 

terminal-config.md +87 −87

Details

18 18 

19Esta página trata sobre cómo hacer que tu terminal envíe las señales correctas a Claude Code. Para cambiar qué teclas responde Claude Code en sí, consulta [atajos de teclado](https://code.claude.com/docs/es/keybindings.md) en su lugar.19Esta página trata sobre cómo hacer que tu terminal envíe las señales correctas a Claude Code. Para cambiar qué teclas responde Claude Code en sí, consulta [atajos de teclado](https://code.claude.com/docs/es/keybindings.md) en su lugar.

20 20 

21## Ingrese indicaciones de varias líneas21## Ingresar prompts de varias líneas

22 22 

23Presionar Enter envía su mensaje. Para agregar un salto de línea sin enviar, presione Ctrl+J, o escriba `\` y luego presione Enter. Ambos funcionan en cada terminal sin necesidad de configuración.23Al presionar Enter se envía tu mensaje. Para agregar un salto de línea sin enviarlo, presiona Ctrl+J, o escribe `\` y luego presiona Enter. Ambas opciones funcionan en cualquier terminal sin necesidad de configuración.

24 24 

25En la mayoría de las terminales también puede presionar Mayús+Enter, pero la compatibilidad varía según el emulador de terminal:25En la mayoría de las terminales también puedes presionar Shift+Enter, pero la compatibilidad varía según el emulador de terminal:

26 26 

27| Terminal | Mayús+Enter para nueva línea |27| Terminal | Shift+Enter para nueva línea |

28| :- | :- |28| :- | :- |

29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funciona sin configuración |29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funciona sin configuración |

30| Otras terminales que admiten el protocolo de teclado kitty, como foot y Alacritty 0.16 o posterior | Funciona sin configuración. Requiere Claude Code v2.1.269 o posterior |30| Otras terminales compatibles con el protocolo de teclado de kitty, como foot y Alacritty 0.16 o posterior | Funciona sin configuración. Requiere Claude Code v2.1.269 o posterior |

31| VS Code, Cursor, Devin Desktop, Alacritty anterior a 0.16, Zed | Ejecute `/terminal-setup` una vez |31| VS Code, Cursor, Devin Desktop, Alacritty anterior a 0.16, Zed | Ejecuta `/terminal-setup` una vez |

32| gnome-terminal, IDEs de JetBrains como PyCharm y Android Studio | No disponible; use Ctrl+J o `\` luego Enter |32| gnome-terminal, IDE de JetBrains como PyCharm y Android Studio | No disponible; usa Ctrl+J o `\` y luego Enter |

33 33 

34Para VS Code, Cursor, Devin Desktop, Alacritty anterior a 0.16 y Zed, `/terminal-setup` escribe un atajo de teclado Mayús+Enter en el archivo de configuración de la terminal. En la primera ejecución verá una confirmación como `Installed VSCode terminal Shift+Enter key binding`. Los enlaces existentes se dejan en su lugar; si ve un mensaje como `VSCode terminal Shift+Enter key binding already configured`, no se realizó ningún cambio. Ejecute `/terminal-setup` directamente en la terminal del host en lugar de dentro de tmux o screen, ya que necesita escribir en la configuración de la terminal del host.34Para VS Code, Cursor, Devin Desktop, Alacritty anterior a 0.16 y Zed, `/terminal-setup` escribe un atajo de teclado Shift+Enter en el archivo de configuración de la terminal. En la primera ejecución ves una confirmación como `Installed VSCode terminal Shift+Enter key binding`. Los atajos de teclado existentes se mantienen; si ves un mensaje como `VSCode terminal Shift+Enter key binding already configured`, no se realizó ningún cambio. Ejecuta `/terminal-setup` directamente en la terminal anfitriona y no dentro de tmux o screen, ya que necesita escribir en la configuración de la terminal anfitriona.

35 35 

36En VS Code, Cursor y Devin Desktop, `/terminal-setup` también actualiza dos configuraciones del editor: establece `terminal.integrated.gpuAcceleration` en `"off"` para evitar texto distorsionado en la terminal integrada, y establece `terminal.integrated.mouseWheelScrollSensitivity` para un desplazamiento más suave en [modo de pantalla completa](https://code.claude.com/docs/es/fullscreen.md). Para deshacer el cambio de aceleración de GPU, establézcalo nuevamente en `"auto"` y recargue la ventana del editor.36En VS Code, Cursor y Devin Desktop, `/terminal-setup` también actualiza dos ajustes del editor: establece `terminal.integrated.gpuAcceleration` en `"off"` para evitar texto distorsionado en la terminal integrada, y establece `terminal.integrated.mouseWheelScrollSensitivity` para un desplazamiento más fluido en el [modo de pantalla completa](https://code.claude.com/docs/es/fullscreen.md). Para deshacer el cambio de aceleración por GPU, vuelve a establecerlo en `"auto"` y recarga la ventana del editor.

37 37 

38En Zed, `/terminal-setup` actualiza su `keymap.json` en su lugar:38En Zed, `/terminal-setup` actualiza tu `keymap.json` directamente:

39 39 

40* Si el mapa de teclas ya tiene enlaces y ninguno de ellos es un `shift-enter` de Terminal, Claude Code primero lo respalda en una copia en el mismo directorio, como `keymap.json.1a2b3c4d.bak`, luego fusiona el enlace Mayús+Enter en su mapa de teclas, manteniendo sus otros atajos de teclado y comentarios40* Si el keymap ya tiene atajos de teclado y ninguno de ellos es un `shift-enter` de Terminal, Claude Code primero crea una copia de seguridad en el mismo directorio, como `keymap.json.1a2b3c4d.bak`, y luego combina el atajo de teclado Shift+Enter en tu keymap, conservando tus otros atajos de teclado y comentarios

41* Si Claude Code no puede leer o analizar el mapa de teclas, no puede hacer una copia de seguridad, o no puede verificar el resultado fusionado, [deja el archivo sin cambios e imprime el bloque de enlace para que lo agregue usted mismo](https://code.claude.com/docs/es/errors.md#terminal-setup-left-your-zed-keymap-unchanged)41* Si Claude Code no puede leer o analizar el keymap, no puede crear la copia de seguridad o no puede verificar el resultado combinado, [deja el archivo sin cambios e imprime el bloque del atajo de teclado para que lo agregues tú mismo](https://code.claude.com/docs/es/errors.md#terminal-setup-left-your-zed-keymap-unchanged)

42 42 

43Si está ejecutando dentro de tmux, Mayús+Enter también requiere la [configuración de tmux a continuación](#configure-tmux) incluso cuando la terminal externa la admite.43Si estás ejecutando dentro de tmux, Shift+Enter también requiere la [configuración de tmux que aparece más abajo](#configure-tmux), incluso cuando la terminal externa lo admite.

44 44 

45Para vincular una nueva línea a una tecla diferente, o para intercambiar el comportamiento de modo que Enter inserte una nueva línea y Mayús+Enter envíe, asigne las acciones `chat:newline` y `chat:submit` en su [archivo de atajos de teclado](https://code.claude.com/docs/es/keybindings.md).45Para asignar la nueva línea a otra tecla, o para intercambiar el comportamiento de modo que Enter inserte una nueva línea y Shift+Enter envíe, asigna las acciones `chat:newline` y `chat:submit` en tu [archivo de atajos de teclado](https://code.claude.com/docs/es/keybindings.md).

46 46 

47## Habilitar atajos de teclado con la tecla Opción en macOS47## Habilitar atajos con la tecla Option en macOS

48 48 

49Algunos atajos de teclado de Claude Code utilizan la tecla Opción, como Opción+Intro para una nueva línea u Opción+P para cambiar modelos. En macOS, la mayoría de los terminales no envían Opción como modificador de forma predeterminada, por lo que estos atajos no funcionan hasta que los habilite. La configuración del terminal para esto generalmente se etiqueta como "Use Option as Meta Key"; Meta es el nombre histórico de Unix para la tecla ahora etiquetada como Opción o Alt.49Algunos atajos de Claude Code usan la tecla Option, como Option+Enter para una nueva línea u Option+P para cambiar de modelo. En macOS, la mayoría de las terminales no envían Option como modificador de forma predeterminada, así que estos atajos no hacen nada hasta que lo habilites. El ajuste de la terminal para esto suele llamarse "Use Option as Meta Key"; Meta es el nombre histórico en Unix de la tecla que ahora se etiqueta como Option o Alt.

50 50 

51**Apple Terminal**51**Apple Terminal**

52 52 

53Abra Configuración → Perfiles → Teclado y marque "Use Option as Meta Key".53Abre Settings → Profiles → Keyboard y marca "Use Option as Meta Key".

54 54 

55Si aceptó la solicitud de configuración del terminal de primera ejecución de Claude Code, esto ya está hecho. Esa solicitud ejecuta `/terminal-setup` para usted, que habilita Opción como Meta y desactiva la campana audible en su perfil de Apple Terminal.55Si aceptaste el prompt de configuración de la terminal que Claude Code muestra la primera vez que se ejecuta, esto ya está hecho. Ese prompt ejecuta `/terminal-setup` por ti, lo que habilita Option como Meta y desactiva la campana audible en tu perfil de Apple Terminal.

56 56 

57En [modo lector de pantalla](https://code.claude.com/docs/es/accessibility.md), `/terminal-setup` deja sin cambios el ajuste de la campana para que la campana de la terminal permanezca audible. Si una ejecución anterior desactivó la campana, vuelve a activarla en Configuración → Perfiles → Avanzado → "Audible bell".57En el [modo de lector de pantalla](https://code.claude.com/docs/es/accessibility.md), `/terminal-setup` deja sin cambios el ajuste de la campana para que la campana de la terminal siga siendo audible. Si una ejecución anterior desactivó la campana, vuelve a activarla en Settings → Profiles → Advanced → "Audible bell".

58 58 

59**iTerm2**59**iTerm2**

60 60 

61Abre Configuración → Perfiles → Teclas → General y establece Left Option key y Right Option key en "Esc+".61Abre Settings → Profiles → Keys → General y establece Left Option key y Right Option key en "Esc+".

62 62 

63Ejecutar `/terminal-setup` en iTerm2 habilita "Applications in terminal may access clipboard" en Configuración → General → Selection para que el comando `/copy` pueda escribir en su portapapeles del sistema. El comando detecta iTerm2 incluso cuando se ejecuta desde dentro de tmux. Reinicie iTerm2 para que el cambio surta efecto.63Ejecutar `/terminal-setup` en iTerm2 habilita "Applications in terminal may access clipboard" en Settings → General → Selection para que el comando `/copy` pueda escribir en el portapapeles del sistema. El comando detecta iTerm2 incluso cuando se ejecuta dentro de tmux. Reinicia iTerm2 para que el cambio surta efecto.

64 64 

65**VS Code**65**VS Code**

66 66 

67Agregue `"terminal.integrated.macOptionIsMeta": true` a su configuración de VS Code.67Agrega `"terminal.integrated.macOptionIsMeta": true` a tu configuración de VS Code.

68 68 

69Para Ghostty, Kitty y otros terminales, busque una configuración de Option-as-Alt u Option-as-Meta en el archivo de configuración del terminal.69Para Ghostty, Kitty y otras terminales, busca un ajuste Option-as-Alt u Option-as-Meta en el archivo de configuración de la terminal.

70 70 

71## Obtener una campana de terminal o notificación71## Obtener una campana de terminal o notificación

72 72 


144 144 

145Si cada pulsación de Retroceso elimina una palabra completa, su terminal envía `^H` para Retroceso simple. Establezca [`CLAUDE_CODE_BS_AS_CTRL_BACKSPACE=0`](https://code.claude.com/docs/es/env-vars). Retroceso y Ctrl+H entonces borran un carácter cada uno. Si Ctrl+Retroceso borra solo un carácter en macOS o Linux porque su terminal envía `^H` para ello, establezca la variable a `1` en su lugar.145Si cada pulsación de Retroceso elimina una palabra completa, su terminal envía `^H` para Retroceso simple. Establezca [`CLAUDE_CODE_BS_AS_CTRL_BACKSPACE=0`](https://code.claude.com/docs/es/env-vars). Retroceso y Ctrl+H entonces borran un carácter cada uno. Si Ctrl+Retroceso borra solo un carácter en macOS o Linux porque su terminal envía `^H` para ello, establezca la variable a `1` en su lugar.

146 146 

147## Coincidir con el tema de color147## Ajustar el tema de colores

148 148 

149Utilice el comando `/theme`, o el selector de temas en `/config`, para elegir un tema de Claude Code que coincida con su terminal. Al seleccionar la opción automática, se detecta el fondo claro u oscuro de su terminal, por lo que el tema sigue los cambios de apariencia del sistema operativo siempre que lo haga su terminal. Claude Code no controla el esquema de colores de la terminal en sí, que se establece mediante la aplicación de terminal.149Usa el comando `/theme`, o el selector de temas en `/config`, para elegir un tema de Claude Code que coincida con tu terminal. Al seleccionar la opción automática, se detecta si el fondo de tu terminal es claro u oscuro, por lo que el tema sigue los cambios de apariencia del sistema operativo siempre que tu terminal también lo haga. Claude Code no controla el esquema de colores propio de la terminal, que se configura en la aplicación de terminal.

150 150 

151Para personalizar lo que aparece en la parte inferior de la interfaz, configure una [línea de estado personalizada](https://code.claude.com/docs/es/statusline.md) que muestre el modelo actual, el directorio de trabajo, la rama de git u otro contexto.151Para personalizar lo que aparece en la parte inferior de la interfaz, configura una [línea de estado personalizada](https://code.claude.com/docs/es/statusline.md) que muestre el modelo actual, el directorio de trabajo, la rama de git u otro contexto.

152 152 

153### Crear un tema personalizado153### Crear un tema personalizado

154 154 

155Además de los ajustes preestablecidos integrados, `/theme` enumera cualquier tema personalizado que haya definido y cualquier tema contribuido por [plugins](https://code.claude.com/docs/es/plugins/components.md#themes-and-output-styles) instalados. Seleccione **Nuevo tema personalizado…** al final de la lista para crear uno de forma interactiva: usted nombra el tema y luego elige tokens de color individuales para anular. Presione `Ctrl+E` mientras un tema personalizado está resaltado para editarlo.155Además de los ajustes preestablecidos integrados, `/theme` muestra los temas personalizados que hayas definido y los temas aportados por los [plugins](https://code.claude.com/docs/es/plugins/components.md#themes-and-output-styles) instalados. Selecciona **New custom theme…** al final de la lista para crear uno de forma interactiva: le das un nombre al tema y luego eliges los tokens de color individuales que quieres sobrescribir. Presiona `Ctrl+E` mientras un tema personalizado está resaltado para editarlo.

156 156 

157Cada tema personalizado es un archivo JSON en `~/.claude/themes/`. El nombre de archivo sin la extensión `.json` es el slug del tema, y seleccionar el tema almacena `custom:<slug>` como su preferencia de tema. El archivo tiene tres campos opcionales:157Cada tema personalizado es un archivo JSON en `~/.claude/themes/`. El nombre del archivo sin la extensión `.json` es el slug del tema, y al seleccionar el tema se guarda `custom:<slug>` como tu preferencia de tema. El archivo tiene tres campos opcionales:

158 158 

159| Campo | Tipo | Descripción |159| Campo | Tipo | Descripción |

160| :- | :- | :- |160| :- | :- | :- |

161| `name` | string | Etiqueta de visualización mostrada en `/theme`. Por defecto es el slug del nombre de archivo |161| `name` | string | Etiqueta que se muestra en `/theme`. De forma predeterminada, es el slug del nombre del archivo |

162| `base` | string | Ajuste preestablecido integrado desde el que comienza el tema: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, o `light-ansi`. Por defecto es `dark` |162| `base` | string | Ajuste preestablecido integrado del que parte el tema: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi` o `light-ansi`. El valor predeterminado es `dark` |

163| `overrides` | object | Mapa de nombres de tokens de color a valores de color. Los tokens no enumerados aquí se heredan del ajuste preestablecido base |163| `overrides` | object | Mapa de nombres de tokens de color a valores de color. Los tokens que no se incluyan aquí toman el valor del ajuste preestablecido base |

164 164 

165Los valores de color aceptan `#rrggbb`, `#rgb`, `rgb(r,g,b)`, `ansi256(n)`, o `ansi:<name>` donde `<name>` es uno de los 16 nombres de color ANSI estándar como `red` o `cyanBright`. Los tokens desconocidos y los valores de color inválidos se ignoran, por lo que un error tipográfico no puede romper la representación.165Los valores de color aceptan `#rrggbb`, `#rgb`, `rgb(r,g,b)`, `ansi256(n)` o `ansi:<name>`, donde `<name>` es uno de los 16 nombres de colores ANSI estándar, como `red` o `cyanBright`. Los tokens desconocidos y los valores de color no válidos se ignoran, así que un error tipográfico no puede romper la visualización.

166 166 

167El siguiente ejemplo define un tema que mantiene el ajuste preestablecido oscuro pero recolora el acento del prompt, el texto de error y el texto de éxito:167El siguiente ejemplo define un tema que mantiene el ajuste preestablecido oscuro, pero cambia el color del acento del prompt, el texto de error y el texto de éxito:

168 168 

169```json ~/.claude/themes/dracula.json theme={null}169```json ~/.claude/themes/dracula.json theme={null}

170{170{


178}178}

179```179```

180 180 

181Claude Code observa `~/.claude/themes/` y se recarga cuando se agrega o cambia un archivo, por lo que las ediciones realizadas en su editor se aplican a una sesión en ejecución sin necesidad de reiniciar. Si la carpeta `~/.claude/themes/` en sí no existía cuando Claude Code se inició, reinicie una vez después de crear su primer archivo de tema. Después de eso, los cambios se aplican sin necesidad de reiniciar.181Claude Code vigila `~/.claude/themes/` y se recarga cuando se agrega o modifica un archivo, por lo que los cambios que hagas en tu editor se aplican a una sesión en curso sin necesidad de reiniciar. Si la carpeta `~/.claude/themes/` no existía cuando Claude Code se inició, reinicia una vez después de crear tu primer archivo de tema. A partir de entonces, los cambios se aplican sin reiniciar.

182 182 

183La referencia a continuación cubre los tokens que puede establecer en `overrides`. El editor interactivo en `/theme` muestra los mismos tokens con una vista previa en vivo, además de algunos acentos de propósito único como colores de pantalla de incorporación que se omiten aquí.183La referencia siguiente cubre los tokens que puedes configurar en `overrides`. El editor interactivo de `/theme` muestra los mismos tokens con una vista previa en vivo, además de algunos acentos de uso específico, como los colores de la pantalla de incorporación, que se omiten aquí.

184 184 

185> **Referencia de tokens de color**185> **Referencia de tokens de color**

186>186>

187> El siguiente ejemplo combina tokens de varios de los grupos a continuación: el acento de marca, el borde del modo de plan, los fondos de diff y el fondo del mensaje.187> El siguiente ejemplo combina tokens de varios de los grupos siguientes: el acento de marca, el borde del modo plan, los fondos del diff y el fondo de los mensajes.

188>188>

189> ```json ~/.claude/themes/midnight.json theme={null}189> ```json ~/.claude/themes/midnight.json theme={null}

190> {190> {


202>202>

203> #### Colores de texto y acento203> #### Colores de texto y acento

204>204>

205> Controle el acento de marca principal y los matices de texto de primer plano utilizados en toda la interfaz.205> Controlan el acento principal de la marca y los tonos del texto en primer plano que se usan en toda la interfaz.

206>206>

207> | Token | Controla |207> | Token | Controla |

208> | :- | :- |208> | :- | :- |

209> | `claude` | Acento de marca principal, utilizado para el spinner y la etiqueta del asistente |209> | `claude` | Acento principal de la marca, usado en el indicador de actividad y en la etiqueta del asistente |

210> | `text` | Texto de primer plano predeterminado |210> | `text` | Texto predeterminado en primer plano |

211> | `inverseText` | Texto dibujado sobre un fondo de color, como insignias de estado |211> | `inverseText` | Texto dibujado sobre un fondo de color, como las insignias de estado |

212> | `inactive` | Texto secundario como sugerencias, marcas de tiempo y elementos deshabilitados |212> | `inactive` | Texto secundario, como sugerencias, marcas de tiempo y elementos deshabilitados |

213> | `subtle` | Bordes tenues y texto secundario de énfasis reducido |213> | `subtle` | Bordes tenues y texto secundario atenuado |

214> | `suggestion` | Sugerencias de autocompletado y resaltado de selección en selectores |214> | `suggestion` | Sugerencias de autocompletado y resaltado de selección en los selectores |

215> | `permission` | Bordes de diálogo, incluidas solicitudes de permiso y selectores |215> | `permission` | Bordes de los diálogos, incluidas las solicitudes de permiso y los selectores |

216> | `remember` | Indicadores de memoria y `CLAUDE.md` |216> | `remember` | Indicadores de memoria y de `CLAUDE.md` |

217>217>

218> #### Colores de estado218> #### Colores de estado

219>219>

220> Señale estados de éxito, fallo y advertencia en mensajes e indicadores.220> Señalan estados de éxito, fallo y advertencia en mensajes e indicadores.

221>221>

222> | Token | Controla |222> | Token | Controla |

223> | :- | :- |223> | :- | :- |

224> | `success` | Mensajes de éxito y comprobaciones aprobadas |224> | `success` | Mensajes de éxito y comprobaciones superadas |

225> | `error` | Mensajes de error y fallos |225> | `error` | Mensajes de error y fallos |

226> | `warning` | Advertencias, mensajes de precaución y el indicador del modo automático |226> | `warning` | Advertencias, mensajes de precaución y el indicador del modo automático |

227> | `merged` | Estado de solicitud de extracción fusionada |227> | `merged` | Estado de pull request fusionado |

228>228>

229> #### Cuadro de entrada e indicadores de modo229> #### Cuadro de entrada e indicadores de modo

230>230>

231> Establezca el color del borde del cuadro de entrada y el acento mostrado mientras un modo de permiso o indicador está activo.231> Configuran el color del borde del cuadro de entrada y el acento que se muestra mientras un modo de permisos o un indicador está activo.

232>232>

233> | Token | Controla |233> | Token | Controla |

234> | :- | :- |234> | :- | :- |

235> | `promptBorder` | Borde del cuadro de entrada |235> | `promptBorder` | Borde del cuadro de entrada |

236> | `planMode` | Acento del modo de plan, mensajes del modo de plan y diálogos del modo de plan |236> | `planMode` | Acento del modo plan, mensajes del plan y diálogos del modo plan |

237> | `autoAccept` | Acento del modo de aceptación de ediciones |237> | `autoAccept` | Acento del modo de aceptación de ediciones |

238> | `bashBorder` | Borde del cuadro de entrada al ingresar un comando de shell `!` |238> | `bashBorder` | Borde del cuadro de entrada al escribir un comando de shell con `!` |

239> | `ide` | Indicador de conexión IDE |239> | `ide` | Indicador de conexión con el IDE |

240> | `fastMode` | Indicador de modo rápido |240> | `fastMode` | Indicador del modo rápido |

241> | `effortUltra` | La etiqueta `ultracode` en el borde del cuadro de entrada mientras [ultracode](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) está activado. Su anulación de este color tiene efecto en Claude Code v2.1.239 o posterior |241> | `effortUltra` | La etiqueta `ultracode` en el borde del cuadro de entrada mientras [ultracode](https://code.claude.com/docs/es/model-config.md#adjust-effort-level) está activado. Tu sobrescritura de este color surte efecto en Claude Code v2.1.239 o posterior |

242>242>

243> #### Representación de diff243> #### Visualización de diffs

244>244>

245> Coloree el código agregado y eliminado en ediciones y revisiones de archivos.245> Dan color al código agregado y eliminado en las ediciones de archivos y las revisiones.

246>246>

247> | Token | Controla |247> | Token | Controla |

248> | :- | :- |248> | :- | :- |

249> | `diffAdded` | Fondo de líneas agregadas |249> | `diffAdded` | Fondo de las líneas agregadas |

250> | `diffRemoved` | Fondo de líneas eliminadas |250> | `diffRemoved` | Fondo de las líneas eliminadas |

251> | `diffAddedDimmed` | Fondo de líneas agregadas en el diff atenuado mostrado después de rechazar una edición |251> | `diffAddedDimmed` | Fondo de las líneas agregadas en el diff atenuado que se muestra después de rechazar una edición |

252> | `diffRemovedDimmed` | Fondo de líneas eliminadas en el diff atenuado mostrado después de rechazar una edición |252> | `diffRemovedDimmed` | Fondo de las líneas eliminadas en el diff atenuado que se muestra después de rechazar una edición |

253> | `diffAddedWord` | Resaltado a nivel de palabra dentro de una línea agregada |253> | `diffAddedWord` | Resaltado a nivel de palabra dentro de una línea agregada |

254> | `diffRemovedWord` | Resaltado a nivel de palabra dentro de una línea eliminada |254> | `diffRemovedWord` | Resaltado a nivel de palabra dentro de una línea eliminada |

255>255>

256> #### Modo de pantalla completa256> #### Modo de pantalla completa

257>257>

258> Claude Code utiliza `userMessageBackgroundHover`, `selectionBg` y `composerSidebarBackground` solo en [modo de representación de pantalla completa](https://code.claude.com/docs/es/fullscreen.md). Pinta `userMessageBackground`, `bashMessageBackgroundColor` y `memoryBackgroundColor` en los renderizadores predeterminado y de pantalla completa.258> Claude Code usa `userMessageBackgroundHover`, `selectionBg` y `composerSidebarBackground` solo en el [modo de visualización en pantalla completa](https://code.claude.com/docs/es/fullscreen.md). Pinta `userMessageBackground`, `bashMessageBackgroundColor` y `memoryBackgroundColor` tanto en el renderizador predeterminado como en el de pantalla completa.

259>259>

260> | Token | Controla |260> | Token | Controla |

261> | :- | :- |261> | :- | :- |

262> | `userMessageBackground` | Fondo detrás de sus mensajes en la transcripción |262> | `userMessageBackground` | Fondo detrás de tus mensajes en la transcripción |

263> | `userMessageBackgroundHover` | Fondo detrás de un mensaje mientras se desplaza o se expande |263> | `userMessageBackgroundHover` | Fondo detrás de un mensaje al pasar el cursor por encima o al expandirlo |

264> | `bashMessageBackgroundColor` | Fondo detrás de entradas de comando de shell `!` en la transcripción |264> | `bashMessageBackgroundColor` | Fondo detrás de las entradas de comandos de shell con `!` en la transcripción |

265> | `memoryBackgroundColor` | Fondo detrás de entradas de memoria `#` en la transcripción |265> | `memoryBackgroundColor` | Fondo detrás de las entradas de memoria con `#` en la transcripción |

266> | `selectionBg` | Fondo del texto seleccionado con el ratón |266> | `selectionBg` | Fondo del texto seleccionado con el mouse |

267> | `composerSidebarBackground` | Fondo del panel junto a la conversación, como el [panel de diff](https://code.claude.com/docs/es/fullscreen.md#watch-your-changes-in-the-diff-panel) o el [panel de un mod](https://code.claude.com/docs/es/plugins/mods/interface.md) |267> | `composerSidebarBackground` | Fondo del panel junto a la conversación, como el [panel de diff](https://code.claude.com/docs/es/fullscreen.md#watch-your-changes-in-the-diff-panel) o el [panel de un mod](https://code.claude.com/docs/es/plugins/mods/interface.md) |

268>268>

269> #### Medidor de uso y etiquetas de altavoz269> #### Medidor de uso y etiquetas de interlocutor

270>270>

271> Ajuste la barra mostrada en la vista `/usage` y las etiquetas que distinguen sus mensajes de los de Claude.271> Ajustan la barra que se muestra en la vista `/usage` y las etiquetas que distinguen tus mensajes de los de Claude.

272>272>

273> | Token | Controla |273> | Token | Controla |

274> | :- | :- |274> | :- | :- |

275> | `rate_limit_fill` | Porción llena del medidor de uso |275> | `rate_limit_fill` | Parte llena del medidor de uso |

276> | `rate_limit_empty` | Porción no llena del medidor de uso |276> | `rate_limit_empty` | Parte vacía del medidor de uso |

277> | `briefLabelYou` | Color de la etiqueta `You` en sus mensajes |277> | `briefLabelYou` | Color de la etiqueta `You` en tus mensajes |

278> | `briefLabelClaude` | Color de la etiqueta `Claude` en mensajes del asistente |278> | `briefLabelClaude` | Color de la etiqueta `Claude` en los mensajes del asistente |

279>279>

280> #### Variantes de shimmer y colores de subagentes280> #### Variantes de brillo y colores de subagentes

281>281>

282> Varios tokens tienen una variante de shimmer emparejada que proporciona el color más claro utilizado en el gradiente animado del spinner. Anule el shimmer junto con su token base si la animación se ve desajustada.282> Varios tokens tienen una variante de brillo asociada que aporta el color más claro usado en el degradado animado del indicador de actividad. Sobrescribe la variante de brillo junto con su token base si la animación no combina bien.

283>283>

284> * `claude` y `claudeShimmer`284> * `claude` y `claudeShimmer`

285> * `warning` y `warningShimmer`285> * `warning` y `warningShimmer`

286> * `permission` y `permissionShimmer`286> * `permission` y `permissionShimmer`

287> * `promptBorder` y `promptBorderShimmer`287> * `promptBorder` y `promptBorderShimmer`

288> * `inactive` e `inactiveShimmer`288> * `inactive` y `inactiveShimmer`

289> * `fastMode` y `fastModeShimmer`289> * `fastMode` y `fastModeShimmer`

290>290>

291> Cada [subagente](https://code.claude.com/docs/es/sub-agents.md) y tarea paralela se muestra en uno de ocho colores nombrados para que pueda distinguirlos en la transcripción. Los nombres de tokens siguen el patrón `<color>_FOR_SUBAGENTS_ONLY`, donde `<color>` es `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, o `cyan`. Anule estos para cambiar el aspecto de cada color nombrado. Por ejemplo, un subagente con `color: blue` en su definición se dibuja usando el valor `blue_FOR_SUBAGENTS_ONLY`.291> Cada [subagente](https://code.claude.com/docs/es/sub-agents.md) y tarea en paralelo se muestra con uno de ocho colores con nombre para que puedas distinguirlos en la transcripción. Los nombres de los tokens siguen el patrón `<color>_FOR_SUBAGENTS_ONLY`, donde `<color>` es `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` o `cyan`. Sobrescríbelos para cambiar cómo se ve cada color con nombre. Por ejemplo, un subagente con `color: blue` en su definición se dibuja con el valor de `blue_FOR_SUBAGENTS_ONLY`.

292>292>

293> Cuando [`ultrathink`](https://code.claude.com/docs/es/model-config#use-ultrathink-for-one-off-deep-reasoning) puede elevar el esfuerzo de un turno, Claude Code representa la palabra en la entrada del prompt con un gradiente arcoíris de siete colores. Los nombres de tokens siguen el patrón `rainbow_<color>` y `rainbow_<color>_shimmer`, donde `<color>` es `red`, `orange`, `yellow`, `green`, `blue`, `indigo`, o `violet`.293> Cuando [`ultrathink`](https://code.claude.com/docs/es/model-config#use-ultrathink-for-one-off-deep-reasoning) puede aumentar el esfuerzo de un turno, Claude Code muestra la palabra en la entrada del prompt con un degradado de arcoíris de siete colores. Los nombres de los tokens siguen el patrón `rainbow_<color>` y `rainbow_<color>_shimmer`, donde `<color>` es `red`, `orange`, `yellow`, `green`, `blue`, `indigo` o `violet`.

294 294 

295## Cambiar a renderizado a pantalla completa295## Cambiar a renderizado a pantalla completa

296 296 


322 322 

323En una terminal amplia, cada línea de prosa en las respuestas de Claude se ejecuta en todo el ancho de la ventana. Para ajustar la prosa a un número establecido de columnas en su lugar, configure [`maxProseWidth`](https://code.claude.com/docs/es/settings-reference#maxprosewidth) en su configuración.323En una terminal amplia, cada línea de prosa en las respuestas de Claude se ejecuta en todo el ancho de la ventana. Para ajustar la prosa a un número establecido de columnas en su lugar, configure [`maxProseWidth`](https://code.claude.com/docs/es/settings-reference#maxprosewidth) en su configuración.

324 324 

325## Pegar contenido grande325## Pegar contenido extenso

326 326 

327Cuando pega más de 800 caracteres o más de tres líneas en el prompt, Claude Code contrae la entrada a un marcador de posición como `[Pasted text #1 +120 lines]` para que la caja de entrada siga siendo utilizable, y sigue enviando el contenido completo cuando envía. Para entradas muy grandes como archivos completos o registros largos, escriba el contenido en un archivo y pida a Claude que lo lea en lugar de pegarlo. La transcripción de la conversación permanece legible y Claude puede hacer referencia al archivo por ruta en turnos posteriores. La terminal integrada de VS Code también puede descartar caracteres de pegados muy grandes antes de que lleguen a Claude Code, por lo que use un archivo allí.327Cuando pegas más de 800 caracteres o más de tres líneas en el prompt, Claude Code contrae la entrada en un marcador de posición como `[Pasted text #1 +120 lines]` para que el cuadro de entrada siga siendo utilizable, y aun así envía el contenido completo cuando lo envías. Para entradas muy extensas, como archivos completos o registros largos, escribe el contenido en un archivo y pídele a Claude que lo lea en lugar de pegarlo. La transcripción de la conversación se mantiene legible y Claude puede referirse al archivo por su ruta en turnos posteriores. La terminal integrada de VS Code también puede perder caracteres de pegados muy extensos antes de que lleguen a Claude Code, así que usa un archivo en ese caso.

328 328 

329Si el pegado contiene [caracteres Unicode invisibles](https://code.claude.com/docs/es/interactive-mode.md#invisible-characters-in-prompts), Claude Code los elimina cuando presiona Intro y vuelve a poner el prompt limpio en la caja de entrada para que lo envíe con otro Intro.329Si lo que pegas contiene [caracteres Unicode invisibles](https://code.claude.com/docs/es/interactive-mode.md#invisible-characters-in-prompts), Claude Code los elimina cuando presionas Enter y vuelve a colocar el prompt limpio en el cuadro de entrada para que lo envíes con otro Enter.

330 330 

331### Cómo Claude trata el texto pegado331### Cómo trata Claude el texto pegado

332 332 

333Cuando envía, Claude ve el contenido detrás de cada marcador de posición `[Pasted text #N]` marcado como texto que pegó desde otro lugar en lugar de escribir. Claude recibe la instrucción de que un pegado puede contener instrucciones que no escribió, y de seguir instrucciones dentro de él solo donde el mensaje que escribió lo solicita. En sesiones que no [obtienen banderas de características](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), los pegados no se marcan.333Cuando envías el prompt, Claude ve el contenido detrás de cada marcador `[Pasted text #N]` marcado como texto que pegaste desde otro lugar en vez de escribirlo. A Claude se le indica que un pegado puede contener instrucciones que tú no escribiste, y que siga las instrucciones que haya dentro solo cuando el mensaje que escribiste se lo pida. En las sesiones que no [obtienen feature flags](https://code.claude.com/docs/es/env-vars.md#features-that-need-feature-flag-fetching), los pegados no se marcan.

334 334 

335### Eliminar y restaurar un pegado contraído335### Eliminar y restaurar un pegado contraído

336 336 

337Cuando elimina con un atajo de palabra o línea como `Ctrl+W` o `Ctrl+K`, o con una eliminación vim a través de un movimiento `f`/`t` como `df]`, y el rango eliminado llega dentro de un marcador de posición `[Pasted text #N]`, Claude Code elimina el marcador de posición completo. Para restaurarlo, pegue la eliminación nuevamente con [`Ctrl+Y`](https://code.claude.com/docs/es/interactive-mode#text-editing) después de un atajo de palabra o línea, o con [`p` en NORMAL mode](https://code.claude.com/docs/es/interactive-mode#editing-normal-mode) después de una eliminación vim.337Cuando eliminas con un atajo de palabra o de línea como `Ctrl+W` o `Ctrl+K`, o con una eliminación de vim mediante un movimiento `f`/`t` como `df]`, y el rango eliminado alcanza el interior de un marcador `[Pasted text #N]`, Claude Code elimina el marcador completo. Para restaurarlo, vuelve a pegar lo eliminado con [`Ctrl+Y`](https://code.claude.com/docs/es/interactive-mode#text-editing) después de un atajo de palabra o de línea, o con [`p` en el modo NORMAL](https://code.claude.com/docs/es/interactive-mode#editing-normal-mode) después de una eliminación de vim.

338 338 

339### Recuperar un prompt que tenía texto pegado339### Recuperar un prompt que tenía texto pegado

340 340 

341Claude Code mantiene el contenido detrás de cada marcador de posición `[Pasted text #N]` bajo `~/.claude/paste-cache/`, por lo que cuando recupera un prompt del [historial de comandos](https://code.claude.com/docs/es/interactive-mode.md#command-history) y lo reenvía, el contenido pegado completo se envía nuevamente, incluso en una sesión posterior.341Claude Code guarda el contenido detrás de cada marcador `[Pasted text #N]` en `~/.claude/paste-cache/`, de modo que cuando recuperas un prompt del [historial de comandos](https://code.claude.com/docs/es/interactive-mode.md#command-history) y lo vuelves a enviar, el contenido pegado completo se envía de nuevo, incluso en una sesión posterior.

342 342 

343Los archivos de caché más antiguos que [`cleanupPeriodDays`](https://code.claude.com/docs/es/settings-reference#cleanupperioddays) se eliminan bajo las [reglas de barrido de retención](https://code.claude.com/docs/es/claude-directory.md#cleaned-up-automatically), por lo que un prompt recuperado puede hacer referencia a texto pegado que ya no existe. Cuando envía tal prompt, Claude Code nunca envía la cadena literal `[Pasted text #N]`, y muestra una notificación nombrando el pegado faltante:343Los archivos de caché con una antigüedad mayor que [`cleanupPeriodDays`](https://code.claude.com/docs/es/settings-reference#cleanupperioddays) se eliminan según las [reglas de limpieza por retención](https://code.claude.com/docs/es/claude-directory.md#cleaned-up-automatically), por lo que un prompt recuperado puede hacer referencia a texto pegado que ya no existe. Cuando envías un prompt así, Claude Code nunca envía la cadena literal `[Pasted text #N]` y muestra una notificación que nombra el pegado faltante:

344 344 

345* En un prompt simple con texto restante, Claude Code elimina el marcador de posición y envía el texto restante.345* En un prompt simple en el que queda texto, Claude Code elimina el marcador y envía el texto restante.

346* En un comando de [shell mode](https://code.claude.com/docs/es/interactive-mode.md#shell-mode-with-prefix) o un comando `/`, donde la eliminación cambiaría lo que se ejecuta, y en cualquier prompt donde la eliminación deja vacío, Claude Code cancela el envío y mantiene el texto original en la entrada, con el marcador de posición aún en él. Elimine el marcador de posición o edite el comando, luego reenvíe.346* En un comando de [modo shell](https://code.claude.com/docs/es/interactive-mode.md#shell-mode-with-prefix) o un comando `/`, donde la eliminación cambiaría lo que se ejecuta, y en cualquier prompt que la eliminación deje vacío, Claude Code cancela el envío y conserva el texto original en la entrada, con el marcador todavía en él. Elimina el marcador o edita el comando y luego vuelve a enviarlo.

347 347 

348## Editar prompts con atajos de teclado Vim348## Editar prompts con atajos de teclado Vim

349 349 

Details

13View plans13View plans

14Contact sales14Contact sales

15 15 

16## Comparar opciones de implementación16## Comparar opciones de despliegue

17 17 

18Para la mayoría de las organizaciones, Claude for Teams o Claude for Enterprise proporciona la mejor experiencia. Los miembros del equipo obtienen acceso tanto a Claude Code como a Claude en la web con una única suscripción, facturación centralizada y sin necesidad de configuración de infraestructura.18Para la mayoría de las organizaciones, Claude for Teams o Claude for Enterprise ofrece la mejor experiencia. Los miembros del equipo obtienen acceso tanto a Claude Code como a Claude en la web con una sola suscripción, facturación centralizada y sin necesidad de configurar infraestructura.

19 19 

20**Claude for Teams** es de autoservicio e incluye características de colaboración, herramientas de administración, SSO, gestión de facturación y [configuración administrada por servidor](https://code.claude.com/docs/es/server-managed-settings.md) para la configuración de Claude Code en toda la organización. Mejor para equipos más pequeños que necesitan comenzar rápidamente.20**Claude for Teams** es de autoservicio e incluye funciones de colaboración, herramientas de administración, SSO, gestión de facturación y [configuración administrada por el servidor](https://code.claude.com/docs/es/server-managed-settings.md) para la configuración de Claude Code en toda la organización. Es ideal para equipos más pequeños que necesitan comenzar rápidamente.

21 21 

22**Claude for Enterprise** añade captura de dominio, permisos basados en roles y acceso a API de cumplimiento. Mejor para organizaciones más grandes con requisitos de seguridad y cumplimiento.22**Claude for Enterprise** agrega captura de dominio, permisos basados en roles y acceso a la API de cumplimiento. Es ideal para organizaciones más grandes con requisitos de seguridad y cumplimiento.

23 23 

24Obtenga más información sobre [planes de equipo](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) y [planes empresariales](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).24Obtén más información sobre los [planes Team](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) y los [planes Enterprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).

25 25 

26Las opciones de implementación comparadas a continuación cubren dónde se ejecuta la inferencia del modelo. Para ejecutar [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) de Claude Code en computación que su organización opera, consulte [entornos autohospedados](https://code.claude.com/docs/es/self-hosted-environments).26Las opciones de despliegue que se comparan a continuación abarcan dónde se ejecuta la inferencia del modelo. Para ejecutar [sesiones en la nube](https://code.claude.com/docs/es/claude-code-on-the-web.md) de Claude Code en infraestructura de cómputo que opera tu organización, consulta [entornos autoalojados](https://code.claude.com/docs/es/self-hosted-environments).

27 27 

28Si su organización tiene requisitos de infraestructura específicos, compare las opciones a continuación:28Si tu organización tiene requisitos de infraestructura específicos, compara las opciones a continuación:

29 29 

30<table>30<table>

31 <thead>31 <thead>


35 <th>Anthropic Console</th>35 <th>Anthropic Console</th>

36 <th>Amazon Bedrock</th>36 <th>Amazon Bedrock</th>

37 <th>Claude Platform on AWS</th>37 <th>Claude Platform on AWS</th>

38 <th>Google Cloud's Agent Platform, formerly Vertex AI</th>38 <th>Google Cloud's Agent Platform, anteriormente Vertex AI</th>

39 <th>Microsoft Foundry</th>39 <th>Microsoft Foundry</th>

40 </tr>40 </tr>

41 </thead>41 </thead>

42 42 

43 <tbody>43 <tbody>

44 <tr>44 <tr>

45 <td>Mejor para</td>45 <td>Ideal para</td>

46 <td>La mayoría de las organizaciones (recomendado)</td>46 <td>La mayoría de las organizaciones (recomendado)</td>

47 <td>Desarrolladores individuales</td>47 <td>Desarrolladores individuales</td>

48 <td>Implementaciones nativas de AWS</td>48 <td>Despliegues nativos de AWS</td>

49 <td>Facturación de AWS Marketplace con características de API de Claude</td>49 <td>Facturación a través de AWS Marketplace con funciones de la API de Claude</td>

50 <td>Implementaciones nativas de GCP</td>50 <td>Despliegues nativos de GCP</td>

51 <td>Implementaciones nativas de Azure</td>51 <td>Despliegues nativos de Azure</td>

52 </tr>52 </tr>

53 53 

54 <tr>54 <tr>

55 <td>Facturación</td>55 <td>Facturación</td>

56 <td>**Teams:** suscripción por puesto con PAYG disponible, consulte [precios](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=third_party_pricing#team-&-enterprise)\56 <td>**Teams:** suscripción por puesto con PAYG disponible, consulta los [precios](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=third_party_pricing#team-&-enterprise)\

57 **Enterprise:** [Contactar ventas](https://claude.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=third_party_enterprise)</td>57 **Enterprise:** [Contacta con ventas](https://claude.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=third_party_enterprise)</td>

58 <td>PAYG</td>58 <td>PAYG</td>

59 <td>PAYG a través de AWS</td>59 <td>PAYG a través de AWS</td>

60 <td>PAYG a través de AWS Marketplace</td>60 <td>PAYG a través de AWS Marketplace</td>


64 64 

65 <tr>65 <tr>

66 <td>Regiones</td>66 <td>Regiones</td>

67 <td>[Países](https://www.anthropic.com/supported-countries) admitidos</td>67 <td>[Países](https://www.anthropic.com/supported-countries) compatibles</td>

68 <td>[Países](https://www.anthropic.com/supported-countries) admitidos</td>68 <td>[Países](https://www.anthropic.com/supported-countries) compatibles</td>

69 <td>Múltiples [regiones](https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html) de AWS</td>69 <td>Múltiples [regiones](https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html) de AWS</td>

70 <td>Múltiples regiones de AWS</td>70 <td>Múltiples regiones de AWS</td>

71 <td>Múltiples [regiones](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) de GCP</td>71 <td>Múltiples [regiones](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) de GCP</td>


73 </tr>73 </tr>

74 74 

75 <tr>75 <tr>

76 <td>Prompt caching</td>76 <td>Caché de prompts</td>

77 <td>Habilitado de forma predeterminada</td>77 <td>Habilitada de forma predeterminada</td>

78 <td>Habilitado de forma predeterminada</td>78 <td>Habilitada de forma predeterminada</td>

79 <td>Habilitado de forma predeterminada</td>79 <td>Habilitada de forma predeterminada</td>

80 <td>Habilitado de forma predeterminada</td>80 <td>Habilitada de forma predeterminada</td>

81 <td>Habilitado de forma predeterminada</td>81 <td>Habilitada de forma predeterminada</td>

82 <td>Habilitado de forma predeterminada</td>82 <td>Habilitada de forma predeterminada</td>

83 </tr>83 </tr>

84 84 

85 <tr>85 <tr>

86 <td>Autenticación</td>86 <td>Autenticación</td>

87 <td>SSO de claude.ai o correo electrónico</td>87 <td>SSO de claude.ai o correo electrónico</td>

88 <td>Clave API o [inicio de sesión en Console sin una](https://code.claude.com/docs/es/authentication.md#sign-in-without-an-api-key)</td>88 <td>Clave de API o un [inicio de sesión en Console sin clave](https://code.claude.com/docs/es/authentication.md#sign-in-without-an-api-key)</td>

89 <td>Clave API o credenciales de AWS</td>89 <td>Clave de API o credenciales de AWS</td>

90 <td>Clave API o credenciales de AWS</td>90 <td>Clave de API o credenciales de AWS</td>

91 <td>Credenciales de GCP</td>91 <td>Credenciales de GCP</td>

92 <td>Clave API o Microsoft Entra ID</td>92 <td>Clave de API o Microsoft Entra ID</td>

93 </tr>93 </tr>

94 94 

95 <tr>95 <tr>


98 <td>Panel de uso</td>98 <td>Panel de uso</td>

99 <td>AWS Cost Explorer</td>99 <td>AWS Cost Explorer</td>

100 <td>AWS Cost Explorer</td>100 <td>AWS Cost Explorer</td>

101 <td>Facturación de GCP</td>101 <td>GCP Billing</td>

102 <td>Gestión de costos de Azure</td>102 <td>Azure Cost Management</td>

103 </tr>103 </tr>

104 104 

105 <tr>105 <tr>


113 </tr>113 </tr>

114 114 

115 <tr>115 <tr>

116 <td>Características empresariales</td>116 <td>Funciones empresariales</td>

117 <td>Gestión de equipos, SSO, monitoreo de uso</td>117 <td>Gestión de equipos, SSO, monitoreo de uso</td>

118 <td>Ninguno</td>118 <td>Ninguna</td>

119 <td>Políticas de IAM, CloudTrail</td>119 <td>Políticas de IAM, CloudTrail</td>

120 <td>Políticas de IAM, CloudTrail</td>120 <td>Políticas de IAM, CloudTrail</td>

121 <td>Roles de IAM, registros de auditoría en la nube</td>121 <td>Roles de IAM, Cloud Audit Logs</td>

122 <td>Políticas RBAC, Azure Monitor</td>122 <td>Políticas de RBAC, Azure Monitor</td>

123 </tr>123 </tr>

124 </tbody>124 </tbody>

125</table>125</table>

126 126 

127Para obtener un desglose característica por característica de lo que está disponible en cada opción, consulte [Disponibilidad de características](https://code.claude.com/docs/es/feature-availability.md).127Para ver un desglose detallado, función por función, de lo que está disponible en cada opción, consulta [Disponibilidad de funciones](https://code.claude.com/docs/es/feature-availability.md).

128 128 

129Seleccione una opción de implementación para ver las instrucciones de configuración:129Selecciona una opción de despliegue para ver las instrucciones de configuración:

130 130 

131* [Claude for Teams o Enterprise](https://code.claude.com/docs/es/authentication.md#claude-for-teams-or-enterprise)131* [Claude for Teams o Enterprise](https://code.claude.com/docs/es/authentication.md#claude-for-teams-or-enterprise)

132* [Anthropic Console](https://code.claude.com/docs/es/authentication.md#claude-console-authentication)132* [Anthropic Console](https://code.claude.com/docs/es/authentication.md#claude-console-authentication)

133* [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway), una puerta de enlace autohospedada que añade inicio de sesión de IdP frente a Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, Microsoft Foundry o la API de Anthropic133* [Claude apps gateway](https://code.claude.com/docs/es/claude-apps-gateway), un gateway autoalojado que agrega inicio de sesión mediante IdP delante de Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, Microsoft Foundry o la API de Anthropic

134* [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md)134* [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md)

135* [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md)135* [Claude Platform on AWS](https://code.claude.com/docs/es/claude-platform-on-aws.md)

136* [Google Cloud's Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md)136* [Google Cloud's Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md)

137* [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md)137* [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md)

138 138 

139Para Amazon Bedrock y Google Vertex AI, también puede ejecutar `claude` y seleccionar **plataforma de terceros** en el mensaje de inicio de sesión para iniciar un asistente de configuración interactivo.139Para Amazon Bedrock y Google Vertex AI, también puedes ejecutar `claude` y seleccionar **3rd-party platform** en la pantalla de inicio de sesión para abrir un asistente de configuración interactivo.

140 140 

141## Configurar proxies y gateways141## Configurar proxies y gateways

142 142 

tools-reference.md +20 −20

Details

618 618 

619## Comportamiento de la herramienta WebFetch619## Comportamiento de la herramienta WebFetch

620 620 

621WebFetch toma una URL y un prompt que describe qué extraer. Obtiene la página y convierte la respuesta a Markdown cuando el servidor devuelve HTML. Para la mayoría de las búsquedas, luego ejecuta el prompt contra el contenido en una llamada separada al modelo, y Claude recibe el resultado de esa llamada en lugar de la página sin procesar. El paso de conversión no es configurable.621WebFetch recibe una URL y un prompt que describe qué extraer. Obtiene la página y convierte la respuesta a Markdown cuando el servidor devuelve HTML. En la mayoría de los casos, luego ejecuta el prompt sobre el contenido en una llamada separada al modelo, y Claude recibe el resultado de esa llamada en lugar de la página sin procesar. El paso de conversión no es configurable.

622 622 

623Esto hace que WebFetch sea lossy por diseño. El mensaje de extracción determina qué llega a Claude, por lo que un resultado que dice que una página no menciona algo puede significar solo que el mensaje no lo preguntó. Pida a Claude que obtenga nuevamente con un mensaje más específico, o use `curl` a través de Bash para la página sin procesar.623Esto hace que WebFetch pierda información por diseño. El prompt de extracción determina lo que llega a Claude, así que un resultado que dice que una página no menciona algo puede significar simplemente que el prompt no preguntó por ello. Pídele a Claude que vuelva a obtener la página con un prompt más específico, o usa `curl` mediante Bash para obtener la página sin procesar.

624 624 

625Algunos comportamientos dan forma a la respuesta que Claude recibe:625Algunos comportamientos determinan la respuesta que recibe Claude:

626 626 

627* WebFetch rechaza `localhost` y cualquier otro nombre de host sin un punto, como un nombre de intranet simple, antes de hacer una solicitud. El [error que devuelve](https://code.claude.com/docs/es/errors.md#webfetch-cannot-fetch-localhost) le dice a Claude que alcance servidores locales con `curl` a través de Bash en su lugar.627* WebFetch rechaza `localhost` y cualquier otro nombre de host sin un punto, como un nombre de intranet sin dominio, antes de hacer una solicitud. El [error que devuelve](https://code.claude.com/docs/es/errors.md#webfetch-cannot-fetch-localhost) le indica a Claude que acceda a los servidores locales con `curl` a través de Bash.

628* Las URLs HTTP se actualizan automáticamente a HTTPS.628* Las URL HTTP se actualizan automáticamente a HTTPS.

629* WebFetch lee hasta 100,000 caracteres del contenido de una página por llamada. En Claude Code v2.1.290 o posterior, el resultado de una página más larga le indica a Claude cuánto quedó sin leer, para que Claude pueda obtener la siguiente parte.629* WebFetch lee hasta 100,000 caracteres del contenido de una página por llamada. En Claude Code v2.1.290 o posterior, el resultado de una página más larga le indica a Claude cuánto quedó sin leer, para que Claude pueda obtener la siguiente parte.

630* WebFetch almacena en caché cada respuesta durante 15 minutos de forma predeterminada, por lo que las búsquedas repetidas de la misma URL se devuelven rápidamente. En Claude Code v2.1.233 o posterior, establezca [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](https://code.claude.com/docs/es/env-vars#variables) para cambiar cuánto tiempo WebFetch mantiene cada respuesta.630* WebFetch almacena en caché cada respuesta durante 15 minutos de forma predeterminada, así que las obtenciones repetidas de la misma URL se devuelven rápidamente. En Claude Code v2.1.233 o posterior, configura [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](https://code.claude.com/docs/es/env-vars#variables) para cambiar cuánto tiempo conserva WebFetch cada respuesta.

631* Una página que no haya terminado de descargar dentro de cinco minutos, incluidos los redireccionamientos que WebFetch sigue, falla con un error de límite de tiempo. En Claude Code v2.1.268 o posterior, establezca [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](https://code.claude.com/docs/es/env-vars#variables) para cambiar el límite, o a `0` para eliminarlo.631* Una página que no ha terminado de descargarse en cinco minutos, incluidas las redirecciones que sigue WebFetch, falla con un error de tiempo límite. En Claude Code v2.1.268 o posterior, configura [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](https://code.claude.com/docs/es/env-vars#variables) para cambiar el límite, o en `0` para eliminarlo.

632* Cuando una URL se redirige a un host diferente, WebFetch devuelve un resultado de texto que nombra la URL original y el destino de redirección en lugar de seguirlo. Claude luego obtiene la nueva URL con una segunda llamada a WebFetch.632* Cuando una URL redirige a un host diferente, WebFetch devuelve un resultado de texto que indica la URL original y el destino de la redirección en lugar de seguirla. Luego Claude obtiene la nueva URL con una segunda llamada a WebFetch.

633* Cuando el paso de extracción se encuentra con una API sobrecargada, Claude Code lo reintenta con retroceso; una obtención que aún falla devuelve un resultado de error.633* Cuando el paso de extracción encuentra una API sobrecargada, Claude Code lo reintenta con espera progresiva; una obtención que sigue fallando devuelve un resultado de error.

634 634 

635En los modos Manual y `acceptEdits` [de permisos](https://code.claude.com/docs/es/permission-modes.md), WebFetch solicita antes de obtener, excepto para dominios que sus [reglas de permisos](https://code.claude.com/docs/es/permissions.md#manage-permissions) ya permiten o deniegan y un conjunto integrado de dominios de documentación preaprobados que se obtienen sin solicitud. Sea cual sea lo que sus reglas permitan, una búsqueda también pasa primero la [verificación de seguridad del dominio WebFetch](https://code.claude.com/docs/es/data-usage.md#webfetch-domain-safety-check); esa sección cubre qué envía la verificación y la configuración que la omite. El mensaje ofrece tres opciones:635En los [modos de permisos](https://code.claude.com/docs/es/permission-modes.md) Manual y `acceptEdits`, WebFetch pide confirmación antes de obtener la página, excepto para los dominios que tus [reglas de permisos](https://code.claude.com/docs/es/permissions.md#manage-permissions) ya permiten o deniegan y para un conjunto integrado de dominios de documentación preaprobados que se obtienen sin pedir confirmación. Sin importar lo que permitan tus reglas, una obtención también pasa primero por la [comprobación de seguridad de dominios de WebFetch](https://code.claude.com/docs/es/data-usage.md#webfetch-domain-safety-check); esa sección explica lo que envía la comprobación y el ajuste que la omite. La solicitud ofrece tres opciones:

636 636 

637* **Sí**: aprueba solo esta búsqueda. La siguiente llamada a WebFetch solicita nuevamente, incluso para el mismo dominio.637* **Yes**: aprueba solo esta obtención. La siguiente llamada a WebFetch vuelve a pedir confirmación, incluso para el mismo dominio.

638* **Sí, y no preguntar nuevamente para `<domain>`**: aprueba la búsqueda y guarda una regla de permiso `WebFetch(domain:...)` para ese dominio en `.claude/settings.local.json` para ese repositorio. Consulte [cómo persisten las aprobaciones guardadas](https://code.claude.com/docs/es/permissions.md#permission-system). Cuando su organización establece [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/es/permissions#managed-only-settings), Claude Code oculta esta opción.638* **Yes, and don't ask again for `<domain>`**: aprueba la obtención y guarda una regla de permiso `WebFetch(domain:...)` para ese dominio en `.claude/settings.local.json` de ese repositorio. Consulta [cómo persisten las aprobaciones guardadas](https://code.claude.com/docs/es/permissions.md#permission-system). Cuando tu organización configura [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/es/permissions#managed-only-settings), Claude Code oculta esta opción.

639* **No, y dígale a Claude qué hacer diferente**: rechaza la búsqueda.639* **No, and tell Claude what to do differently**: rechaza la obtención.

640 640 

641Para permitir un dominio por adelantado sin solicitud, agregue una regla de permiso como `WebFetch(domain:example.com)`; `WebFetch(domain:*)` permite cada dominio. Los modos de permisos `auto` y `bypassPermissions` [de permisos](https://code.claude.com/docs/es/permissions.md#permission-modes) omiten la solicitud, excepto para un dominio que coincida con una regla `ask` explícita.641Para permitir un dominio de antemano sin que se pida confirmación, agrega una regla de permiso como `WebFetch(domain:example.com)`; `WebFetch(domain:*)` permite todos los dominios. Los [modos de permisos](https://code.claude.com/docs/es/permissions.md#permission-modes) `auto` y `bypassPermissions` omiten la solicitud, excepto para un dominio que coincida con una regla `ask` explícita.

642 642 

643Una regla `WebFetch(domain:...)` explícita en `deny`, `ask` o `allow` tiene precedencia sobre el conjunto preaprobado, por lo que puede bloquear un dominio preaprobado o requerir una solicitud para él.643Una regla `WebFetch(domain:...)` explícita en `deny`, `ask` o `allow` tiene precedencia sobre el conjunto preaprobado, así que puedes bloquear un dominio preaprobado o exigir confirmación para él.

644 644 

645Cuando la URL es un enlace a un [artefacto](https://code.claude.com/docs/es/artifacts.md) de claude.ai, Claude Code también puede pedir aprobación para leer el propio artefacto. Para conocer los casos en los que lo pide, consulta [Leer un artefacto compartido contigo](https://code.claude.com/docs/es/artifacts.md#read-an-artifact-shared-with-you).645Cuando la URL es un enlace a un [artefacto](https://code.claude.com/docs/es/artifacts.md) de claude.ai, Claude Code también puede pedir aprobación para leer el artefacto en sí. Para los casos en que lo pide, consulta [Leer un artefacto compartido contigo](https://code.claude.com/docs/es/artifacts.md#read-an-artifact-shared-with-you).

646 646 

647WebFetch establece un encabezado `User-Agent` que comienza con `Claude-User`, y un encabezado `Accept` que prefiere Markdown sobre HTML para que los servidores que admiten negociación de contenido puedan devolver Markdown directamente.647WebFetch establece un encabezado `User-Agent` que comienza con `Claude-User`, y un encabezado `Accept` que prefiere Markdown sobre HTML para que los servidores que admiten negociación de contenido puedan devolver Markdown directamente.

648 648 

649Los comandos en sandbox no heredan el conjunto integrado de dominios de documentación preaprobados de WebFetch. Para permitir que un comando en sandbox alcance un dominio sin solicitud, agregue el dominio a [`allowedDomains`](https://code.claude.com/docs/es/settings-reference#sandbox-network-alloweddomains) o permítalo con una regla `WebFetch(domain:...)`, que el [sandbox también respeta](https://code.claude.com/docs/es/sandboxing.md#network-isolation). WebFetch nunca lee la lista de permisos del sandbox a cambio, por lo que agregar un dominio a una lista de permisos de red de sandbox u organización no impide que WebFetch solicite por él.649Los comandos ejecutados en el sandbox no heredan el conjunto integrado de dominios de documentación preaprobados de WebFetch. Para permitir que un comando en el sandbox acceda a un dominio sin pedir confirmación, agrega el dominio a [`allowedDomains`](https://code.claude.com/docs/es/settings-reference#sandbox-network-alloweddomains) o permítelo con una regla `WebFetch(domain:...)`, que el [sandbox también respeta](https://code.claude.com/docs/es/sandboxing.md#network-isolation). WebFetch, a su vez, nunca lee la lista de dominios permitidos del sandbox, así que agregar un dominio a la lista de permitidos de red del sandbox o de la organización no impide que WebFetch pida confirmación para él.

650 650 

651### Disponibilidad de WebFetch651### Disponibilidad de WebFetch

652 652 

653En Claude Code v2.1.285 o posterior, establezca [`CLAUDE_CODE_DISABLE_WEB_FETCH`](https://code.claude.com/docs/es/env-vars#variables) a `1` para desactivar WebFetch.653En Claude Code v2.1.285 o posterior, configura [`CLAUDE_CODE_DISABLE_WEB_FETCH`](https://code.claude.com/docs/es/env-vars#variables) en `1` para desactivar WebFetch.

654 654 

655Si inicia sesión con una cuenta de Team o Enterprise de claude.ai y no se conecta a través de una [puerta de enlace LLM](https://code.claude.com/docs/es/llm-gateway), WebFetch también depende de la política de su organización, que Claude Code solicita a `api.anthropic.com` cuando comienza una sesión. Lo mismo ocurre con una sesión cuyo plan Claude Code no puede determinar, como una que se ejecuta bajo un token de claude.ai que otra aplicación proporcionó.655Si inicias sesión con una cuenta de claude.ai Team o Enterprise y no te conectas a través de un [gateway de LLM](https://code.claude.com/docs/es/llm-gateway), WebFetch también depende de la política de tu organización, que Claude Code solicita a `api.anthropic.com` cuando se inicia una sesión. Lo mismo ocurre con una sesión cuyo plan Claude Code no puede determinar, como una que se ejecuta con un token de claude.ai proporcionado por otra aplicación.

656 656 

657Si WebFetch falta en una sesión, ejecute `/status` en la sesión. Si su línea `Organization policy` informa que la política no se cargó y nombra la búsqueda web entre las características que esperan, Claude Code está reteniendo WebFetch hasta que pueda confirmar que su organización lo permite. Fuera de una sesión, `claude doctor` realiza su propia solicitud e imprime la misma línea. Una vez que se carga una política que permite WebFetch, la herramienta se devuelve sin un reinicio.657Si WebFetch no aparece en una sesión, ejecuta `/status` en la sesión. Si su línea `Organization policy` indica que la política no se cargó y menciona web fetch entre las funciones que la esperan, Claude Code está reteniendo WebFetch hasta poder confirmar que tu organización lo permite. Fuera de una sesión, `claude doctor` hace su propia solicitud e imprime la misma línea. Una vez que se carga una política que permite WebFetch, la herramienta vuelve a estar disponible sin necesidad de reiniciar.

658 658 

659## Comportamiento de la herramienta WebSearch659## Comportamiento de la herramienta WebSearch

660 660 

Details

1104 1104 

1105## Inicio de sesión y autenticación1105## Inicio de sesión y autenticación

1106 1106 

1107Estas secciones abordan fallos de inicio de sesión, errores de OAuth y problemas de tokens.1107Estas secciones abordan fallos de inicio de sesión, errores de OAuth y problemas con tokens.

1108 1108 

1109### Reinicia tu inicio de sesión1109### Restablece tu inicio de sesión

1110 1110 

1111Cuando el inicio de sesión falla y la causa no es obvia, una reautenticación limpia resuelve la mayoría de los casos:1111Cuando el inicio de sesión falla y la causa no está clara, una reautenticación limpia resuelve la mayoría de los casos:

1112 1112 

11131. Ejecuta `/logout` para cerrar sesión completamente11131. Ejecuta `/logout` para cerrar sesión por completo

11142. Cierra Claude Code11142. Cierra Claude Code

11153. Reinicia con `claude` y completa el proceso de autenticación nuevamente11153. Reinicia con `claude` y completa el proceso de autenticación de nuevo

1116 1116 

1117Si el navegador no se abre automáticamente durante el inicio de sesión, presiona `c` para copiar la URL de OAuth a tu portapapeles y luego pégala en un navegador manualmente. Esto también funciona cuando la URL se divide en varias líneas en una terminal estrecha o SSH y no se puede hacer clic en ella directamente.1117Si el navegador no se abre automáticamente durante el inicio de sesión, presiona `c` para copiar la URL de OAuth a tu portapapeles y luego pégala manualmente en un navegador. Esto también funciona cuando la URL se divide en varias líneas en una terminal estrecha o SSH y no se puede hacer clic en ella directamente.

1118 1118 

1119### Error de OAuth: Código inválido1119### OAuth error: Invalid code

1120 1120 

1121Si ves `OAuth error: Invalid code. Please make sure the full code was copied`, el código de inicio de sesión expiró o se truncó al copiarlo y pegarlo.1121Si ves `OAuth error: Invalid code. Please make sure the full code was copied`, el código de inicio de sesión expiró o se truncó al copiar y pegar.

1122 1122 

1123**Soluciones:**1123**Soluciones:**

1124 1124 

1125* Presiona Intro para reintentar y completa el inicio de sesión rápidamente después de que se abra el navegador1125* Presiona Enter para reintentar y completa el inicio de sesión rápidamente después de que se abra el navegador

1126* Escribe `c` para copiar la URL completa si el navegador no se abre automáticamente1126* Escribe `c` para copiar la URL completa si el navegador no se abre automáticamente

1127* Si usas una sesión remota/SSH, el navegador puede abrirse en la máquina incorrecta. Copia la URL que se muestra en la terminal y ábrela en tu navegador local.1127* Si usas una sesión remota/SSH, el navegador puede abrirse en la máquina equivocada. Copia la URL que se muestra en la terminal y ábrela en tu navegador local.

1128 1128 

1129### 403 Forbidden después del inicio de sesión1129### 403 Forbidden después de iniciar sesión

1130 1130 

1131Si ves `API Error: 403 Request not allowed` después de iniciar sesión:1131Si ves `API Error: 403 Request not allowed` después de iniciar sesión:

1132 1132 

1133* **Usuarios de Claude Pro/Max**: verifica que tu suscripción esté activa en [claude.ai/settings](https://claude.ai/settings)1133* **Usuarios de Claude Pro/Max**: verifica que tu suscripción esté activa en [claude.ai/settings](https://claude.ai/settings)

1134* **Usuarios de Anthropic Console**: confirma que tu cuenta tiene el rol "Claude Code" o "Developer". Los administradores lo asignan en la página Members de Console, en [platform.claude.com/settings/members](https://platform.claude.com/settings/members).1134* **Usuarios de Anthropic Console**: confirma que tu cuenta tenga el rol "Claude Code" o "Developer". Los administradores lo asignan en la página Members de la Console en [platform.claude.com/settings/members](https://platform.claude.com/settings/members).

1135* **Detrás de un proxy**: los proxies corporativos pueden interferir con las solicitudes de API. Consulta [configuración de red](https://code.claude.com/docs/es/network-config.md) para la configuración del proxy.1135* **Detrás de un proxy**: los proxies corporativos pueden interferir con las solicitudes a la API. Consulta [configuración de red](https://code.claude.com/docs/es/network-config.md) para configurar el proxy.

1136 1136 

1137### Claude Code access has not been granted for this account1137### Claude Code access has not been granted for this account

1138 1138 

1139Si la página de inicio de sesión muestra `Authorization failed` con el mensaje `Claude Code access has not been granted for this account. Contact your administrator.` después de que inicias sesión desde Claude Code, tu organización de Claude Enterprise ha establecido tu rol en Custom y ninguno de los [custom roles](https://support.claude.com/en/articles/13930452) asignados a tus grupos otorga acceso a Claude Code. Con el rol Custom, obtienes acceso solo a través de esos roles personalizados, por lo que nada que cambies en Claude Code resuelve este error.1139Si la página de inicio de sesión muestra `Authorization failed` con el mensaje `Claude Code access has not been granted for this account. Contact your administrator.` después de iniciar sesión desde Claude Code, tu organización de Claude Enterprise estableció tu rol como Custom y ninguno de los [roles personalizados](https://support.claude.com/en/articles/13930452) asignados a tus grupos otorga acceso a Claude Code. Con el rol Custom, obtienes acceso solo a través de esos roles personalizados, así que nada que cambies en Claude Code resuelve este error.

1140 1140 

1141Para obtener acceso:1141Para obtener acceso:

1142 1142 

11431. Pide a un Owner de tu organización de Claude que asigne a uno de tus grupos un rol personalizado que otorgue acceso a Claude Code, o que cambie tu rol de Custom a un rol estándar como User. Los Owners administran los roles en la [configuración de roles](https://claude.ai/admin-settings/roles) de la organización.11431. Pide a un Owner de tu organización de Claude que asigne a uno de tus grupos un rol personalizado que otorgue acceso a Claude Code, o que cambie tu rol de Custom a un rol estándar como User. Los Owners administran los roles en la [configuración de roles](https://claude.ai/admin-settings/roles) de la organización.

11442. Después de que el Owner realice el cambio, ejecuta `claude` e inicia sesión nuevamente.11442. Después de que el Owner haga el cambio, ejecuta `claude` e inicia sesión de nuevo.

1145 1145 

1146### Esta organización ha sido deshabilitada con una suscripción activa1146### Esta organización ha sido deshabilitada con una suscripción activa

1147 1147 

1148Si ves `API Error: 400 ... "This organization has been disabled"` a pesar de tener una suscripción activa de Claude, una variable de entorno `ANTHROPIC_API_KEY` está anulando tu suscripción. Esto suele ocurrir cuando una clave de API antigua de un empleador o proyecto anterior sigue configurada en tu perfil de shell.1148Si ves `API Error: 400 ... "This organization has been disabled"` a pesar de tener una suscripción activa de Claude, una variable de entorno `ANTHROPIC_API_KEY` está anulando tu suscripción. Esto ocurre comúnmente cuando una clave de API antigua de un empleador o proyecto anterior sigue configurada en el perfil de tu shell.

1149 1149 

1150Cuando `ANTHROPIC_API_KEY` está presente y la has aprobado, Claude Code usa esa clave en lugar de las credenciales de OAuth de tu suscripción. En modo no interactivo con el flag `-p`, la clave siempre se usa cuando está presente. Consulta [precedencia de autenticación](https://code.claude.com/docs/es/authentication.md#authentication-precedence) para ver el orden de resolución completo.1150Cuando `ANTHROPIC_API_KEY` está presente y la has aprobado, Claude Code usa esa clave en lugar de las credenciales OAuth de tu suscripción. En modo no interactivo con el flag `-p`, la clave siempre se usa cuando está presente. Consulta [precedencia de autenticación](https://code.claude.com/docs/es/authentication.md#authentication-precedence) para ver el orden de resolución completo.

1151 1151 

1152Para usar tu suscripción en su lugar, quita la definición de la variable de entorno y elimínala de tu perfil de shell:1152Para usar tu suscripción en su lugar, elimina la variable de entorno y quítala del perfil de tu shell:

1153 1153 

1154**macOS/Linux**1154**macOS/Linux**

1155 1155 


1167 1167 

1168Revisa `~/.zshrc`, `~/.bashrc` o `~/.profile` en busca de líneas `export ANTHROPIC_API_KEY=...` y elimínalas para que el cambio sea permanente. En Windows, revisa tu perfil de PowerShell en `$PROFILE` y tus variables de entorno de usuario en busca de `ANTHROPIC_API_KEY`. Ejecuta `/status` dentro de Claude Code para confirmar qué método de autenticación está activo.1168Revisa `~/.zshrc`, `~/.bashrc` o `~/.profile` en busca de líneas `export ANTHROPIC_API_KEY=...` y elimínalas para que el cambio sea permanente. En Windows, revisa tu perfil de PowerShell en `$PROFILE` y tus variables de entorno de usuario en busca de `ANTHROPIC_API_KEY`. Ejecuta `/status` dentro de Claude Code para confirmar qué método de autenticación está activo.

1169 1169 

1170### El inicio de sesión de OAuth falla en WSL2, SSH o contenedores1170### El inicio de sesión OAuth falla en WSL2, SSH o contenedores

1171 1171 

1172Cuando Claude Code se ejecuta en WSL2, en una máquina remota a través de SSH o dentro de un contenedor, el navegador generalmente se abre en un host diferente y su redirección no puede alcanzar el servidor de devolución de llamada local de Claude Code. Después de que inicias sesión, el navegador muestra un código de inicio de sesión en lugar de redirigir automáticamente. Pega ese código en la terminal, en el prompt `Paste code here if prompted`, para completar el inicio de sesión.1172Si no se abre ningún navegador, o si el navegador inicia tu sesión y luego muestra un error de conexión para una dirección `localhost`, puedes terminar de iniciar sesión sin resolver ninguno de los dos problemas. En su lugar, inicia sesión a través de la URL de inicio de sesión independiente que la terminal muestra encima de su solicitud para pegar:

1173 1173 

1174Si el navegador no se abre en absoluto desde WSL2, establece la variable de entorno `BROWSER` en la ruta de tu navegador de Windows:1174**1. Copia la URL de inicio de sesión**

1175 1175 

1176```bash theme={null}1176En la solicitud interactiva de inicio de sesión, presiona `c` para copiar la URL, o selecciónala en la terminal. Con `claude auth login`, copia la URL que imprime.

1177export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"1177 

1178claude1178**2. Inicia sesión a través de esa URL**

1179```1179 

1180Abre la URL en un navegador de tu máquina local e inicia sesión. El navegador muestra entonces un código en lugar de volver a `localhost`.

1181 

1182**3. Pega el código**

1180 1183 

1181Alternativamente, presiona `c` en el prompt de inicio de sesión interactivo para copiar la URL de OAuth, o copia la URL que imprime `claude auth login`, y ábrela en un navegador en tu máquina local.1184Pega ese código en la terminal, en la solicitud que comienza con `Paste code here`.

1182 1185 

1183Si pegar el código en el prompt interactivo no hace nada, probablemente el atajo de pegado de tu terminal no está llegando al campo de entrada. Prueba el atajo de pegado alternativo de tu terminal, a menudo clic derecho o Shift+Insert en Windows Terminal, o usa `claude auth login` en su lugar, que lee el código pegado desde la entrada estándar:1186Si pegar el código en la solicitud interactiva no hace nada, probablemente el atajo de pegado de tu terminal no está llegando al campo de entrada. Prueba el atajo de pegado alternativo de tu terminal, a menudo clic derecho o Shift+Insert en Windows Terminal, o usa `claude auth login` en su lugar, que lee el código pegado desde la entrada estándar:

1184 1187 

1185```bash theme={null}1188```bash theme={null}

1186claude auth login1189claude auth login

1187```1190```

1188 1191 

1189Esta alternativa también se aplica en Windows nativo o en cualquier terminal donde pegar en el prompt interactivo falle.1192Esta alternativa también aplica en Windows nativo o en cualquier terminal donde falle pegar en la solicitud interactiva.

1193 

1194En WSL2, si no se abrió ningún navegador, también puedes hacer que Claude Code abra tu navegador de Windows la próxima vez configurando la variable de entorno `BROWSER` con la ruta de ese navegador:

1195 

1196```bash theme={null}

1197export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"

1198claude

1199```

1190 1200 

1191### No has iniciado sesión o el token ha expirado1201### Sesión no iniciada o token expirado

1192 1202 

1193Si Claude Code te pide que inicies sesión nuevamente después de una sesión, es posible que tu token de OAuth haya expirado.1203Si Claude Code te pide iniciar sesión de nuevo después de una sesión, es posible que tu token de OAuth haya expirado.

1194 1204 

1195Ejecuta `/login` para volver a autenticarte. Si esto ocurre con frecuencia, verifica que el reloj de tu sistema sea preciso, ya que la validación de tokens depende de marcas de tiempo correctas.1205Ejecuta `/login` para volver a autenticarte. Si esto ocurre con frecuencia, verifica que el reloj de tu sistema sea preciso, ya que la validación de tokens depende de marcas de tiempo correctas.

1196 1206 

1197Las sesiones paralelas en una máquina comparten un inicio de sesión guardado y coordinan su renovación para que solo un proceso actualice el token a la vez. Para saber qué hacen las demás sesiones después de que vuelves a iniciar sesión en una de ellas, consulta [No has iniciado sesión](https://code.claude.com/docs/es/errors.md#not-logged-in).1207Las sesiones paralelas en una misma máquina comparten un inicio de sesión guardado y coordinan su renovación para que solo un proceso actualice el token a la vez. Para saber qué hacen las demás sesiones después de que vuelves a iniciar sesión en una de ellas, consulta [Not logged in](https://code.claude.com/docs/es/errors.md#not-logged-in).

1198 1208 

1199Antes de v2.1.211, reactivar la máquina desde la suspensión podía hacer que dos sesiones se renovaran con el mismo token, lo que revocaba el inicio de sesión guardado y pedía a todas las sesiones abiertas que iniciaran sesión nuevamente a la vez.1209Antes de la v2.1.211, reactivar la máquina desde la suspensión podía hacer que dos sesiones renovaran con el mismo token, lo que revocaba el inicio de sesión guardado y pedía a todas las sesiones abiertas que iniciaran sesión de nuevo a la vez.

1200 1210 

1201En macOS, Claude Code guarda las credenciales en el Keychain de inicio de sesión. Cuando el Keychain rechaza la escritura, por ejemplo cuando está bloqueado en una sesión SSH o su contraseña no está sincronizada con la contraseña de tu cuenta, Claude Code guarda tu inicio de sesión en el archivo de texto plano `~/.claude/.credentials.json` en su lugar. Un inicio de sesión de Console que crea una clave de API falla hasta que el Keychain vuelva a admitir escritura.1211En macOS, Claude Code guarda las credenciales en el Keychain de inicio de sesión. Cuando el Keychain rechaza la escritura, por ejemplo cuando está bloqueado en una sesión SSH o su contraseña no está sincronizada con la contraseña de tu cuenta, Claude Code guarda tu inicio de sesión en el archivo de texto plano `~/.claude/.credentials.json` en su lugar. Un inicio de sesión de Console que crea una clave de API falla hasta que el Keychain vuelva a admitir escritura.

1202 1212 

1203Para que el Keychain vuelva a admitir escritura y mover tu inicio de sesión de vuelta al Keychain cifrado:1213Para que el Keychain vuelva a admitir escritura y trasladar tu inicio de sesión de nuevo al Keychain cifrado:

1204 1214 

1205**1. Verifica el acceso a Keychain**1215**1. Verifica el acceso al Keychain**

1206 1216 

1207Ejecuta `claude doctor` para verificar el acceso a Keychain. Cuando el Keychain rechaza escrituras, el informe muestra una advertencia que comienza con `macOS Keychain is not writable`, seguida de una corrección sugerida. Cuando el informe no muestra ninguna advertencia de Keychain, el Keychain admite escritura y puedes pasar al último paso.1217Ejecuta `claude doctor` para verificar el acceso al Keychain. Cuando el Keychain rechaza escrituras, el informe muestra una advertencia que comienza con `macOS Keychain is not writable`, seguida de una solución sugerida. Cuando el informe no muestra ninguna advertencia del Keychain, el Keychain admite escritura y puedes pasar al último paso.

1208 1218 

1209**2. Desbloquea el Keychain**1219**2. Desbloquea el Keychain**

1210 1220 


1212security unlock-keychain ~/Library/Keychains/login.keychain-db1222security unlock-keychain ~/Library/Keychains/login.keychain-db

1213```1223```

1214 1224 

1215Ingresa tu contraseña de Keychain cuando el comando la solicite y luego ejecuta `claude doctor` nuevamente. Si el desbloqueo funcionó, el informe ya no muestra la advertencia de Keychain.1225Ingresa la contraseña de tu Keychain cuando el comando la solicite y luego ejecuta `claude doctor` de nuevo. Si el desbloqueo funcionó, el informe ya no muestra la advertencia del Keychain.

1216 1226 

1217**3. Resincroniza la contraseña de Keychain si desbloquearlo no ayuda**1227**3. Vuelve a sincronizar la contraseña del Keychain si el desbloqueo no ayuda**

1218 1228 

1219Abre Keychain Access, selecciona el keychain `login` y elige **Edit > Change Password for Keychain "login"** para resincronizarlo con la contraseña de tu cuenta. Luego ejecuta `claude doctor` nuevamente. Continúa con el siguiente paso cuando el informe ya no muestre la advertencia de Keychain.1229Abre Acceso a Llaveros (Keychain Access), selecciona el llavero `login` y elige **Edit > Change Password for Keychain "login"** para sincronizarlo con la contraseña de tu cuenta. Luego ejecuta `claude doctor` de nuevo. Pasa al siguiente paso una vez que el informe ya no muestre la advertencia del Keychain.

1220 1230 

1221**4. Cierra sesión y vuelve a iniciarla**1231**4. Cierra sesión y vuelve a iniciarla**

1222 1232 

1223Una vez que el Keychain vuelva a admitir escritura, Claude Code mueve las credenciales de vuelta la próxima vez que escriba una credencial. Para forzarlo ahora, ejecuta `/logout` y luego `/login`. Cerrar sesión elimina todas las credenciales almacenadas, incluido el contenido del archivo de texto plano, los inicios de sesión guardados de servidores MCP y los valores sensibles de plugins, así que después tendrás que volver a autorizar los servidores MCP e ingresar nuevamente los secretos de los plugins. Al iniciar sesión de nuevo, tu inicio de sesión se almacena en el Keychain.1233Una vez que el Keychain vuelva a admitir escritura, Claude Code traslada las credenciales de vuelta la próxima vez que escriba una credencial. Para forzarlo ahora, ejecuta `/logout` y luego `/login`. Cerrar sesión elimina todas las credenciales almacenadas, incluido el contenido del archivo de texto plano, los inicios de sesión guardados de servidores MCP y los valores sensibles de plugins, así que prepárate para volver a autorizar los servidores MCP y volver a ingresar los secretos de los plugins después. Al iniciar sesión de nuevo, tu inicio de sesión se almacena en el Keychain.

1224 1234 

1225### Las credenciales de Bedrock, Agent Platform o Foundry no se cargan1235### Las credenciales de Bedrock, Agent Platform o Foundry no se cargan

1226 1236 

1227Si configuraste Claude Code para usar un proveedor en la nube y ves `Could not load credentials from any providers` en Amazon Bedrock, `Could not load the default credentials` en Google Cloud's Agent Platform, o `ChainedTokenCredential authentication failed` en Microsoft Foundry, probablemente la CLI de tu proveedor en la nube no está autenticada en el shell actual.1237Si configuraste Claude Code para usar un proveedor de nube y ves `Could not load credentials from any providers` en Amazon Bedrock, `Could not load the default credentials` en Agent Platform de Google Cloud, o `ChainedTokenCredential authentication failed` en Microsoft Foundry, probablemente la CLI de tu proveedor de nube no esté autenticada en el shell actual.

1228 1238 

1229Para Amazon Bedrock, confirma que tus credenciales de AWS son válidas:1239Para Amazon Bedrock, confirma que tus credenciales de AWS sean válidas:

1230 1240 

1231```bash theme={null}1241```bash theme={null}

1232aws sts get-caller-identity1242aws sts get-caller-identity

1233```1243```

1234 1244 

1235Para Google Cloud's Agent Platform, confirma que `ANTHROPIC_VERTEX_PROJECT_ID` y `CLOUD_ML_REGION` están configuradas en tu shell y luego establece las credenciales predeterminadas de aplicación:1245Para Agent Platform de Google Cloud, confirma que `ANTHROPIC_VERTEX_PROJECT_ID` y `CLOUD_ML_REGION` estén configuradas en tu shell y luego configura las credenciales predeterminadas de la aplicación:

1236 1246 

1237```bash theme={null}1247```bash theme={null}

1238gcloud auth application-default login1248gcloud auth application-default login

1239```1249```

1240 1250 

1241Para Microsoft Foundry, confirma que `ANTHROPIC_FOUNDRY_API_KEY` está configurada, o inicia sesión con la CLI de Azure para que la cadena de credenciales predeterminada pueda encontrar tu cuenta:1251Para Microsoft Foundry, confirma que `ANTHROPIC_FOUNDRY_API_KEY` esté configurada, o inicia sesión con la CLI de Azure para que la cadena de credenciales predeterminada pueda encontrar tu cuenta:

1242 1252 

1243```bash theme={null}1253```bash theme={null}

1244az login1254az login

1245```1255```

1246 1256 

1247Si las credenciales funcionan en tu terminal pero no en la extensión de VS Code o JetBrains, probablemente el proceso del IDE no heredó el entorno de tu shell. Establece las variables de entorno del proveedor en la configuración propia del IDE, o inicia el IDE desde una terminal donde ya estén exportadas.1257Si las credenciales funcionan en tu terminal pero no en la extensión de VS Code o JetBrains, probablemente el proceso del IDE no heredó el entorno de tu shell. Configura las variables de entorno del proveedor en la configuración propia del IDE, o inicia el IDE desde una terminal donde ya estén exportadas.

1248 1258 

1249Consulta [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/es/google-vertex-ai.md) o [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md) para la configuración completa del proveedor.1259Consulta [Amazon Bedrock](https://code.claude.com/docs/es/amazon-bedrock.md), [Agent Platform de Google Cloud](https://code.claude.com/docs/es/google-vertex-ai.md) o [Microsoft Foundry](https://code.claude.com/docs/es/microsoft-foundry.md) para la configuración completa del proveedor.

1250 1260 

1251## Aún atrapado1261## Aún atrapado

1252 1262 

voice-dictation.md +15 −15

Details

57 57 

58La transcripción se ajusta para vocabulario de codificación en ambos modos. Los términos de desarrollo comunes como `regex`, `OAuth`, `JSON` y `localhost` se reconocen correctamente, y el nombre del proyecto actual y el nombre de la rama de git se agregan automáticamente como sugerencias de reconocimiento.58La transcripción se ajusta para vocabulario de codificación en ambos modos. Los términos de desarrollo comunes como `regex`, `OAuth`, `JSON` y `localhost` se reconocen correctamente, y el nombre del proyecto actual y el nombre de la rama de git se agregan automáticamente como sugerencias de reconocimiento.

59 59 

60## Mantener para grabar60## Mantén presionado para grabar

61 61 

62El modo de mantener es pulsar para hablar: la grabación se ejecuta mientras mantiene la tecla presionada y se detiene cuando la suelta. Este es el modo predeterminado.62El modo de mantener presionado es pulsar para hablar: la grabación se ejecuta mientras mantienes presionada la tecla y se detiene cuando la sueltas. Este es el modo predeterminado.

63 63 

64Mantenga presionada la `Barra espaciadora` para comenzar a grabar. Claude Code detecta una tecla mantenida observando eventos rápidos de repetición de teclas desde su terminal, por lo que hay un breve calentamiento antes de que comience la grabación. El pie de página muestra `keep holding…` durante el calentamiento, luego `listening…` una vez que la grabación está activa. Mientras graba, el cursor de la indicación se convierte en una barra que sube y baja con el nivel de su micrófono, a menos que tenga [`prefersReducedMotion`](https://code.claude.com/docs/es/settings-reference#prefersreducedmotion) activado.64Mantén presionado `Space` para comenzar a grabar. Claude Code detecta una tecla mantenida observando los eventos rápidos de repetición de teclas de tu terminal, por lo que hay un breve calentamiento antes de que comience la grabación. El pie de página muestra `keep holding…` durante el calentamiento y luego `listening…` una vez que la grabación está activa. Mientras grabas, el cursor del prompt se convierte en una barra que sube y baja con el nivel de tu micrófono, a menos que tengas activado [`prefersReducedMotion`](https://code.claude.com/docs/es/settings-reference#prefersreducedmotion).

65 65 

66Los primeros caracteres de repetición de tecla escriben en la entrada durante el calentamiento y se eliminan automáticamente cuando se activa la grabación. Un único toque de `Barra espaciadora` aún escribe un espacio, ya que la detección de mantener solo se activa en repetición rápida.66Los primeros caracteres de repetición de teclas se escriben en la entrada durante el calentamiento y se eliminan automáticamente cuando se activa la grabación. Un solo toque de `Space` sigue escribiendo un espacio, ya que la detección de tecla mantenida solo se activa con la repetición rápida.

67 67 

68Mantener o tocar `Barra espaciadora` inicia la dictación solo donde la pulsación de tecla escribiría en la indicación. En el [visor de transcripción](https://code.claude.com/docs/es/interactive-mode.md#transcript-viewer), `Barra espaciadora` avanza por la conversación, y en [modo vim](https://code.claude.com/docs/es/interactive-mode.md#vim-editor-mode) fuera de INSERT es un comando. Una [combinación de modificador reenlazada](#rebind-the-dictation-key) como `meta+k` nunca escribe texto, por lo que también inicia la dictación desde esos lugares.68Mantener presionado o tocar `Space` inicia el dictado solo donde la pulsación de tecla de otro modo escribiría en el prompt. En el [visor de transcripción](https://code.claude.com/docs/es/interactive-mode.md#transcript-viewer), `Space` avanza por páginas a través de la conversación, y en el [modo vim](https://code.claude.com/docs/es/interactive-mode.md#vim-editor-mode) fuera de INSERT es un comando. Una [combinación de modificadores reasignada](#rebind-the-dictation-key) como `meta+k` nunca escribe texto, por lo que también inicia el dictado desde esos lugares.

69 69 

70> [!TIP]70> [!TIP]

71>71>

72> Para omitir el calentamiento, cambie al [modo de toque](#tap-to-record-and-send) con `/voice tap`, o [reenlace a una combinación de modificador](#rebind-the-dictation-key) como `meta+k`. Las combinaciones de modificadores comienzan a grabar en la primera pulsación de tecla.72> Para omitir el calentamiento, cambia al [modo de toque](#tap-to-record-and-send) con `/voice tap`, o [reasigna a una combinación de modificadores](#rebind-the-dictation-key) como `meta+k`. Las combinaciones de modificadores comienzan a grabar con la primera pulsación de tecla.

73 73 

74Su voz aparece en la indicación mientras habla, atenuada hasta que se finaliza la transcripción. Suelte la `Barra espaciadora` para detener la grabación y finalizar el texto. La transcripción se inserta en la posición del cursor y el cursor permanece al final del texto insertado, por lo que puede mezclar escritura y dictado en cualquier orden. Mantenga presionada la `Barra espaciadora` nuevamente para agregar otra grabación, o mueva el cursor primero para insertar voz en otro lugar de la indicación:74Tu voz aparece en el prompt mientras hablas, atenuada hasta que la transcripción se finaliza. Suelta `Space` para detener la grabación y finalizar el texto. La transcripción se inserta en la posición de tu cursor y el cursor permanece al final del texto insertado, por lo que puedes combinar escritura y dictado en cualquier orden. Mantén presionado `Space` de nuevo para agregar otra grabación, o mueve primero el cursor para insertar voz en otra parte del prompt:

75 75 

76```76```

77> refactor the auth middleware to ▮77> refactor the auth middleware to ▮

78 # hold Space, speak "use the new token validation helper"78 # hold space, speak "use the new token validation helper"

79> refactor the auth middleware to use the new token validation helper▮79> refactor the auth middleware to use the new token validation helper▮

80```80```

81 81 

82De forma predeterminada, cuando suelta la tecla, Claude Code inserta la transcripción y espera a que presione `Enter`. Establezca `"autoSubmit": true` en el objeto de configuración `voice` para enviar la indicación automáticamente cuando suelte la tecla, siempre que la transcripción tenga al menos tres palabras.82De forma predeterminada, cuando sueltas la tecla, Claude Code inserta la transcripción y espera a que presiones `Enter`. Establece `"autoSubmit": true` en el objeto de configuración `voice` para enviar el prompt automáticamente cuando sueltes la tecla, siempre que la transcripción tenga al menos tres palabras.

83 83 

84## Tocar para grabar y enviar84## Toca para grabar y enviar

85 85 

86El modo de toque alterna la grabación con una sola pulsación de tecla: toque una vez para comenzar, hable, luego toque nuevamente para enviar la indicación. No hay calentamiento y no necesita mantener la tecla presionada.86El modo de toque activa y desactiva la grabación con una sola pulsación de tecla: toca una vez para empezar, habla y luego toca de nuevo para enviar el prompt. No hay tiempo de preparación y no necesitas mantener la tecla presionada.

87 87 

88Habilite el modo de toque con `/voice tap`. Con la entrada de indicación vacía, toque la `Barra espaciadora` para comenzar a grabar. El pie de página muestra `● REC · tap to send` mientras se graba. Toque la `Barra espaciadora` nuevamente para detener.88Activa el modo de toque con `/voice tap`. Con la entrada del prompt vacía, toca `Space` para empezar a grabar. El pie de página muestra `● REC · tap to send` mientras graba. Toca `Space` de nuevo para detener la grabación.

89 89 

90Claude Code inserta la transcripción y envía la indicación automáticamente cuando la transcripción tiene al menos tres palabras. Las transcripciones más cortas se insertan pero no se envían, por lo que un toque accidental no envía una palabra extraviada.90Claude Code inserta la transcripción y envía el prompt automáticamente cuando la transcripción tiene al menos tres palabras. Las transcripciones más cortas se insertan pero no se envían, de modo que un toque accidental no envía una palabra suelta.

91 91 

92El umbral de tres palabras cuenta palabras para idiomas escritos sin espacios. Las transcripciones en japonés, chino y tailandés cuentan palabras individuales, por lo que se envían automáticamente en modo de toque y en modo de retención con `autoSubmit`.92El umbral de tres palabras cuenta palabras en los idiomas que se escriben sin espacios. Las transcripciones en japonés, chino y tailandés cuentan palabras individuales, por lo que se envían automáticamente en el modo de toque y en el modo de mantener presionado con `autoSubmit`.

93 93 

94El primer toque solo comienza a grabar cuando la entrada de indicación está vacía, por lo que aún puede escribir espacios normalmente mientras compone un mensaje. El segundo toque detiene la grabación independientemente del contenido de entrada. La grabación también se detiene automáticamente después de 15 segundos de silencio o dos minutos en total.94El primer toque solo inicia la grabación cuando la entrada del prompt está vacía, así que puedes seguir escribiendo espacios normalmente mientras redactas un mensaje. El segundo toque detiene la grabación sin importar el contenido de la entrada. La grabación también se detiene automáticamente después de 15 segundos de silencio o de dos minutos en total.

95 95 

96## Cancelar una grabación96## Cancelar una grabación

97 97 

vs-code.md +16 −5

Details

133 Cuando el modelo actual admite [niveles de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level), el selector también muestra una fila **Effort** y el botón con el nombre del modelo muestra el nivel seleccionado. Cuando eliges un nivel distinto de `max`, Claude Code lo guarda como tu valor predeterminado para el modelo actual, en [`modelSettings`](https://code.claude.com/docs/es/settings-reference#modelsettings) dentro de tu configuración de usuario; `max` se aplica solo a la sesión actual. El botón con el nombre del modelo y la fila **Effort** requieren Claude Code v2.1.257 o posterior.133 Cuando el modelo actual admite [niveles de esfuerzo](https://code.claude.com/docs/es/model-config.md#adjust-effort-level), el selector también muestra una fila **Effort** y el botón con el nombre del modelo muestra el nivel seleccionado. Cuando eliges un nivel distinto de `max`, Claude Code lo guarda como tu valor predeterminado para el modelo actual, en [`modelSettings`](https://code.claude.com/docs/es/settings-reference#modelsettings) dentro de tu configuración de usuario; `max` se aplica solo a la sesión actual. El botón con el nombre del modelo y la fila **Effort** requieren Claude Code v2.1.257 o posterior.

134 134 

135 Cuando los [flujos de trabajo dinámicos](https://code.claude.com/docs/es/workflows.md) están habilitados y el modelo actual los admite, aparece un interruptor **Ultracode** debajo de la fila **Effort**. Actívalo para que Claude planifique un [flujo de trabajo](https://code.claude.com/docs/es/workflows.md#let-claude-decide-with-ultracode) para cada tarea sustancial de esta sesión, con el nivel de esfuerzo seleccionado. Mientras está activado, el botón con el nombre del modelo muestra `· Ultracode` después del nivel. El interruptor requiere Claude Code v2.1.284 o posterior.135 Cuando los [flujos de trabajo dinámicos](https://code.claude.com/docs/es/workflows.md) están habilitados y el modelo actual los admite, aparece un interruptor **Ultracode** debajo de la fila **Effort**. Actívalo para que Claude planifique un [flujo de trabajo](https://code.claude.com/docs/es/workflows.md#let-claude-decide-with-ultracode) para cada tarea sustancial de esta sesión, con el nivel de esfuerzo seleccionado. Mientras está activado, el botón con el nombre del modelo muestra `· Ultracode` después del nivel. El interruptor requiere Claude Code v2.1.284 o posterior.

136* **Menú de comandos**: haz clic en `/` o escribe `/` para abrir el menú de comandos. Las opciones incluyen adjuntar archivos, cambiar de modelo y activar o desactivar el pensamiento extendido.136* **Menú de comandos**: haz clic en `/` o escribe `/` para abrir el menú de comandos. Las opciones incluyen adjuntar archivos y cambiar de modelo.

137 137 

138 La sección Customize incluye entradas como servidores MCP, comandos, estilos de salida, hooks, memoria, instrucciones, permisos y plugins. Los elementos con un icono de terminal se abren en la terminal integrada.138 La sección Customize incluye entradas como servidores MCP, comandos, estilos de salida, hooks, memoria, instrucciones, permisos y plugins. Los elementos con un icono de terminal se abren en la terminal integrada.

139 139 


191 Para abrir el mapa cuando no se muestra ningún recuento de agentes, por ejemplo cuando Claude ha iniciado un shell en segundo plano pero ningún subagente, escribe `/tasks` en el cuadro de prompt. Las tareas en segundo plano en el mapa y el comando `/tasks` escrito requieren Claude Code v2.1.277 o posterior.191 Para abrir el mapa cuando no se muestra ningún recuento de agentes, por ejemplo cuando Claude ha iniciado un shell en segundo plano pero ningún subagente, escribe `/tasks` en el cuadro de prompt. Las tareas en segundo plano en el mapa y el comando `/tasks` escrito requieren Claude Code v2.1.277 o posterior.

192 192 

193 Con Claude Code v2.1.286 o posterior, cuando haces clic en **Stop** o presionas `Esc`, el turno actual termina. Los agentes en segundo plano siguen ejecutándose hasta que terminan o los detienes desde el mapa.193 Con Claude Code v2.1.286 o posterior, cuando haces clic en **Stop** o presionas `Esc`, el turno actual termina. Los agentes en segundo plano siguen ejecutándose hasta que terminan o los detienes desde el mapa.

194* **Pensamiento extendido**: permite que Claude dedique más tiempo a razonar sobre problemas complejos. Actívalo desde el menú de comandos (`/`). El razonamiento de Claude aparece en la conversación como bloques contraídos: haz clic en un bloque para leerlo, o presiona `Ctrl+O` para expandir o contraer todos los bloques de pensamiento de la sesión. Consulta [Pensamiento extendido](https://code.claude.com/docs/es/model-config.md#extended-thinking) para más detalles.194* **Pensamiento extendido**: permite que Claude dedique más tiempo a razonar sobre problemas complejos. Para desactivarlo o volver a activarlo, usa el interruptor **Thinking** en la sección Model del menú de comandos (`/`). En los modelos en los que [el pensamiento no se puede desactivar](https://code.claude.com/docs/es/model-config.md#extended-thinking), el menú no tiene el interruptor **Thinking** y el pensamiento permanece activado.

195 

196 Un bloque de pensamiento que muestra solo una etiqueta, como `Thought for 12s`, no tiene texto y no se abre al hacer clic en él. Para ver resúmenes del pensamiento, establece [`showThinkingSummaries`](https://code.claude.com/docs/es/settings-reference#showthinkingsummaries) en `true` en `~/.claude/settings.json` y luego ejecuta **Developer: Reload Window** desde la paleta de comandos.

197 

198 Los bloques de pensamiento que ya tienes siguen vacíos. En las respuestas posteriores a la recarga, haz clic en un bloque o presiona `Ctrl+O` para expandirlos todos.

195* **Entrada de varias líneas**: presiona `Shift+Enter` para agregar una nueva línea sin enviar. Esto también funciona en la entrada de texto libre "Other" de los cuadros de diálogo de preguntas.199* **Entrada de varias líneas**: presiona `Shift+Enter` para agregar una nueva línea sin enviar. Esto también funciona en la entrada de texto libre "Other" de los cuadros de diálogo de preguntas.

196 200 

197### Hacer referencia a archivos y carpetas201### Hacer referencia a archivos y carpetas


333 337 

334Ejecuta `/usage` para abrir el cuadro de diálogo Account & usage, que muestra la cuenta con la que iniciaste sesión y tu uso. Las cifras de uso dependen de cómo iniciaste sesión:338Ejecuta `/usage` para abrir el cuadro de diálogo Account & usage, que muestra la cuenta con la que iniciaste sesión y tu uso. Las cifras de uso dependen de cómo iniciaste sesión:

335 339 

336* **Plan de claude.ai**: barras de uso para los límites de tu plan, como la sesión actual y la semana. Cada barra muestra cuánto falta para que se restablezca su límite.340* **Plan de claude.ai**: barras de uso para los límites de tu plan, como la sesión actual y la semana.

337 341 

338 El cuadro de diálogo también desglosa qué contribuye a los límites de tu plan:342 El cuadro de diálogo también desglosa qué contribuye a los límites de tu plan:

339 343 


580 584 

581Al crear solicitudes de extracción, Claude genera descripciones basadas en los cambios de código reales y puede agregar contexto sobre decisiones de prueba o implementación.585Al crear solicitudes de extracción, Claude genera descripciones basadas en los cambios de código reales y puede agregar contexto sobre decisiones de prueba o implementación.

582 586 

587### Reabrir una conversación que se movió a un worktree

588 

589En una conversación reabierta, el banner **This session is in worktree** significa que el directorio de trabajo de la conversación es el [worktree](https://code.claude.com/docs/es/worktrees.md) que nombra, no la carpeta que tiene abierta esta ventana. Para abrir el worktree en una nueva ventana de VS Code, haz clic en **Open worktree** en el banner.

590 

591Una conversación se mueve a un worktree cuando, por ejemplo, [le pides a Claude que trabaje en uno](https://code.claude.com/docs/es/worktrees.md#ask-claude-to-create-a-worktree). Cuando la reabres, o cuando el panel [la reabre después de recargar la ventana](#continue-conversations-after-a-reload), se reanuda en el worktree si Claude Code creó el worktree en `.claude/worktrees/` y este todavía existe. Antes de Claude Code v2.1.300, en su lugar se abría una conversación vacía. En esas versiones, actualiza la extensión.

592 

583## Ejecutar trabajo en segundo plano593## Ejecutar trabajo en segundo plano

584 594 

585Envía un comando o subagente de larga duración al segundo plano y luego consulta su estado desde el cuadro de prompt.595Envía un comando o subagente de larga duración al segundo plano y luego consulta su estado desde el cuadro de prompt.


633| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Inserta una referencia al archivo y la selección actuales (requiere que el editor tenga el foco) |643| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Inserta una referencia al archivo y la selección actuales (requiere que el editor tenga el foco) |

634| Accept Change at Cursor | - | Acepta el cambio en el cursor mientras [revisas una edición propuesta](#get-started) un cambio a la vez. Requiere Claude Code v2.1.275 o posterior |644| Accept Change at Cursor | - | Acepta el cambio en el cursor mientras [revisas una edición propuesta](#get-started) un cambio a la vez. Requiere Claude Code v2.1.275 o posterior |

635| Reject Change at Cursor | - | Revierte el cambio en el cursor mientras revisas una edición propuesta un cambio a la vez. Requiere Claude Code v2.1.275 o posterior |645| Reject Change at Cursor | - | Revierte el cambio en el cursor mientras revisas una edición propuesta un cambio a la vez. Requiere Claude Code v2.1.275 o posterior |

636| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Oculta o muestra la actividad de las herramientas en la conversación. Funciona mientras un panel o una barra lateral de Claude está visible. Requiere Claude Code v2.1.221 o posterior |646| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Oculta o muestra la actividad de las herramientas en la conversación. Funciona mientras un panel o una barra lateral de Claude está visible. En Windows/Linux, `Ctrl+Alt+F` abre en su lugar la búsqueda de VS Code cuando el foco está en la Consola de depuración o en una lista con búsqueda como el Explorador. Pon el foco en un editor o en el panel de Claude y vuelve a presionarlo. Requiere Claude Code v2.1.221 o posterior |

637| Rename Session Tab | - | Cambia el nombre de la sesión en la pestaña activa de Claude. Requiere Claude Code v2.1.257 o posterior |647| Rename Session Tab | - | Cambia el nombre de la sesión en la pestaña activa de Claude. Requiere Claude Code v2.1.257 o posterior |

638| Add Session Tab to Group | - | Agrega la sesión de la pestaña activa de Claude a un [grupo de sesiones](#organize-sessions-into-groups) que elijas o crees. Requiere Claude Code v2.1.257 o posterior |648| Add Session Tab to Group | - | Agrega la sesión de la pestaña activa de Claude a un [grupo de sesiones](#organize-sessions-into-groups) que elijas o crees. Requiere Claude Code v2.1.257 o posterior |

639| Mark Session as Unread | - | Marca la sesión de la pestaña activa de Claude como no leída en la lista de sesiones. Requiere Claude Code v2.1.257 o posterior |649| Mark Session as Unread | - | Marca la sesión de la pestaña activa de Claude como no leída en la lista de sesiones. Requiere Claude Code v2.1.257 o posterior |


679| Parámetro | Descripción |689| Parámetro | Descripción |

680| - | - |690| - | - |

681| `prompt` | Texto para rellenar previamente en el cuadro de prompt. Debe estar codificado como URL. El prompt se rellena previamente, pero no se envía automáticamente. |691| `prompt` | Texto para rellenar previamente en el cuadro de prompt. Debe estar codificado como URL. El prompt se rellena previamente, pero no se envía automáticamente. |

682| `session` | Un ID de sesión para reanudar en lugar de iniciar una nueva conversación. La sesión debe pertenecer al espacio de trabajo abierto actualmente en VS Code. Si no se encuentra la sesión, se inicia una conversación nueva en su lugar. Si la sesión ya está abierta en una pestaña, esa pestaña recibe el foco. Para capturar un ID de sesión de forma programática, consulta [Continuar conversaciones](https://code.claude.com/docs/es/headless.md#continue-conversations). |692| `session` | ID de una sesión para reanudar, de la carpeta abierta en VS Code. Con Claude Code v2.1.300 o posterior, también se reanuda una sesión del checkout principal o de un [worktree](https://code.claude.com/docs/es/worktrees.md) del repositorio de esa carpeta. Si no se encuentra la sesión, se inicia una conversación nueva en su lugar. Si la sesión ya está abierta en una pestaña, esa pestaña recibe el foco. Para capturar un ID de sesión de forma programática, consulta [Continuar conversaciones](https://code.claude.com/docs/es/headless.md#continue-conversations). |

683 693 

684Por ejemplo, para abrir una pestaña con "review my changes" rellenado previamente:694Por ejemplo, para abrir una pestaña con "review my changes" rellenado previamente:

685 695 


916| `Claude Code process exited with code 1`, u otro código | [Claude Code process exited with code N](https://code.claude.com/docs/es/errors.md#claude-code-process-exited-with-code-n) |926| `Claude Code process exited with code 1`, u otro código | [Claude Code process exited with code N](https://code.claude.com/docs/es/errors.md#claude-code-process-exited-with-code-n) |

917| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/es/errors.md#could-not-locate-the-claude-cli-on-path) |927| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/es/errors.md#could-not-locate-the-claude-cli-on-path) |

918| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/es/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |928| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/es/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |

929| `The Claude Code program for this computer, the <build> build, could not be found` | [The Claude Code program for this computer could not be found](https://code.claude.com/docs/es/errors.md#the-claude-code-program-for-this-computer-could-not-be-found) |

919| No se encuentra `claude` en la terminal integrada de VS Code | [Ejecutar la CLI en VS Code](#run-cli-in-vs-code) |930| No se encuentra `claude` en la terminal integrada de VS Code | [Ejecutar la CLI en VS Code](#run-cli-in-vs-code) |

920 931 

921### La extensión no se instala932### La extensión no se instala

Details

4 4 

5# Semana 18 · 27 de abril – 1 de mayo de 20265# Semana 18 · 27 de abril – 1 de mayo de 2026

6 6 

7> Claude Code en Windows se ejecuta sin Git Bash, claude auth login acepta un código OAuth pegado cuando la devolución de llamada del navegador no puede alcanzar localhost, claude project purge limpia el estado local por proyecto, y pegar una URL de PR en /resume encuentra la sesión que la creó.7> Claude Code en Windows funciona sin Git Bash, claude auth login acepta un código OAuth pegado cuando el callback del navegador no puede llegar a localhost, claude project purge limpia el estado local por proyecto, y pegar la URL de un PR en /resume encuentra la sesión que lo creó.

8 8 

9Releases [v2.1.120 → v2.1.126](https://code.claude.com/docs/en/changelog.md#2-1-120)9Versiones [v2.1.120 → v2.1.126](https://code.claude.com/docs/en/changelog.md#2-1-120)

104 características · 27 de abril – 1 de mayo104 funciones · 27 de abril – 1 de mayo

11 11 

12Iniciar sesión sin devolución de llamada del navegador12Inicia sesión sin un callback del navegador

13v2.1.12613v2.1.126

14 14 

15`claude auth login` ahora acepta el código OAuth pegado directamente en la terminal cuando la devolución de llamada del navegador no puede alcanzar localhost. Esto cubre WSL2, sesiones SSH y contenedores, donde la redirección a un puerto local no funciona. La misma versión también corrige los tiempos de espera de inicio de sesión en conexiones lentas o con proxy y en devcontainers solo IPv6.15`claude auth login` ahora acepta el código OAuth pegado directamente en la terminal cuando el callback del navegador no puede llegar a localhost. Esto cubre WSL2, sesiones SSH y contenedores, donde la redirección a un puerto local no funciona. La misma versión también corrige los tiempos de espera agotados al iniciar sesión en conexiones lentas o a través de proxy, y en devcontainers solo con IPv6.

16 16 

17Inicie sesión y luego pegue el código del navegador:17Inicia sesión y luego pega el código desde el navegador:

18 18 

19```bash theme={null}19```bash theme={null}

20claude auth login20claude auth login

21```21```

22 22 

23[Referencia de CLI](https://code.claude.com/docs/es/cli-reference.md#cli-commands)23[Referencia de la CLI](https://code.claude.com/docs/es/cli-reference.md#cli-commands)

24 24 

25claude project purge25claude project purge

26v2.1.12426v2.1.124

27 27 

28Elimine todo el estado de Claude Code para un proyecto: transcripciones, tareas, historial de archivos y la entrada de configuración del proyecto. Admite `--dry-run` para obtener una vista previa, `-y`/`--yes` para omitir la confirmación, `-i`/`--interactive` para elegir, y `--all` para limpiar todos los proyectos.28Elimina todo el estado de Claude Code de un proyecto: transcripciones, tareas, historial de archivos y la entrada de configuración del proyecto. Admite `--dry-run` para obtener una vista previa, `-y`/`--yes` para omitir la confirmación, `-i`/`--interactive` para elegir y `--all` para limpiar todos los proyectos.

29 29 

30Obtenga una vista previa de lo que se eliminaría:30Obtén una vista previa de lo que se eliminaría:

31 31 

32```bash theme={null}32```bash theme={null}

33claude project purge --dry-run33claude project purge --dry-run

34```34```

35 35 

36Luego ejecútelo de verdad:36Luego ejecútalo de verdad:

37 37 

38```bash theme={null}38```bash theme={null}

39claude project purge39claude project purge

40```40```

41 41 

42[Referencia de CLI](https://code.claude.com/docs/es/cli-reference.md)42[Referencia de la CLI](https://code.claude.com/docs/es/cli-reference.md)

43 43 

44Reanudar por URL de PR44Reanuda por URL de PR

45v2.1.12245v2.1.122

46 46 

47Cuando crea una solicitud de extracción con `gh pr create`, Claude Code la vincula a la sesión que la produjo. Ahora puede volver a esa sesión solo desde la URL de PR, sin necesidad de recordar su nombre.47Cuando creas un pull request con `gh pr create`, Claude Code lo vincula a la sesión que lo produjo. Ahora puedes volver a esa sesión solo con la URL del PR, sin tener que recordar su nombre.

48 48 

49Abra el selector de sesiones:49Abre el selector de sesiones:

50 50 

51```text Claude Code theme={null}51```text Claude Code theme={null}

52> /resume52> /resume

53```53```

54 54 

55Pegue la URL de PR en el selector. El primer carácter del pegado lo coloca en modo de búsqueda, y la lista se filtra a la sesión que creó ese PR. Presione Intro para reanudarlo. Las URL de solicitudes de extracción y fusión de GitHub, GitHub Enterprise, GitLab y Bitbucket funcionan todas.55Pega la URL del PR en el selector. El primer carácter del pegado te lleva al modo de búsqueda, y la lista se filtra a la sesión que creó ese PR. Presiona Enter para reanudarla. Funcionan las URL de pull requests y merge requests de GitHub, GitHub Enterprise, GitLab y Bitbucket.

56 56 

57```text Claude Code theme={null}57```text Claude Code theme={null}

58https://github.com/your-org/your-repo/pull/123458https://github.com/your-org/your-repo/pull/1234

59```59```

60 60 

61Para abrir el selector ya filtrado al PR, pase el número de PR en la línea de comandos:61Para abrir el selector ya filtrado por el PR, pasa el número del PR en la línea de comandos:

62 62 

63```bash theme={null}63```bash theme={null}

64claude --from-pr 123464claude --from-pr 1234

65```65```

66 66 

67[Sesiones: usar el selector de sesiones](https://code.claude.com/docs/es/sessions.md#use-the-session-picker)67[Sesiones: usa el selector de sesiones](https://code.claude.com/docs/es/sessions.md#use-the-session-picker)

68 68 

69Windows sin Git Bash69Windows sin Git Bash

70Windows70Windows

71 71 

72Git para Windows ya no es obligatorio. Cuando Bash no está presente, Claude Code usa PowerShell como herramienta de shell, y cuando la herramienta PowerShell está habilitada se trata como el shell principal. PowerShell 7 instalado a través de Microsoft Store, MSI sin PATH, o una herramienta global de `.NET` ahora se detecta automáticamente.72Git for Windows ya no es obligatorio. Cuando Bash no está presente, Claude Code usa PowerShell como herramienta de shell, y cuando la herramienta PowerShell está habilitada se trata como el shell principal. PowerShell 7 instalado mediante Microsoft Store, MSI sin PATH o una herramienta global de `.NET` ahora se detecta automáticamente.

73 73 

74[Guía de configuración](https://code.claude.com/docs/es/setup.md)74[Guía de configuración](https://code.claude.com/docs/es/setup.md)

75 75 

76Otros logros76Otras mejoras

77 77 

78Los servidores MCP pueden optar por no participar en el aplazamiento de búsqueda de herramientas con `alwaysLoad: true` en su configuración para que todas las herramientas de ese servidor siempre estén disponiblesNuevo `claude plugin prune` elimina dependencias de complementos instalados automáticamente huérfanos, y `plugin uninstall --prune` se propaga`/skills` ahora tiene un cuadro de búsqueda de escritura para filtrar para que pueda encontrar una habilidad en una lista larga sin desplazarseLos hooks `PostToolUse` pueden reemplazar la salida de herramientas para cualquier herramienta a través de `hookSpecificOutput.updatedToolOutput`, no solo herramientas MCPNuevo subcomando [`claude ultrareview`](https://code.claude.com/docs/es/ultrareview) ejecuta `/ultrareview` de forma no interactiva desde CI o scripts: imprime hallazgos en stdout (`--json` para salida sin procesar) y sale con 0 al completarse o 1 en caso de fallo`--dangerously-skip-permissions` ahora omite las indicaciones para escrituras en `.claude/`, `.git/`, `.vscode/`, archivos de configuración de shell y otras rutas previamente protegidas, mientras que los comandos de eliminación catastrófica aún solicitan como red de seguridadEl selector `/model` puede enumerar modelos desde el punto final `/v1/models` de su puerta de enlace cuando `ANTHROPIC_BASE_URL` apunta a una puerta de enlace compatible con Anthropic; opte por `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` desde v2.1.129Los servidores MCP que encuentran un error transitorio durante el inicio ahora se reintentan automáticamente hasta 3 veces en lugar de permanecer desconectados`ANTHROPIC_BEDROCK_SERVICE_TIER` selecciona un nivel de servicio de Amazon Bedrock: `default`, `flex`, o `priority``/terminal-setup` habilita la configuración de acceso al portapapeles de iTerm2 para que `/copy` funcione, incluso desde tmuxLa Plataforma de Agentes de Google Cloud ahora admite Federación de Identidad de Carga de Trabajo basada en certificados X.509 (mTLS ADC)Correcciones significativas de fugas de memoria: sesiones con muchas imágenes, `/usage` en historiales de transcripción grandes, y herramientas de larga duración sin eventos de progreso78Los servidores MCP pueden excluirse del aplazamiento de la búsqueda de herramientas con `alwaysLoad: true` en su configuración, de modo que todas las herramientas de ese servidor estén siempre disponiblesEl nuevo `claude plugin prune` elimina las dependencias de plugins instaladas automáticamente que quedaron huérfanas, y `plugin uninstall --prune` lo aplica en cascada`/skills` ahora tiene un cuadro de búsqueda para filtrar mientras escribes, así puedes encontrar un skill en una lista larga sin desplazarteLos hooks `PostToolUse` pueden reemplazar la salida de cualquier herramienta mediante `hookSpecificOutput.updatedToolOutput`, no solo de las herramientas MCPEl nuevo subcomando [`claude ultrareview`](https://code.claude.com/docs/es/ultrareview) ejecuta `/ultrareview` de forma no interactiva desde CI o scripts: imprime los hallazgos en stdout (`--json` para salida sin procesar) y termina con 0 al completarse o con 1 si falla`--dangerously-skip-permissions` ahora omite las solicitudes de permiso para escrituras en `.claude/`, `.git/`, `.vscode/`, archivos de configuración del shell y otras rutas antes protegidas, mientras que los comandos de eliminación catastróficos siguen pidiendo confirmación como red de seguridadEl selector de `/model` puede listar los modelos del endpoint `/v1/models` de tu gateway cuando `ANTHROPIC_BASE_URL` apunta a un gateway compatible con Anthropic; actívalo con `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` desde v2.1.129Los servidores MCP que encuentran un error transitorio durante el inicio ahora reintentan automáticamente hasta 3 veces en lugar de quedarse desconectados`ANTHROPIC_BEDROCK_SERVICE_TIER` selecciona un nivel de servicio de Amazon Bedrock: `default`, `flex` o `priority``/terminal-setup` habilita el ajuste de acceso al portapapeles de iTerm2 para que `/copy` funcione, incluso desde tmuxAgent Platform de Google Cloud ahora admite Workload Identity Federation basada en certificados X.509 (mTLS ADC)Correcciones importantes de fugas de memoria: sesiones con muchas imágenes, `/usage` en historiales de transcripciones grandes y herramientas de larga duración sin eventos de progreso

79 79 

80[Registro de cambios completo para v2.1.120–v2.1.126 →](https://code.claude.com/docs/en/changelog.md#2-1-120)80[Registro de cambios completo de v2.1.120–v2.1.126 →](https://code.claude.com/docs/en/changelog.md#2-1-120)

workflows.md +35 −35

Details

31 31 

32Mover el plan al código también permite que un workflow aplique un patrón de calidad repetible, no solo ejecutar más agentes: puede tener agentes independientes que revisen adversarialmente los hallazgos de los demás antes de que se informen, o redacten un plan desde varios ángulos y los sopesen entre sí, para obtener un resultado más confiable que una sola pasada.32Mover el plan al código también permite que un workflow aplique un patrón de calidad repetible, no solo ejecutar más agentes: puede tener agentes independientes que revisen adversarialmente los hallazgos de los demás antes de que se informen, o redacten un plan desde varios ángulos y los sopesen entre sí, para obtener un resultado más confiable que una sola pasada.

33 33 

34## Ejecutar un flujo de trabajo agrupado34## Ejecuta un flujo de trabajo incluido

35 35 

36La forma más rápida de ver un flujo de trabajo en acción es ejecutar `/deep-research`, el [flujo de trabajo integrado](#bundled-workflows) que Claude Code incluye para investigar una pregunta en muchas fuentes. Verá que los agentes trabajan a través de un conjunto de fases en segundo plano mientras su sesión permanece libre, y obtendrá un informe al final en lugar de una transcripción turno por turno.36La forma más rápida de ver un flujo de trabajo en acción es ejecutar `/deep-research`, el [flujo de trabajo integrado](#bundled-workflows) que Claude Code incluye para investigar una pregunta a través de muchas fuentes. Verás a los agentes avanzar por una serie de fases en segundo plano mientras tu sesión sigue libre, y al final obtendrás un único informe en lugar de una transcripción turno por turno.

37 37 

38**1. Ejecutar el flujo de trabajo**38**1. Ejecuta el flujo de trabajo**

39 39 

40Ejecute `/deep-research` con una pregunta que desee investigar. Distribuye búsquedas web en varios ángulos, obtiene y verifica cruzadamente las fuentes que encuentra, y sintetiza un informe citado.40Ejecuta `/deep-research` con una pregunta que quieras investigar. Distribuye búsquedas web desde varios ángulos, obtiene y contrasta las fuentes que encuentra, y sintetiza un informe con citas.

41 41 

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

43/deep-research What changed in the Node.js permission model between v20 and v22?43/deep-research What changed in the Node.js permission model between v20 and v22?

44```44```

45 45 

46**2. Permitir flujos de trabajo**46**2. Permite los flujos de trabajo**

47 47 

48Claude Code pregunta si permitir el flujo de trabajo. Selecciona **Sí** para continuar. La solicitud exacta depende de tu modo de permisos. Consulta [Aprobar el plan antes de que se ejecute](#approve-the-plan-before-it-runs) para ver las opciones por modo.48Claude Code te pregunta si quieres permitir el flujo de trabajo. Selecciona **Yes** para continuar. La solicitud exacta depende de tu modo de permisos. Consulta [Aprueba el plan antes de que se ejecute](#approve-the-plan-before-it-runs) para ver las opciones de cada modo.

49 49 

50**3. Ver el progreso**50**3. Observa el progreso**

51 51 

52La ejecución comienza en segundo plano. Ejecuta `/workflows` para abrir su vista de progreso:52La ejecución comienza en segundo plano. Ejecuta `/workflows` para abrir su vista de progreso:

53 53 


55/workflows55/workflows

56```56```

57 57 

58Si `/workflows` muestra en cambio una lista de ejecuciones, selecciona la ejecución que acabas de iniciar y presiona Intro. La vista muestra cada fase con su recuento de agentes. Profundiza en cualquier fase para ver sus agentes y lo que cada uno encontró. Consulta [Ver la ejecución](#watch-the-run) para el conjunto completo de controles.58Si `/workflows` muestra en cambio una lista de ejecuciones, selecciona la que acabas de iniciar y presiona Enter. La vista muestra cada fase con su número de agentes. Entra en cualquier fase para ver sus agentes y lo que encontró cada uno. Consulta [Observa la ejecución](#watch-the-run) para ver el conjunto completo de controles.

59 59 

60También puede ver desde el panel de tareas debajo del cuadro de entrada: aparece un resumen de progreso de una línea mientras se ejecuta. Presione la flecha hacia abajo para enfocarlo y luego Intro para expandirlo.60También puedes seguirla desde el panel de tareas debajo del cuadro de entrada: allí aparece un resumen de progreso de una línea mientras la ejecución está en curso. Presiona la flecha hacia abajo para enfocarlo y luego Enter para expandirlo.

61 61 

62**4. Leer el informe**62**4. Lee el informe**

63 63 

64Cuando se completa la ejecución, el informe llega a su sesión. Cita las fuentes de las que provino cada afirmación, con afirmaciones que no sobrevivieron a la verificación cruzada ya filtradas.64Cuando la ejecución termina, el informe aparece en tu sesión. Cita las fuentes de las que proviene cada afirmación, y las afirmaciones que no superaron el contraste ya vienen filtradas.

65 65 

66Cuando los agentes verificadores no pueden verificar una afirmación, como después de un límite de velocidad o error de API, el informe enumera esa afirmación como no verificada en lugar de contarla como refutada.66Cuando los agentes verificadores no pueden comprobar una afirmación, por ejemplo después de un rate limit o un error de la API, el informe la lista como no verificada en lugar de contarla como refutada.

67 67 

68Para ejecutar un flujo de trabajo para su propia tarea, [haga que Claude escriba uno](#have-claude-write-a-workflow), y una vez que una ejecución haga lo que deseaba, puede [guardarlo](#save-the-workflow-for-reuse) como un comando propio.68Para ejecutar un flujo de trabajo para tu propia tarea, [pídele a Claude que escriba uno](#have-claude-write-a-workflow), y una vez que una ejecución haga lo que querías, puedes [guardarla](#save-the-workflow-for-reuse) como un comando propio.

69 69 

70### Flujos de trabajo agrupados70### Flujos de trabajo incluidos

71 71 

72Claude Code incluye `/deep-research` como un flujo de trabajo integrado:72Claude Code incluye `/deep-research` como flujo de trabajo integrado:

73 73 

74| Comando | Lo que hace |74| Comando | Qué hace |

75| :- | :- |75| :- | :- |

76| `/deep-research <question>` | Distribuye búsquedas web en una pregunta en varios ángulos, obtiene y verifica cruzadamente las fuentes que encuentra, vota sobre cada afirmación y devuelve un informe citado con afirmaciones que no sobrevivieron a la verificación cruzada filtradas. Requiere que la [herramienta WebSearch](https://code.claude.com/docs/es/tools-reference.md#websearch-tool-behavior) esté disponible |76| `/deep-research <question>` | Distribuye búsquedas web sobre una pregunta desde varios ángulos, obtiene y contrasta las fuentes que encuentra, vota sobre cada afirmación y devuelve un informe con citas en el que se filtran las afirmaciones que no superaron el contraste. Requiere que la [herramienta WebSearch](https://code.claude.com/docs/es/tools-reference.md#websearch-tool-behavior) esté disponible |

77 77 

78`/deep-research` se ejecuta solo cuando lo invoca.78`/deep-research` solo se ejecuta cuando lo invocas.

79 79 

80[Los flujos de trabajo que guarda](#save-the-workflow-for-reuse) usted mismo se convierten en comandos de la misma manera y aparecen en la autocompletación `/` junto con los agrupados.80Los [flujos de trabajo que guardas](#save-the-workflow-for-reuse) tú mismo se convierten en comandos de la misma manera y aparecen en el autocompletado de `/` junto a los incluidos.

81 81 

82### Ver la ejecución82### Observa la ejecución

83 83 

84Los flujos de trabajo se ejecutan en segundo plano, por lo que la sesión permanece receptiva mientras los agentes trabajan. Ejecuta `/workflows` en cualquier momento para enumerar los flujos de trabajo en ejecución y completados, y luego selecciona uno para abrir su vista de progreso. Cuando la sesión tiene una sola ejecución, `/workflows` omite la lista y abre esa ejecución. Para detener un flujo de trabajo en ejecución desde la lista sin abrirlo, selecciónalo y presiona `x`.84Los flujos de trabajo se ejecutan en segundo plano, así que la sesión sigue respondiendo mientras los agentes trabajan. Ejecuta `/workflows` en cualquier momento para listar los flujos de trabajo en curso y completados, y luego selecciona uno para abrir su vista de progreso. Cuando la sesión tiene una sola ejecución, `/workflows` omite la lista y abre esa ejecución. Para detener un flujo de trabajo en curso desde la lista sin abrirlo, selecciónalo y presiona `x`.

85 85 

86La vista de progreso muestra cada fase con sus recuentos de agentes. El pie de página enumera la tecla para cada acción:86La vista de progreso muestra cada fase con su número de agentes. El pie de página indica la tecla para cada acción:

87 87 

88| Tecla | Acción |88| Tecla | Acción |

89| :- | :- |89| :- | :- |

90| `↑` / `↓` | Seleccionar una fase o agente |90| `↑` / `↓` | Selecciona una fase o un agente |

91| `Enter` o `→` | Profundizar en la fase seleccionada y luego en el detalle de un agente. En el detalle, `Enter` expande o contrae |91| `Enter` o `→` | Entra en la fase seleccionada y luego en el detalle de un agente. En el detalle, `Enter` lo expande o lo contrae |

92| `Esc` o `←` | Retroceder un nivel |92| `Esc` o `←` | Retrocede un nivel |

93| `j` / `k` | Desplazarse dentro del detalle del agente cuando se desborda |93| `j` / `k` | Desplázate dentro del detalle del agente cuando no cabe en pantalla |

94| `f` | Filtrar la lista de agentes en la fase seleccionada por estado. Presione nuevamente para ciclar |94| `f` | Filtra la lista de agentes de la fase seleccionada por estado. Presiona de nuevo para alternar |

95| `p` | Pausar o reanudar la ejecución |95| `p` | Pausa o reanuda la ejecución |

96| `x` | Detener el agente seleccionado o detener todo el flujo de trabajo cuando el enfoque está en la ejecución |96| `x` | Detiene el agente seleccionado, o todo el flujo de trabajo cuando el foco está en la ejecución |

97| `r` | Reiniciar el agente en ejecución seleccionado |97| `r` | Reinicia el agente en curso seleccionado |

98| `s` | [Guardar](#save-the-workflow-for-reuse) el script de la ejecución como un comando |98| `s` | [Guarda](#save-the-workflow-for-reuse) el script de la ejecución como un comando |

99 99 

100El detalle del agente enumera el mensaje del agente, sus llamadas de herramientas recientes y su resultado. Cada llamada muestra su estado, como aún en ejecución o fallida. Cuando el agente mantiene su propia lista de tareas, el detalle la muestra también, con el estado de cada tarea.100El detalle del agente muestra el prompt del agente, sus llamadas a herramientas recientes y su resultado. Cada llamada muestra su estado, como si sigue en curso o si falló. Cuando el agente mantiene su propia lista de tareas, el detalle también la muestra, con el estado de cada tarea.

101 101 

102Presione `Enter` para expandir el detalle. El mensaje y el resultado se muestran entonces en su totalidad, y cada llamada listada muestra su entrada y el inicio de su resultado.102Presiona `Enter` para expandir el detalle. El prompt y el resultado se muestran entonces completos, y cada llamada listada muestra su entrada y el comienzo de su resultado.

103 103 

104## Hacer que Claude escriba un workflow104## Hacer que Claude escriba un workflow

105 105 

worktrees.md +15 −1

Details

214 214 

215### Reutilice un nombre de worktree215### Reutilice un nombre de worktree

216 216 

217Pasar `--worktree` un nombre cuyo directorio ya existe abre ese worktree existente en lugar de crear uno nuevo.217Si ya existe un worktree con el nombre que pasas a `--worktree`, Claude Code lo abre en lugar de crear uno nuevo. Si Claude Code se detiene con un error que contiene `belongs to a different repository` o `is a leftover worktree`, consulta [El directorio del worktree `belongs to a different repository`](#belongs-to-a-different-repository).

218 218 

219Con la [base](#choose-the-base-branch) predeterminada `"fresh"`, un worktree reabierto se restablece a la rama predeterminada del repositorio en lugar de continuar en su punta anterior cuando se cumplen todas las siguientes condiciones:219Con la [base](#choose-the-base-branch) predeterminada `"fresh"`, un worktree reabierto se restablece a la rama predeterminada del repositorio en lugar de continuar en su punta anterior cuando se cumplen todas las siguientes condiciones:

220 220 


353 353 

354Un error que contiene `This repository is a partial clone` significa que Claude Code no pudo obtener todos los objetos de git que necesita el commit inicial del worktree. Realiza el paso que indica la oración del mensaje que termina en `try again`. Luego reintenta desde el shell donde lo realizaste: ejecuta `claude --worktree`, o inicia `claude` allí y vuelve a pedirlo.354Un error que contiene `This repository is a partial clone` significa que Claude Code no pudo obtener todos los objetos de git que necesita el commit inicial del worktree. Realiza el paso que indica la oración del mensaje que termina en `try again`. Luego reintenta desde el shell donde lo realizaste: ejecuta `claude --worktree`, o inicia `claude` allí y vuelve a pedirlo.

355 355 

356### `Can only use --worktree in a git repository`

357 

358Este error significa que pasaste `--worktree` en un directorio que no es un checkout de git, y no hay ningún [hook `WorktreeCreate`](#non-git-version-control) activo.

359 

360* En una carpeta sin control de versiones, ejecuta `git init` allí, crea un primer commit y luego reintenta.

361* En un checkout de otro sistema de control de versiones, configura el hook que sugiere el mensaje.

362* Para trabajar directamente en el directorio, inicia Claude sin `--worktree`.

363 

364### El directorio del worktree `belongs to a different repository`

365 

366Los errores `belongs to a different repository` e `is a leftover worktree` significan ambos que git vincula el directorio correspondiente al nombre de worktree que pasaste con otra ubicación. Esto puede suceder después de copiar o mover un proyecto.

367 

368Pasa un nombre de worktree diferente. Si el directorio no tiene trabajo que conservar y no copiaste ni moviste un proyecto, puedes eliminarlo y reintentar con el mismo nombre. Después de copiar o mover, ese reintento puede fallar con `is already checked out elsewhere in this repository`, así que usa un nombre diferente.

369 

356### Claude Code se niega a usar un worktree370### Claude Code se niega a usar un worktree

357 371 

358Un error que comienza con `Refusing to use <path> as an isolation worktree` significa que Claude Code verificó la identidad de git del directorio antes de adoptarlo como un checkout aislado de sesión o subagente, y se negó. La verificación se ejecuta si Claude Code está creando el worktree, entrando en uno existente, o reutilizando uno de una ejecución anterior.372Un error que comienza con `Refusing to use <path> as an isolation worktree` significa que Claude Code verificó la identidad de git del directorio antes de adoptarlo como un checkout aislado de sesión o subagente, y se negó. La verificación se ejecuta si Claude Code está creando el worktree, entrando en uno existente, o reutilizando uno de una ejecución anterior.