SpyBara
Go Premium

Documentation 2026-10-10 23:01 UTC to 2026-10-11 23:57 UTC

20 files changed +245 −53. View all changes and history on the product overview
2026
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

2386 kind: "task-notification";2386 kind: "task-notification";

2387 subkind?: "scheduled-trigger" | "peer-send-message";2387 subkind?: "scheduled-trigger" | "peer-send-message";

2388 fireReason?: string;2388 fireReason?: string;

2389 runId?: string;

2389 }2390 }

2390 | { kind: "coordinator" }2391 | { kind: "coordinator" }

2391 | { kind: "auto-continuation" }2392 | { kind: "auto-continuation" }


2415 2416 

2416`fireReason` indica por qué se activó una notificación `scheduled-trigger`, como un token breve en minúsculas, por ejemplo `scheduled`, `manual`, `retry`, `catch_up` o `api`. Los servidores de Anthropic lo establecen en las entregas de una [rutina](/docs/es/routines), y tu aplicación lo establece cuando declara una ejecución programada. Está ausente cuando ninguno de los dos envió uno. Requiere TypeScript Agent SDK v0.3.280 o posterior.2417`fireReason` indica por qué se activó una notificación `scheduled-trigger`, como un token breve en minúsculas, por ejemplo `scheduled`, `manual`, `retry`, `catch_up` o `api`. Los servidores de Anthropic lo establecen en las entregas de una [rutina](/docs/es/routines), y tu aplicación lo establece cuando declara una ejecución programada. Está ausente cuando ninguno de los dos envió uno. Requiere TypeScript Agent SDK v0.3.280 o posterior.

2417 2418 

2419Una tarea en segundo plano puede ejecutarse más de una vez con el mismo `task_id`, por ejemplo cuando Claude [reanuda un subagente](/docs/es/agent-sdk/subagents#resume-subagents). Cada ejecución tiene su propio [`run_id`](#sdktaskstartedmessage). Cuando la notificación de una ejecución llega a tu sesión como un mensaje de usuario, `runId` en el origen `task-notification` de ese mensaje contiene el mismo valor. Una notificación puede llegar después de que haya comenzado la siguiente ejecución de la tarea, y aun así lleva el ID de la ejecución anterior. Para saber a qué ejecución pertenece un turno, compara `runId`, no `task_id`. Requiere TypeScript Agent SDK v0.3.292 o posterior.

2420 

2418<h4 id="declare-a-scheduled-run">2421<h4 id="declare-a-scheduled-run">

2419 Declarar una ejecución programada2422 Declarar una ejecución programada

2420</h4>2423</h4>


3260 Tipos de Entrada de Herramienta3263 Tipos de Entrada de Herramienta

3261</h2>3264</h2>

3262 3265 

3263Documentación de esquemas de entrada para todas las herramientas integradas de Claude Code. Estos tipos se exportan desde `@anthropic-ai/claude-agent-sdk/sdk-tools` y se pueden usar para interacciones de herramientas seguras de tipos.3266Documentación de esquemas de entrada para las herramientas integradas de Claude Code. Estos tipos se exportan desde `@anthropic-ai/claude-agent-sdk/sdk-tools` y se pueden usar para interacciones de herramientas seguras de tipos.

3264 3267 

3265<h3 id="toolinputschemas">3268<h3 id="toolinputschemas">

3266 `ToolInputSchemas`3269 `ToolInputSchemas`


4076 Tipos de salida de herramientas4079 Tipos de salida de herramientas

4077</h2>4080</h2>

4078 4081 

4079Documentación de los esquemas de salida de todas las herramientas integradas de Claude Code. Estos tipos se exportan desde `@anthropic-ai/claude-agent-sdk/sdk-tools` y representan los datos de respuesta reales que devuelve cada herramienta.4082Documentación de los esquemas de salida de las herramientas integradas de Claude Code. Estos tipos se exportan desde `@anthropic-ai/claude-agent-sdk/sdk-tools` y representan los datos de respuesta reales que devuelve cada herramienta.

4080 4083 

4081<h3 id="tooloutputschemas">4084<h3 id="tooloutputschemas">

4082 `ToolOutputSchemas`4085 `ToolOutputSchemas`


5729 `SDKTaskNotificationMessage`5732 `SDKTaskNotificationMessage`

5730</h3>5733</h3>

5731 5734 

5732Notificación cuando una tarea en segundo plano se completa, falla o se detiene. Las tareas en segundo plano incluyen comandos Bash con `run_in_background`, vigilancias de [Monitor](#monitor) y subagentes en segundo plano. Para el campo `ambient`, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que lo define junto con su requisito de versión.5735Notificación cuando una tarea en segundo plano se completa, falla o se detiene. Las tareas en segundo plano incluyen comandos Bash con `run_in_background`, vigilancias de [Monitor](#monitor) y subagentes en segundo plano. Para los campos `run_id` y `ambient`, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que los define junto con sus requisitos de versión.

5733 5736 

5734```typescript theme={null}5737```typescript theme={null}

5735type SDKTaskNotificationMessage = {5738type SDKTaskNotificationMessage = {

5736 type: "system";5739 type: "system";

5737 subtype: "task_notification";5740 subtype: "task_notification";

5738 task_id: string;5741 task_id: string;

5742 run_id?: string;

5739 tool_use_id?: string;5743 tool_use_id?: string;

5740 status: "completed" | "failed" | "stopped";5744 status: "completed" | "failed" | "stopped";

5741 reason?: "worker_restart";5745 reason?: "worker_restart";


5908 type: "system";5912 type: "system";

5909 subtype: "task_started";5913 subtype: "task_started";

5910 task_id: string;5914 task_id: string;

5915 run_id?: string;

5911 tool_use_id?: string;5916 tool_use_id?: string;

5912 description: string;5917 description: string;

5913 task_type?: string;5918 task_type?: string;


5920};5925};

5921```5926```

5922 5927 

5928`run_id` identifica una ejecución de la tarea. Cuando una tarea se ejecuta de nuevo con el mismo `task_id`, como un [subagente que Claude reanuda](/docs/es/agent-sdk/subagents#resume-subagents), la nueva ejecución obtiene un nuevo `run_id`. El campo requiere Agent SDK v0.3.292 o posterior. Úsalo para distinguir las ejecuciones de una misma tarea:

5929 

5930* **Asociar mensajes a una ejecución**: los mensajes `task_started`, [`task_progress`](#sdktaskprogressmessage), [`task_updated`](#sdktaskupdatedmessage) y [`task_notification`](#sdktasknotificationmessage) de una ejecución llevan el mismo `run_id`. La entrada de la ejecución en cada [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage) también lo lleva, al igual que el [`runId`](#task-notification-subkinds) en el origen del mensaje de usuario que entrega la notificación de la ejecución.

5931* **Detectar un mensaje tardío**: comparados como cadenas simples, los ID de ejecución de una tarea se ordenan en el orden en que comenzaron las ejecuciones, así que un mensaje cuyo `run_id` se ordena antes de la ejecución que estás mostrando proviene de una ejecución anterior. Trata el valor como opaco fuera de esa comparación.

5932* **Recurrir a `task_id`**: cuando un mensaje no lleva `run_id`, como el `task_notification` que emite una sesión reanudada para cerrar una tarea que inició el proceso anterior, atribúyelo por `task_id`.

5933 

5934Por ejemplo, estos tres mensajes, recortados a sus campos identificadores, provienen de un subagente en segundo plano que Claude reanudó una vez. Los dos mensajes `task_started` comparten un `task_id`, y la notificación que terminó la primera ejecución lleva el ID de la primera ejecución:

5935 

5936```json theme={null}

5937{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubbs7i8-6f0c2d41"}

5938{"subtype": "task_notification", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubbs7i8-6f0c2d41", "status": "completed"}

5939{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubc18m1-b7719e05"}

5940```

5941 

5923`ambient` es `true` para tareas que no forman parte del trabajo de la sesión, como las tareas que Claude Code ejecuta para su propio funcionamiento. Los vigilantes de actualización en vivo también son ambientales, incluidos los que pidió el usuario. Excluye las tareas ambientales de los indicadores de actividad. El campo requiere Agent SDK v0.3.247 o posterior.5942`ambient` es `true` para tareas que no forman parte del trabajo de la sesión, como las tareas que Claude Code ejecuta para su propio funcionamiento. Los vigilantes de actualización en vivo también son ambientales, incluidos los que pidió el usuario. Excluye las tareas ambientales de los indicadores de actividad. El campo requiere Agent SDK v0.3.247 o posterior.

5924 5943 

5925`ambient` también aparece en [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) y en las entradas de [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).5944`ambient` también aparece en [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) y en las entradas de [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).


5943 `SDKTaskProgressMessage`5962 `SDKTaskProgressMessage`

5944</h3>5963</h3>

5945 5964 

5946Se emite periódicamente mientras se ejecuta un subagente o una tarea en segundo plano.5965Se emite periódicamente mientras se ejecuta un subagente o una tarea en segundo plano. Para el campo `run_id`, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que lo define junto con su requisito de versión.

5947 5966 

5948Para una tarea de subagente, el campo `summary` lleva un resumen de progreso generado por el modelo y solo se completa cuando [`agentProgressSummaries`](#options) está habilitado. Para una [llamada a herramienta MCP en segundo plano](/docs/es/mcp#automatic-backgrounding-of-long-tool-calls), `summary` lleva el progreso más reciente reportado por el servidor MCP y no depende de esa opción.5967Para una tarea de subagente, el campo `summary` lleva un resumen de progreso generado por el modelo y solo se completa cuando [`agentProgressSummaries`](#options) está habilitado. Para una [llamada a herramienta MCP en segundo plano](/docs/es/mcp#automatic-backgrounding-of-long-tool-calls), `summary` lleva el progreso más reciente reportado por el servidor MCP y no depende de esa opción.

5949 5968 


5952 type: "system";5971 type: "system";

5953 subtype: "task_progress";5972 subtype: "task_progress";

5954 task_id: string;5973 task_id: string;

5974 run_id?: string;

5955 tool_use_id?: string;5975 tool_use_id?: string;

5956 description: string;5976 description: string;

5957 subagent_type?: string;5977 subagent_type?: string;


5971 `SDKTaskUpdatedMessage`5991 `SDKTaskUpdatedMessage`

5972</h3>5992</h3>

5973 5993 

5974Se emite cuando cambia el estado de una tarea en segundo plano, por ejemplo cuando pasa de `running` a `completed`. Combina `patch` en tu mapa local de tareas indexado por `task_id`. El campo `end_time` es una marca de tiempo de época Unix en milisegundos, comparable con `Date.now()`.5994Se emite cuando cambia el estado de una tarea en segundo plano, por ejemplo cuando pasa de `running` a `completed`. Combina `patch` en tu mapa local de tareas indexado por `task_id`. El campo `end_time` es una marca de tiempo de época Unix en milisegundos, comparable con `Date.now()`. Para el campo `run_id`, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que lo define junto con su requisito de versión.

5975 5995 

5976```typescript theme={null}5996```typescript theme={null}

5977type SDKTaskUpdatedMessage = {5997type SDKTaskUpdatedMessage = {

5978 type: "system";5998 type: "system";

5979 subtype: "task_updated";5999 subtype: "task_updated";

5980 task_id: string;6000 task_id: string;

6001 run_id?: string;

5981 patch: {6002 patch: {

5982 status?: "pending" | "running" | "completed" | "failed" | "killed";6003 status?: "pending" | "running" | "completed" | "failed" | "killed";

5983 description?: string;6004 description?: string;


5995 `SDKBackgroundTasksChangedMessage`6016 `SDKBackgroundTasksChangedMessage`

5996</h3>6017</h3>

5997 6018 

5998Se emite siempre que cambia el conjunto de tareas en segundo plano activas: una tarea comienza, se completa o se termina, un agente en primer plano pasa a segundo plano, o cambia el campo `description`, `ambient` o `parent_task_id` de una tarea. Para el campo `parent_task_id` de cada entrada, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que lo define junto con su requisito de versión.6019Se emite siempre que cambia el conjunto de tareas en segundo plano activas: una tarea comienza, se completa o se termina, un agente en primer plano pasa a segundo plano, o cambia el campo `description`, `ambient` o `parent_task_id` de una tarea. Para los campos `run_id` y `parent_task_id` de cada entrada, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), que los define junto con sus requisitos de versión.

5999 6020 

6000El array `tasks` es el conjunto activo completo. Reemplaza cualquier conjunto en caché con cada payload en lugar de emparejar eventos `task_started` y `task_notification`, para que el siguiente cambio de membresía corrija cualquier evento que te hayas perdido.6021El array `tasks` es el conjunto activo completo. Reemplaza cualquier conjunto en caché con cada payload en lugar de emparejar eventos `task_started` y `task_notification`, para que el siguiente cambio de membresía corrija cualquier evento que te hayas perdido.

6001 6022 


6013 subtype: "background_tasks_changed";6034 subtype: "background_tasks_changed";

6014 tasks: {6035 tasks: {

6015 task_id: string;6036 task_id: string;

6037 run_id?: string;

6016 task_type: string;6038 task_type: string;

6017 subagent_type?: string;6039 subagent_type?: string;

6018 description: string;6040 description: string;

agent-view.md +2 −0

Details

300* **Detienes el turno**: Claude Code cancela el cambio y muestra `Backgrounding cancelled — the turn was stopped.` Por ejemplo, el turno se detiene cuando [interrumpes a Claude con `Esc`](/docs/es/interactive-mode#general-controls) o seleccionas **No** [sin un comentario](/docs/es/permissions#add-a-comment-when-you-answer-a-permission-prompt) en una solicitud de permiso de la conversación principal, o presionas `Esc` en una pregunta que Claude hace allí. Presiona `←` de nuevo para pasar la sesión a segundo plano.300* **Detienes el turno**: Claude Code cancela el cambio y muestra `Backgrounding cancelled — the turn was stopped.` Por ejemplo, el turno se detiene cuando [interrumpes a Claude con `Esc`](/docs/es/interactive-mode#general-controls) o seleccionas **No** [sin un comentario](/docs/es/permissions#add-a-comment-when-you-answer-a-permission-prompt) en una solicitud de permiso de la conversación principal, o presionas `Esc` en una pregunta que Claude hace allí. Presiona `←` de nuevo para pasar la sesión a segundo plano.

301* **Un mensaje en cola no puede trasladarse**: los mensajes que [pusiste en cola mientras Claude trabajaba](/docs/es/interactive-mode#queue-messages-while-claude-works) se trasladan a la sesión en segundo plano junto con la conversación. Cuando alguno de ellos no puede trasladarse, la sesión permanece en primer plano y Claude Code muestra un aviso como `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.`301* **Un mensaje en cola no puede trasladarse**: los mensajes que [pusiste en cola mientras Claude trabajaba](/docs/es/interactive-mode#queue-messages-while-claude-works) se trasladan a la sesión en segundo plano junto con la conversación. Cuando alguno de ellos no puede trasladarse, la sesión permanece en primer plano y Claude Code muestra un aviso como `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.`

302 302 

303Cuando Claude Code pasa la sesión a segundo plano, ya sea después de unos diez segundos o después de que presiones `←` de nuevo, detiene un comando de shell que Claude todavía está ejecutando en primer plano. Claude Code no muestra el diálogo `Background this session?` para ese comando. En la sesión en segundo plano, Claude no tiene registro de que el comando se inició, por lo que Claude puede volver a ejecutarlo. Para mantener el comando en ejecución cuando la sesión se traslada, presiona `Ctrl+B` para [convertirlo en un comando en segundo plano](/docs/es/interactive-mode#background-bash-commands) mientras Claude Code todavía está esperando.

304 

303Presionar `←` crea la fila de la sesión incluso cuando la conversación aún no tiene mensajes, por lo que `→` sigue volviendo a ella.305Presionar `←` crea la fila de la sesión incluso cuando la conversación aún no tiene mensajes, por lo que `→` sigue volviendo a ella.

304 306 

305Puedes desactivar este atajo para las sesiones en primer plano con el ajuste [`leftArrowOpensAgents`](/docs/es/settings-reference#leftarrowopensagents) en `/config`.307Puedes desactivar este atajo para las sesiones en primer plano con el ajuste [`leftArrowOpensAgents`](/docs/es/settings-reference#leftarrowopensagents) en `/config`.

Details

126* **Iniciar sesión con tu cuenta de Console**, etiquetada como `(recommended)`: Claude Code conserva el token OAuth de ese inicio de sesión y lo almacena como un [perfil de Anthropic](#anthropic-profiles-and-federation-credentials). No crea ninguna clave de API126* **Iniciar sesión con tu cuenta de Console**, etiquetada como `(recommended)`: Claude Code conserva el token OAuth de ese inicio de sesión y lo almacena como un [perfil de Anthropic](#anthropic-profiles-and-federation-credentials). No crea ninguna clave de API

127* **Crear una clave de API**, etiquetada como `(legacy)`: Claude Code crea una clave de API de Console por ti y la almacena con tus otras credenciales127* **Crear una clave de API**, etiquetada como `(legacy)`: Claude Code crea una clave de API de Console por ti y la almacena con tus otras credenciales

128 128 

129En la práctica, el perfil almacena un inicio de sesión OAuth mientras que una clave API es una credencial estática: Claude Code actualiza automáticamente el inicio de sesión del perfil, y cuando la actualización falla, las solicitudes fallan con [Inicio de sesión de perfil de Anthropic expirado](/docs/es/errors#anthropic-profile-login-expired) hasta que inicie sesión nuevamente.129En la práctica, el perfil almacena un inicio de sesión OAuth mientras que una clave de API es una credencial estática. Claude Code actualiza automáticamente el inicio de sesión del perfil, y cuando la actualización falla, las solicitudes fallan con un [error de inicio de sesión de perfil expirado](/docs/es/errors#anthropic-profile-login-expired) hasta que vuelvas a iniciar sesión.

130 130 

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

132 132 


292 292 

293Para confirmar qué fuente eligió Claude Code, ejecute `/status`. Una fila `Profile` nombra la fuente en lugar de la fila `Login method`. Cuando el perfil es la credencial en uso, las filas `Organization` y `Email` muestran su cuenta.293Para confirmar qué fuente eligió Claude Code, ejecute `/status`. Una fila `Profile` nombra la fuente en lugar de la fila `Login method`. Cuando el perfil es la credencial en uso, las filas `Organization` y `Email` muestran su cuenta.

294 294 

295Cuando el inicio de sesión de un perfil `user_oauth` ha expirado y Claude Code no puede renovarlo, las solicitudes fallan con [Anthropic profile login expired](/docs/es/errors#anthropic-profile-login-expired).295Cuando el inicio de sesión de un perfil `user_oauth` ha expirado y Claude Code no puede renovarlo, las solicitudes fallan con un [error de inicio de sesión de perfil expirado](/docs/es/errors#anthropic-profile-login-expired).

296 296 

297Las características que necesitan su inicio de sesión de claude.ai, como [conectores de claude.ai](/docs/es/mcp#use-mcp-servers-from-claude-ai) y [`/schedule`](/docs/es/routines), no están disponibles mientras una de estas fuentes está seleccionada. Para evitar que Claude Code seleccione una fuente:297Las características que necesitan su inicio de sesión de claude.ai, como [conectores de claude.ai](/docs/es/mcp#use-mcp-servers-from-claude-ai) y [`/schedule`](/docs/es/routines), no están disponibles mientras una de estas fuentes está seleccionada. Para evitar que Claude Code seleccione una fuente:

298 298 

costs.md +13 −0

Details

90 90 

91Cuando la solicitud de sus límites de plan falla, la mayoría de las veces porque el punto final de uso tiene límite de velocidad, `/usage` muestra las últimas barras de uso que cargó en esta máquina dentro de los últimos 60 minutos, junto con una nota `Showing last-known usage` que indica cuánto tiempo hace que se obtuvieron esos datos. Presione `r` para reintentar; un reintento exitoso reemplaza las últimas barras conocidas con datos frescos. Sin una instantánea de los últimos 60 minutos, `/usage` informa que el punto final de uso tiene límite de velocidad y ofrece el mismo atajo de reintento. Antes de v2.1.208, una solicitud con límite de velocidad en una sesión que aún no había cargado uso siempre mostraba el error sin barras.91Cuando la solicitud de sus límites de plan falla, la mayoría de las veces porque el punto final de uso tiene límite de velocidad, `/usage` muestra las últimas barras de uso que cargó en esta máquina dentro de los últimos 60 minutos, junto con una nota `Showing last-known usage` que indica cuánto tiempo hace que se obtuvieron esos datos. Presione `r` para reintentar; un reintento exitoso reemplaza las últimas barras conocidas con datos frescos. Sin una instantánea de los últimos 60 minutos, `/usage` informa que el punto final de uso tiene límite de velocidad y ofrece el mismo atajo de reintento. Antes de v2.1.208, una solicitud con límite de velocidad en una sesión que aún no había cargado uso siempre mostraba el error sin barras.

92 92 

93<h3 id="read-the-token-count-beside-the-spinner">

94 Lee el conteo de tokens junto al indicador de actividad

95</h3>

96 

97Mientras Claude trabaja en la conversación principal, la línea junto al indicador de actividad puede terminar con un tiempo transcurrido y un conteo de tokens, como en `Deciphering… (10m 27s · ↓ 5.5k tokens)`. Es un conteo aproximado y en tiempo real de la salida que el turno actual ha producido hasta el momento. La flecha junto al conteo apunta hacia abajo mientras llega la salida o se ejecutan herramientas.

98 

99* **Qué incluye**: la salida que genera el turno, como el texto y las llamadas a herramientas que Claude devuelve en streaming, su pensamiento y la salida de los subagentes que se ejecutan en [primer plano](/docs/es/sub-agents#run-subagents-in-foreground-or-background)

100* **Qué deja fuera**: lo que Claude Code envía al modelo, por lo que tu prompt, el historial de la conversación y el resto de tu contexto no lo modifican

101* **Cuándo se restablece**: al inicio de cada turno y cuando Claude Code [compacta la conversación](/docs/es/prompt-caching#compacting-the-conversation)

102* **Cuándo permanece oculto**: hasta que empieza a llegar la salida, cuando la fila es demasiado estrecha para mostrarlo y en el [modo de lector de pantalla](/docs/es/accessibility)

103 

104No coincidirá con las cifras de salida de `Usage by model` en el bloque Session de `/usage`, que suman toda la sesión en lugar de un solo turno. También difiere del conteo de tokens que [agrega el modo detallado](/docs/es/statusline#notifications-share-the-status-line-row), porque ese conteo mide el tamaño de tu contexto en lugar de la salida de un turno.

105 

93<h3 id="analyze-your-usage-patterns">106<h3 id="analyze-your-usage-patterns">

94 Analice sus patrones de uso107 Analice sus patrones de uso

95</h3>108</h3>

Details

98 98 

99El modo seguro aún aplica los hooks administrados y la política de configuración de tu organización. Los plugins administrados, skills, `CLAUDE.md` y servidores MCP están desactivados.99El modo seguro aún aplica los hooks administrados y la política de configuración de tu organización. Los plugins administrados, skills, `CLAUDE.md` y servidores MCP están desactivados.

100 100 

101Si el problema persiste en modo seguro, o si su configuración en sí es sospechosa, compare contra una sesión que no carga nada de su configuración habitual. Apunte [`CLAUDE_CONFIG_DIR`](/docs/es/env-vars) a un directorio vacío para omitir todo bajo `~/.claude`, e inicie desde un directorio que no tenga carpeta `.claude`, `.mcp.json` o `CLAUDE.md` para que la configuración del proyecto también se omita.101Si el problema persiste en modo seguro, o si tu configuración en sí es sospechosa, inicia una sesión sin nada de tu propia configuración y comprueba si el problema continúa.

102 102 

103```bash theme={null}103<Steps>

104cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude104 <Step title="Crea un directorio vacío y entra en él">

105```105 En tu shell, sin ninguna sesión de Claude Code en ejecución, crea el directorio y muévete a él:

106 106 

107La sesión limpia no tiene configuración de usuario o proyecto, hooks, servidores MCP, plugins o memoria. En el primer lanzamiento, espere las pantallas de configuración inicial, comenzando con la selección de tema. Si las ve, el directorio de configuración limpia está en vigor. Los lanzamientos posteriores con el mismo directorio omiten estas pantallas porque Claude Code guarda el estado de incorporación allí.107 <Tabs>

108 108 <Tab title="Bash o Zsh">

109* La configuración administrada aún se aplica si su organización la implementa. Claude Code lee perfiles MDM, política de registro y `managed-settings.json` desde ubicaciones fuera del directorio de configuración, y [obtiene configuración administrada por servidor](/docs/es/server-managed-settings#fetch-and-caching-behavior) nuevamente para la sesión limpia una vez que tiene credenciales109 ```bash theme={null}

110* Se le pedirá que inicie sesión nuevamente110 mkdir -p ~/claude-clean/empty && cd ~/claude-clean/empty

111 111 ```

112Si el problema desaparece aquí, la causa está en algún lugar de sus archivos reales `~/.claude` o `.claude` del proyecto. Reintrodúzcalos uno a la vez, copiando archivos en el directorio temporal o iniciando desde su proyecto, para encontrar cuál es. Si persiste en la sesión limpia, la causa está fuera de su configuración de usuario y proyecto. Ejecute `/status` para verificar si la configuración administrada está en vigor, busque [variables de entorno](/docs/es/env-vars) que afecten a Claude Code, luego consulte [Solución de problemas](/docs/es/troubleshooting).112 </Tab>

113 

114 <Tab title="PowerShell">

115 ```powershell theme={null}

116 New-Item -ItemType Directory -Force "$HOME/claude-clean/empty" | Out-Null

117 Set-Location "$HOME/claude-clean/empty"

118 ```

119 </Tab>

120 </Tabs>

121 </Step>

122 

123 <Step title="Inicia Claude Code con un directorio de configuración limpio">

124 Desde el mismo shell, establece [`CLAUDE_CONFIG_DIR`](/docs/es/env-vars) en un directorio nuevo en lugar de `~/.claude`, y pasa [`--setting-sources user`](/docs/es/cli-reference#cli-flags) para desactivar la configuración del proyecto, como `.claude/settings.json`, `CLAUDE.md` y `.mcp.json`:

125 

126 <Tabs>

127 <Tab title="Bash o Zsh">

128 La variable se aplica solo a este lanzamiento.

129 

130 ```bash theme={null}

131 CLAUDE_CONFIG_DIR=~/claude-clean/config claude --setting-sources user

132 ```

133 </Tab>

134 

135 <Tab title="PowerShell">

136 La variable permanece establecida durante el resto de esta sesión de PowerShell, por lo que los lanzamientos posteriores de `claude` en la misma ventana siguen usando el directorio limpio. Para volver a tu directorio habitual, ejecuta `Remove-Item Env:CLAUDE_CONFIG_DIR` antes del siguiente lanzamiento.

137 

138 ```powershell theme={null}

139 $env:CLAUDE_CONFIG_DIR = "$HOME/claude-clean/config"

140 claude --setting-sources user

141 ```

142 </Tab>

143 </Tabs>

144 

145 En el primer lanzamiento, pasas de nuevo por las pantallas de configuración inicial, una señal de que el directorio de configuración limpio está en vigor. La configuración administrada aún se aplica, y los [conectores](/docs/es/mcp#use-mcp-servers-from-claude-ai) aún se cargan si inicias sesión con una cuenta de claude.ai.

146 </Step>

147 

148 <Step title="Reproduce el problema">

149 Repite en la sesión limpia lo que provocó el problema:

150 

151 * **El problema desaparece**: la causa está en tu configuración de usuario o de proyecto. Copia `~/.claude.json` y los archivos de `~/.claude` en `~/claude-clean/config` uno a la vez. Si ninguno hace que vuelva el problema, ve al directorio de tu proyecto en el mismo shell e inicia Claude Code sin `--setting-sources user`. En Bash o Zsh, ejecuta `CLAUDE_CONFIG_DIR=~/claude-clean/config claude`. En PowerShell, la variable sigue establecida, así que ejecuta `claude`.

152 * **El problema persiste**: la causa está fuera de tu configuración de usuario y de proyecto. Ejecuta `/status` en la sesión para verificar si hay configuración administrada, revisa las [variables de entorno](/docs/es/env-vars) de tu shell y luego consulta [Solución de problemas](/docs/es/troubleshooting).

153 </Step>

154</Steps>

113 155 

114<h2 id="check-common-causes">156<h2 id="check-common-causes">

115 Verificar causas comunes157 Verificar causas comunes


127| Un valor `settings.json` parece ignorado | La misma clave se establece en `settings.local.json` | `settings.local.json` anula `settings.json`, y ambos anulan `~/.claude/settings.json`. Consulte [precedencia de configuración](/docs/es/settings#settings-precedence). |169| Un valor `settings.json` parece ignorado | La misma clave se establece en `settings.local.json` | `settings.local.json` anula `settings.json`, y ambos anulan `~/.claude/settings.json`. Consulte [precedencia de configuración](/docs/es/settings#settings-precedence). |

128| Skill no aparece en `/skills` | El archivo de skill está en `.claude/skills/name.md` en lugar de en una carpeta | Use una carpeta con `SKILL.md` dentro: `.claude/skills/name/SKILL.md`. |170| Skill no aparece en `/skills` | El archivo de skill está en `.claude/skills/name.md` en lugar de en una carpeta | Use una carpeta con `SKILL.md` dentro: `.claude/skills/name/SKILL.md`. |

129| Skill aparece en `/skills` pero Claude nunca lo invoca | Skill tiene `disable-model-invocation: true` en su frontmatter, o su descripción no coincide con cómo formula la solicitud | Verifique la insignia en `/skills`: una etiqueta "user-only" significa que Claude no lo activará por su cuenta. Consulte [invocación de skill](/docs/es/skills). |171| Skill aparece en `/skills` pero Claude nunca lo invoca | Skill tiene `disable-model-invocation: true` en su frontmatter, o su descripción no coincide con cómo formula la solicitud | Verifique la insignia en `/skills`: una etiqueta "user-only" significa que Claude no lo activará por su cuenta. Consulte [invocación de skill](/docs/es/skills). |

130| Las instrucciones de `CLAUDE.md` del subdirectorio parecen ignoradas | Los archivos del subdirectorio se cargan bajo demanda, no al inicio de la sesión | Consulta [cuándo se cargan los archivos del subdirectorio](/docs/es/memory#how-claude-md-files-load). Antes de v2.1.288, solo la herramienta Read los cargaba. |172| Las instrucciones de `CLAUDE.md` del subdirectorio parecen ignoradas | Los archivos del subdirectorio se cargan bajo demanda, no al inicio de la sesión | Para cargar el `CLAUDE.md` de un subdirectorio, pídele a Claude que lea otro archivo de ese subdirectorio. Consulta [cuándo se cargan los archivos del subdirectorio](/docs/es/memory#how-claude-md-files-load). |

131| El subagente ignora las instrucciones de `CLAUDE.md` | Los agentes Explore y Plan integrados omiten `CLAUDE.md`. Un subagente personalizado lo carga de la misma manera que la conversación principal, a menos que su definición establezca [`omitClaudeMd`](/docs/es/sub-agents#supported-frontmatter-fields) | Para Explore o Plan, restate la instrucción en su indicador delegado. Para un subagente que establece `omitClaudeMd`, elimine el campo. Para cualquier otro subagente personalizado, coloque las instrucciones críticas en el cuerpo del archivo del agente, que se convierte en el indicador del sistema del agente. Consulte [qué se carga al inicio](/docs/es/sub-agents#what-loads-at-startup). |173| El subagente ignora las instrucciones de `CLAUDE.md` | Los agentes Explore y Plan integrados omiten `CLAUDE.md`. Un subagente personalizado lo carga de la misma manera que la conversación principal, a menos que su definición establezca [`omitClaudeMd`](/docs/es/sub-agents#supported-frontmatter-fields) | Para Explore o Plan, restate la instrucción en su indicador delegado. Para un subagente que establece `omitClaudeMd`, elimine el campo. Para cualquier otro subagente personalizado, coloque las instrucciones críticas en el cuerpo del archivo del agente, que se convierte en el indicador del sistema del agente. Consulte [qué se carga al inicio](/docs/es/sub-agents#what-loads-at-startup). |

132| La lógica de limpieza nunca se ejecuta al final de la sesión | No hay hook `SessionEnd` configurado | Agregue un hook `SessionEnd` en `settings.json`. Consulte la [lista de eventos de hook](/docs/es/hooks#hook-events). |174| La lógica de limpieza nunca se ejecuta al final de la sesión | No hay hook `SessionEnd` configurado | Agregue un hook `SessionEnd` en `settings.json`. Consulte la [lista de eventos de hook](/docs/es/hooks#hook-events). |

133| Los servidores MCP en `.mcp.json` nunca se cargan | El archivo está bajo `.claude/`, o sus servidores se encuentran bajo una clave `servers` de nivel superior, como en el `mcp.json` de VS Code, en lugar de `mcpServers` | La configuración de MCP del proyecto va en la raíz del repositorio como `.mcp.json`, no dentro de `.claude/`, con servidores bajo la clave `mcpServers`. Consulte [configuración de MCP](/docs/es/mcp). |175| Los servidores MCP en `.mcp.json` nunca se cargan | El archivo está bajo `.claude/`, o sus servidores se encuentran bajo una clave `servers` de nivel superior, como en el `mcp.json` de VS Code, en lugar de `mcpServers` | La configuración de MCP del proyecto va en la raíz del repositorio como `.mcp.json`, no dentro de `.claude/`, con servidores bajo la clave `mcpServers`. Consulte [configuración de MCP](/docs/es/mcp). |

desktop.md +53 −0

Details

913 913 

914Cada entrada requiere `id`, `name` y `sshHost`. Los campos `sshPort` e `sshIdentityFile` son opcionales. Los usuarios también pueden agregar `sshConfigs` a su propio `~/.claude/settings.json`.914Cada entrada requiere `id`, `name` y `sshHost`. Los campos `sshPort` e `sshIdentityFile` son opcionales. Los usuarios también pueden agregar `sshConfigs` a su propio `~/.claude/settings.json`.

915 915 

916Si omites `user@` en `sshHost`, Desktop se conecta como el `User` que el `~/.ssh/config` de cada desarrollador establece para el host o, en su defecto, con su nombre de usuario en su propia computadora.

917 

916<h4 id="restrict-which-ssh-hosts-users-can-connect-to">918<h4 id="restrict-which-ssh-hosts-users-can-connect-to">

917 Restringir a qué hosts SSH pueden conectarse los usuarios919 Restringir a qué hosts SSH pueden conectarse los usuarios

918</h4>920</h4>


937 939 

938`sshHostAllowlist` se lee solo desde la configuración administrada; los valores en la configuración de usuario o proyecto se ignoran. Solo la aplicación Claude Desktop honra esta configuración; la CLI de Claude Code y las extensiones IDE no la leen, y no restringe los comandos `ssh` ejecutados a través de la herramienta Bash. Rige a qué hosts se conecta la aplicación Desktop, no la salida de red, por lo que emparéjelo con los controles de red de su organización o de confianza cero si necesita un límite duro.940`sshHostAllowlist` se lee solo desde la configuración administrada; los valores en la configuración de usuario o proyecto se ignoran. Solo la aplicación Claude Desktop honra esta configuración; la CLI de Claude Code y las extensiones IDE no la leen, y no restringe los comandos `ssh` ejecutados a través de la herramienta Bash. Rige a qué hosts se conecta la aplicación Desktop, no la salida de red, por lo que emparéjelo con los controles de red de su organización o de confianza cero si necesita un límite duro.

939 941 

942<h4 id="turn-off-local-sessions-and-distribute-ssh-connections">

943 Desactivar las sesiones locales y distribuir conexiones SSH

944</h4>

945 

946Para desactivar las sesiones locales y limitar las sesiones SSH a los hosts que elijas, implementa juntos [`disableDesktopLocalSessions`](/docs/es/settings-reference#disabledesktoplocalsessions), [`sshConfigs`](#pre-configure-ssh-connections-for-your-team) y [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to).

947 

948<Note>

949 Esta configuración es para usuarios que inician sesión con una cuenta de Claude. Con un [proveedor externo](/docs/es/third-party-integrations), las sesiones SSH están desactivadas de forma predeterminada, y establecer `sshHostAllowlist` puede activarlas. Lee [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions) antes de implementar estas claves.

950</Note>

951 

952El siguiente ejemplo desactiva las sesiones locales, agrega una conexión y limita las sesiones SSH al host de esa conexión:

953 

954```json managed-settings.json theme={null}

955{

956 "disableDesktopLocalSessions": true,

957 "sshConfigs": [

958 {

959 "id": "shared-dev-vm",

960 "name": "Shared Dev VM",

961 "sshHost": "dev.example.com"

962 }

963 ],

964 "sshHostAllowlist": ["dev.example.com"]

965}

966```

967 

968Las claves se aplican a la aplicación de escritorio. Dejan como están otras formas de ejecutar Claude Code, como la CLI, Cowork y las sesiones en la nube:

969 

970* **La CLI**: ninguna de las claves impide que un desarrollador ejecute la CLI de Claude Code en su propia computadora

971* **Cowork**: ninguna de las claves se aplica a las sesiones de [Cowork](https://claude.com/docs/cowork/overview) ni a las tareas programadas de Cowork

972* **Sesiones en la nube**: ninguna de las claves cambia si las [sesiones en la nube](#cloud-sessions) están disponibles. Para desactivarlas, usa el ajuste **Cloud sessions** en [Admin console controls](#admin-console-controls).

973 

974Cuando adaptes el ejemplo, revisa los nombres de host y la versión de Desktop:

975 

976* **Nombres de host**: asegúrate de que un patrón en `sshHostAllowlist` coincida con el nombre de host de cada entrada de `sshConfigs`, sin `user@`, o los desarrolladores no podrán conectarse a ella. Para saber cómo Desktop compara un nombre de host, consulta [Restringir a qué hosts SSH pueden conectarse los usuarios](#restrict-which-ssh-hosts-users-can-connect-to).

977* **Versión**: `disableDesktopLocalSessions` requiere Claude Desktop v1.37937.0 o posterior

978 

979Coloca las tres claves en una [fuente administrada](/docs/es/managed-settings#how-claude-code-combines-managed-sources), la de mayor prioridad que distribuyas. Si distribuyes [configuración administrada por servidor](/docs/es/server-managed-settings), mantén también una copia de las tres claves en la política MDM o el archivo de configuración administrada de mayor prioridad en cada computadora. Desktop obtiene la configuración administrada por servidor al iniciarse, y la copia en la computadora se aplica hasta que una obtención tenga éxito.

980 

981Para confirmar que la configuración se aplica, revisa la computadora de un desarrollador:

982 

983<Steps>

984 <Step title="Revisa el menú desplegable de entorno">

985 Cierra y vuelve a abrir Desktop, luego abre el menú desplegable de entorno en el cuadro de prompt. **Local** aparece atenuado y **Shared Dev VM** aparece en **SSH**. Si **Local** sigue disponible, revisa la versión de Desktop, que el archivo sea JSON válido y qué fuente administrada lee la computadora.

986 </Step>

987 

988 <Step title="Agrega un host que no esté en la lista de permitidos">

989 [Agrega una conexión SSH](#ssh-sessions) con un nombre de host que no esté en la lista de permitidos, como `other.example.com`. Desktop guarda la conexión pero se niega a conectarse, e indica que la configuración de tu organización no permite la conexión.

990 </Step>

991</Steps>

992 

940<h2 id="enterprise-configuration">993<h2 id="enterprise-configuration">

941 Configuración empresarial994 Configuración empresarial

942</h2>995</h2>

env-vars.md +1 −1

Details

256| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Establécela en `1` para desactivar toda la funcionalidad de tareas en segundo plano, incluido el parámetro `run_in_background` en las herramientas Bash y de subagentes, el paso automático a segundo plano y el atajo Ctrl+B |256| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Establécela en `1` para desactivar toda la funcionalidad de tareas en segundo plano, incluido el parámetro `run_in_background` en las herramientas Bash y de subagentes, el paso automático a segundo plano y el atajo Ctrl+B |

257| `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](/docs/es/amazon-bedrock) 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 |257| `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](/docs/es/amazon-bedrock) 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 |

258| `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](/docs/es/amazon-bedrock) 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](/docs/es/amazon-bedrock#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 |258| `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](/docs/es/amazon-bedrock) 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](/docs/es/amazon-bedrock#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 |

259| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Establécela en `1` para detener los comandos de shell en segundo plano en ejecución, los flujos de trabajo dinámicos y, a partir de v2.1.198, los subagentes en segundo plano de una [sesión en segundo plano](/docs/es/agent-view) cuando el [supervisor](/docs/es/agent-view#the-supervisor-process) detiene, reinicia o actualiza el proceso de esa sesión, en lugar de transferirlos al siguiente proceso de la sesión. Solo afecta a esa transferencia: pasar una sesión a segundo plano con `←` o [`/background`](/docs/es/agent-view#from-inside-a-session) sigue trasladando el trabajo en curso, y `CLAUDE_DISABLE_ADOPT` desactiva ambas cosas. Requiere Claude Code v2.1.196 o posterior |259| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Establécela en `1` para detener los comandos de shell en segundo plano en ejecución, los flujos de trabajo dinámicos y, a partir de v2.1.198, los subagentes en segundo plano de una [sesión en segundo plano](/docs/es/agent-view) cuando el [supervisor](/docs/es/agent-view#the-supervisor-process) detiene, reinicia o actualiza el proceso de esa sesión, en lugar de entregárselos al siguiente proceso de la sesión. Solo afecta a esa entrega: pasar una sesión a segundo plano con `←` o [`/background`](/docs/es/agent-view#from-inside-a-session) sigue trasladando el trabajo en segundo plano en curso, y `CLAUDE_DISABLE_ADOPT` desactiva ambas cosas. Requiere Claude Code v2.1.196 o posterior |

260| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Establécela en `1` para evitar que Claude Code termine los [comandos de shell en segundo plano](/docs/es/interactive-mode#background-bash-commands) bajo presión de memoria. De forma predeterminada, en macOS y Linux, Claude Code termina los shells en segundo plano cuando el sistema operativo informa una presión de memoria crítica y la sesión ha estado inactiva durante 30 minutos sin ningún turno ni subagente en ejecución. Windows no tiene señal de presión de memoria, por lo que esta variable no tiene efecto allí. Requiere Claude Code v2.1.193 o posterior |260| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Establécela en `1` para evitar que Claude Code termine los [comandos de shell en segundo plano](/docs/es/interactive-mode#background-bash-commands) bajo presión de memoria. De forma predeterminada, en macOS y Linux, Claude Code termina los shells en segundo plano cuando el sistema operativo informa una presión de memoria crítica y la sesión ha estado inactiva durante 30 minutos sin ningún turno ni subagente en ejecución. Windows no tiene señal de presión de memoria, por lo que esta variable no tiene efecto allí. Requiere Claude Code v2.1.193 o posterior |

261| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Establécela en `1` para desactivar los [skills](/docs/es/skills) y flujos de trabajo incluidos con Claude Code: los skills y flujos de trabajo incluidos se eliminan por completo, mientras que los comandos integrados como `/init` se pueden seguir escribiendo pero se ocultan al modelo. `/doctor` se puede seguir escribiendo como los comandos integrados; ocúltalo con `DISABLE_DOCTOR_COMMAND` en su lugar. Los skills de plugins, `.claude/skills/` y `.claude/commands/` no se ven afectados. Equivale al ajuste [`disableBundledSkills`](/docs/es/settings-reference#disablebundledskills) |261| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Establécela en `1` para desactivar los [skills](/docs/es/skills) y flujos de trabajo incluidos con Claude Code: los skills y flujos de trabajo incluidos se eliminan por completo, mientras que los comandos integrados como `/init` se pueden seguir escribiendo pero se ocultan al modelo. `/doctor` se puede seguir escribiendo como los comandos integrados; ocúltalo con `DISABLE_DOCTOR_COMMAND` en su lugar. Los skills de plugins, `.claude/skills/` y `.claude/commands/` no se ven afectados. Equivale al ajuste [`disableBundledSkills`](/docs/es/settings-reference#disablebundledskills) |

262| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Establécela en `1` para mantener disponibles las herramientas de navegador de [Claude in Chrome](/docs/es/chrome) mientras se omite la sección de Chrome del prompt del sistema y el [skill incluido](/docs/es/skills#bundled-skills) `/claude-in-chrome`. Para hosts que integran Claude Code y proporcionan su propia guía de navegador. Requiere Claude Code v2.1.257 o posterior |262| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Establécela en `1` para mantener disponibles las herramientas de navegador de [Claude in Chrome](/docs/es/chrome) mientras se omite la sección de Chrome del prompt del sistema y el [skill incluido](/docs/es/skills#bundled-skills) `/claude-in-chrome`. Para hosts que integran Claude Code y proporcionan su propia guía de navegador. Requiere Claude Code v2.1.257 o posterior |

errors.md +21 −12

Details

94| `Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted` | [Autenticación](#your-account-is-on-hold) |94| `Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted` | [Autenticación](#your-account-is-on-hold) |

95| `Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted` | [Autenticación](#your-account-is-on-hold) |95| `Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted` | [Autenticación](#your-account-is-on-hold) |

96| `Anthropic profile login expired · Re-authenticate your Anthropic profile` | [Autenticación](#anthropic-profile-login-expired) |96| `Anthropic profile login expired · Re-authenticate your Anthropic profile` | [Autenticación](#anthropic-profile-login-expired) |

97| `Login expired · Run /login to sign in again, or re-authenticate your Anthropic profile` | [Autenticación](#anthropic-profile-login-expired) |

97| `Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile` | [Autenticación](#anthropic-profile-login-expired) |98| `Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile` | [Autenticación](#anthropic-profile-login-expired) |

98| `does not meet scope requirement user:profile` | [Autenticación](#oauth-scope-requirement) |99| `does not meet scope requirement user:profile` | [Autenticación](#oauth-scope-requirement) |

99| `claude.ai rejected the session token` / `session token rejected` | [Autenticación](#claude-ai-rejected-the-session-token) |100| `claude.ai rejected the session token` / `session token rejected` | [Autenticación](#claude-ai-rejected-the-session-token) |


1303Failed to authenticate: OAuth session expired and could not be refreshed1304Failed to authenticate: OAuth session expired and could not be refreshed

1304```1305```

1305 1306 

1307Para un mensaje `Login expired` que termina en `or re-authenticate your Anthropic profile`, consulta [Anthropic profile login expired](#anthropic-profile-login-expired).

1308 

1306Este no es el mismo estado que [Token de OAuth revocado o expirado](#oauth-token-revoked-or-expired). Esos mensajes informan un rechazo que devolvió la API. Claude Code genera por sí mismo `Login expired` para un inicio de sesión que ya no logró renovar, así que no envía ninguna solicitud. Cuando la renovación falla porque la propia cuenta está suspendida y no porque el inicio de sesión esté obsoleto, Claude Code muestra [Tu cuenta está en espera](#your-account-is-on-hold) en su lugar.1309Este no es el mismo estado que [Token de OAuth revocado o expirado](#oauth-token-revoked-or-expired). Esos mensajes informan un rechazo que devolvió la API. Claude Code genera por sí mismo `Login expired` para un inicio de sesión que ya no logró renovar, así que no envía ninguna solicitud. Cuando la renovación falla porque la propia cuenta está suspendida y no porque el inicio de sesión esté obsoleto, Claude Code muestra [Tu cuenta está en espera](#your-account-is-on-hold) en su lugar.

1307 1310 

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


1468 Inicio de sesión del perfil de Anthropic expirado1471 Inicio de sesión del perfil de Anthropic expirado

1469</h3>1472</h3>

1470 1473 

1471Claude Code se está autenticando mediante un perfil de credenciales de Anthropic cuya credencial de inicio de sesión guardada ha expirado, y el perfil no contiene ninguna credencial de renovación que Claude Code pueda usar para renovarla. Claude Code detiene cada solicitud localmente sin reintentar, porque un reintento leería la misma credencial expirada.1474Claude Code se está autenticando mediante un perfil de credenciales de Anthropic cuya credencial de inicio de sesión guardada ha expirado, y el perfil no contiene ninguna credencial de renovación que Claude Code pueda usar para renovarla. Claude Code detiene cada solicitud localmente sin reintentar.

1472 1475 

1473```text theme={null}1476```text theme={null}

1474Anthropic profile login expired · Re-authenticate your Anthropic profile1477Anthropic profile login expired · Re-authenticate your Anthropic profile

1475Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile1478Login expired · Run /login to sign in again, or re-authenticate your Anthropic profile

1476```1479```

1477 1480 

1478Esto aparece solo cuando la credencial activa proviene de un perfil de credenciales de Anthropic: uno que seleccionas con la variable de entorno `ANTHROPIC_PROFILE`, que Claude Code descubre como el perfil activo en tu directorio de configuración de Anthropic, o que Claude Code escribió cuando [iniciaste sesión sin una clave de API](/docs/es/authentication#sign-in-without-an-api-key). Las sesiones que se autentican con una clave de API, un token bearer como `ANTHROPIC_AUTH_TOKEN` o un proveedor de terceros nunca ven este mensaje.

1479 

1480En una máquina que [ofrece el inicio de sesión sin clave](/docs/es/authentication#sign-in-without-an-api-key), ejecuta `/login`, elige la cuenta de Anthropic Console y vuelve a iniciar sesión para renovar un perfil que escribió el inicio de sesión sin clave de Console o el `ant auth login` de la CLI de Claude Platform. Claude Code reemplaza la credencial expirada en ese perfil. Para un perfil de federación o uno creado por otra herramienta, `/login` no renueva la credencial. La forma que ves depende de si seleccionaste el perfil o si Claude Code lo descubrió:

1481 

1482* Cuando defines `ANTHROPIC_PROFILE` explícitamente, el mensaje termina con `Re-authenticate your Anthropic profile`.

1483* Cuando Claude Code descubrió el perfil en tu directorio de configuración, el mensaje ofrece `/login`, porque Claude Code da a un `/login` que funcione precedencia sobre el perfil descubierto y entonces se autentica con tu cuenta de claude.ai o de Console en su lugar. Antes de la v2.1.234, Claude Code también mostraba la forma `Re-authenticate your Anthropic profile` en este caso.

1484 

1485**Qué hacer:**1481**Qué hacer:**

1486 1482 

1487* Vuelve a iniciar sesión en el perfil y luego reintenta: en una máquina que [ofrece el inicio de sesión sin clave](/docs/es/authentication#sign-in-without-an-api-key), ejecuta `/login` y elige la cuenta de Anthropic Console para un perfil que escribió el inicio de sesión sin clave de Console o el `ant auth login` de la CLI de Claude Platform; para otros perfiles, usa la herramienta que los creó1483* Si el mensaje empieza por `Login expired`, ejecuta `/login` para volver a iniciar sesión

1484* Para renovar un perfil que escribió el inicio de sesión sin clave de Console o el `ant auth login` de la CLI de Claude Platform, ejecuta `/login` en una máquina que [ofrezca el inicio de sesión sin clave](/docs/es/authentication#sign-in-without-an-api-key). Elige la cuenta de Anthropic Console y luego **Sign in with your Console account**. Claude Code reemplaza la credencial expirada en ese perfil

1485* Para renovar un perfil que creó otra herramienta, vuelve a iniciar sesión con esa herramienta. Si en su lugar eliges **Sign in with your Console account** en `/login`, Claude Code deja el perfil como está y crea una clave de API

1488* Si un administrador aprovisionó la credencial del perfil, pídele que emita una nueva1486* Si un administrador aprovisionó la credencial del perfil, pídele que emita una nueva

1489* Ejecuta `/status` para confirmar la fuente de credenciales activa y el nombre del perfil1487* Ejecuta `/status` para confirmar la fuente de credenciales activa y el nombre del perfil

1490* Para dejar de usar el perfil, elimina `ANTHROPIC_PROFILE` si la definiste y luego autentícate de otra forma, como `/login` o `ANTHROPIC_API_KEY`1488* Para dejar de usar el perfil, elimina `ANTHROPIC_PROFILE` si la definiste y luego autentícate de otra forma, como `/login` o `ANTHROPIC_API_KEY`

1491 1489 

1490La forma en que empieza el mensaje te indica cómo encontró Claude Code el perfil:

1491 

1492* Cuando Claude Code descubrió el perfil desde tu directorio de configuración y su modo de autenticación es `user_oauth`, el mensaje empieza por `Login expired` y ofrece `/login` primero. Claude Code da a un `/login` que funcione precedencia sobre el perfil descubierto y luego se autentica con tu cuenta de claude.ai en su lugar. Desde v2.1.234 hasta v2.1.277, esta forma decía `Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile`. Antes de v2.1.234, Claude Code también mostraba la forma `Re-authenticate your Anthropic profile` en este caso.

1493* Cuando seleccionaste el perfil con `ANTHROPIC_PROFILE`, el mensaje empieza por `Anthropic profile login expired`.

1494 

1495Esto aparece solo cuando la credencial activa proviene de un perfil de credenciales de Anthropic: uno que seleccionas con la variable de entorno `ANTHROPIC_PROFILE`, uno que Claude Code descubre como el perfil activo en tu directorio de configuración de Anthropic, o uno que Claude Code escribió cuando [iniciaste sesión sin una clave de API](/docs/es/authentication#sign-in-without-an-api-key). Las sesiones que se autentican con una clave de API, un token bearer como `ANTHROPIC_AUTH_TOKEN` o un proveedor de terceros nunca ven este mensaje.

1496 

1492<h3 id="oauth-scope-requirement">1497<h3 id="oauth-scope-requirement">

1493 Requisito de alcance de OAuth1498 Requisito de alcance de OAuth

1494</h3>1499</h3>


4039 4044 

4040**Qué hacer:**4045**Qué hacer:**

4041 4046 

4042* Ejecute `claude plugin marketplace remove <name>`. Esto también desinstala los plugins instalados desde el marketplace y elimina sus datos guardados4047* Para conservar un marketplace que un archivo de configuración declara en línea con `"source": "settings"`, cámbiale el nombre antes de eliminar el nombre anterior, porque eliminar el marketplace también borra su entrada de tus archivos de configuración. Claude Code v2.1.292 o posterior enumera estos pasos en el mensaje:

4043* Para mantener el marketplace en su lugar, espere hasta que su mantenedor lo renombre, luego ejecute `claude plugin marketplace update <name>`4048 1. En cada archivo de configuración que incluya el marketplace en `extraKnownMarketplaces`, asigna a la clave de la entrada y a su `source.name` un mismo nombre nuevo en ASCII simple que no parezca oficial. Si un administrador agrega el marketplace mediante la configuración administrada de tu organización, el administrador realiza este paso

4049 2. Ejecuta `claude plugin marketplace remove <old-name>`, o elimina el nombre anterior en la pestaña **Marketplaces** de `/plugin`. Esto también desinstala sus plugins y elimina sus datos, opciones y secretos

4050 3. Inicia Claude Code de nuevo, en la carpeta del proyecto si el archivo es un archivo de configuración de un proyecto. Luego instala los plugins desde el marketplace renombrado

4051* Para conservar cualquier otro marketplace, espera hasta que su mantenedor lo renombre y luego ejecuta `claude plugin marketplace update <name>`

4052* Para eliminar el marketplace, ejecuta `claude plugin marketplace remove <name>`. Esto también desinstala los plugins instalados desde el marketplace y elimina sus datos, opciones y secretos

4044* Si publica el marketplace, cámbielo de nombre en su `marketplace.json`; los usuarios luego actualizan el marketplace en lugar de eliminarlo4053* Si publica el marketplace, cámbielo de nombre en su `marketplace.json`; los usuarios luego actualizan el marketplace en lugar de eliminarlo

4045 4054 

4046<h3 id="marketplace-is-already-added-from-a-different-source">4055<h3 id="marketplace-is-already-added-from-a-different-source">

hooks.md +26 −4

Details

3321 WorktreeCreate3321 WorktreeCreate

3322</h3>3322</h3>

3323 3323 

3324Se ejecuta cuando se está creando un worktree, ya sea desde `claude --worktree`, desde un [subagente que usa `isolation: "worktree"`](/docs/es/sub-agents#choose-the-subagent-scope), o para una [sesión en segundo plano](/docs/es/agent-view#how-file-edits-are-isolated) que Claude Code aísla en su propio worktree. De forma predeterminada, Claude Code crea la copia de trabajo aislada con `git worktree`. Configurar un hook WorktreeCreate reemplaza ese comportamiento predeterminado de git, lo que te permite usar un sistema de control de versiones diferente como SVN, Perforce o Mercurial.3324Se ejecuta cuando Claude Code crea un worktree en casos como estos:

3325 

3326* Inicias una sesión con `claude --worktree`

3327* Claude crea un worktree durante una sesión y cambia a él con la herramienta [`EnterWorktree`](/docs/es/tools-reference)

3328* Un [subagente usa `isolation: "worktree"`](/docs/es/sub-agents#choose-the-subagent-scope)

3329* Un [flujo de trabajo](/docs/es/workflows#migrate-many-files-in-parallel) ejecuta un agente en su propio worktree

3330* Claude Code aísla una [sesión en segundo plano](/docs/es/agent-view#how-file-edits-are-isolated) en su propio worktree

3331* [`claude remote-control`](/docs/es/remote-control#start-a-remote-control-session) en modo `worktree` inicia una sesión en su propio worktree

3332 

3333Cuando Claude ejecuta `git worktree add` mediante la herramienta Bash en lugar de llamar a `EnterWorktree`, tu hook WorktreeCreate no se ejecuta. Para inspeccionar o bloquear ese comando, agrega un hook [`PreToolUse`](#pretooluse) con el matcher `Bash`.

3334 

3335De forma predeterminada, Claude Code crea la copia de trabajo aislada con `git worktree`. Configurar un hook WorktreeCreate reemplaza ese comportamiento predeterminado de git, lo que te permite usar un sistema de control de versiones diferente como SVN, Perforce o Mercurial.

3325 3336 

3326Como el hook reemplaza por completo el comportamiento predeterminado, [`.worktreeinclude`](/docs/es/worktrees#copy-gitignored-files-into-worktrees) no se procesa. Si necesitas copiar archivos de configuración locales como `.env` al nuevo worktree, hazlo dentro de tu script del hook.3337Como el hook reemplaza por completo el comportamiento predeterminado, [`.worktreeinclude`](/docs/es/worktrees#copy-gitignored-files-into-worktrees) no se procesa. Si necesitas copiar archivos de configuración locales como `.env` al nuevo worktree, hazlo dentro de tu script del hook.

3327 3338 


3390* Sales de una [sesión de worktree](/docs/es/worktrees#start-claude-in-a-worktree) interactiva y eliges eliminar el worktree cuando Claude Code te lo pregunta3401* Sales de una [sesión de worktree](/docs/es/worktrees#start-claude-in-a-worktree) interactiva y eliges eliminar el worktree cuando Claude Code te lo pregunta

3391* Sales de una sesión de worktree interactiva a la que no le has [puesto nombre](/docs/es/sessions#name-your-sessions), Claude Code no encuentra archivos modificados ni sin seguimiento, y elimina el worktree sin preguntarte3402* Sales de una sesión de worktree interactiva a la que no le has [puesto nombre](/docs/es/sessions#name-your-sessions), Claude Code no encuentra archivos modificados ni sin seguimiento, y elimina el worktree sin preguntarte

3392* Eliminas una [sesión en segundo plano](/docs/es/agent-view#what-deleting-a-session-removes) que se ejecuta en el worktree3403* Eliminas una [sesión en segundo plano](/docs/es/agent-view#what-deleting-a-session-removes) que se ejecuta en el worktree

3404* Le pides a Claude que salga y elimine el worktree durante una sesión, y Claude lo elimina con la herramienta [`ExitWorktree`](/docs/es/tools-reference)

3405* Una sesión que [`claude remote-control`](/docs/es/remote-control#start-a-remote-control-session) inició en modo `worktree` termina sin fallar, y Claude Code no encuentra archivos modificados ni sin seguimiento ni commits nuevos en su worktree

3406* Detienes `claude remote-control` mientras las sesiones que inició en modo `worktree` siguen en ejecución, y Claude Code no encuentra archivos modificados ni sin seguimiento ni commits nuevos en sus worktrees

3407 

3408Cuando un subagente o un agente de un flujo de trabajo termina, Claude Code conserva el worktree que tu hook WorktreeCreate creó para él y no ejecuta tu hook WorktreeRemove. Elimina esos worktrees tú mismo cuando el trabajo esté terminado.

3409 

3410Claude Code no te pregunta antes de que tu hook se ejecute para una llamada a `ExitWorktree` o una limpieza de `claude remote-control`. `ExitWorktree` se niega a eliminar un worktree creado por un hook a menos que la llamada pase [`discard_changes: true`](/docs/es/agent-sdk/typescript#exitworktree), lo que convierte a tu hook en la última comprobación en esa ruta.

3393 3411 

3394Claude Code usa git para buscar archivos modificados o sin seguimiento, por lo que no encuentra ninguno en un worktree que no sea un checkout de git ni esté dentro de uno, incluso cuando el directorio contiene trabajo sin confirmar. Comprueba si existe ese trabajo en tu hook WorktreeRemove antes de que elimine cualquier cosa.3412Claude Code usa git para buscar archivos modificados o sin seguimiento, por lo que no encuentra ninguno en un worktree que no sea un checkout de git ni esté dentro de uno, incluso cuando el directorio contiene trabajo sin confirmar. Comprueba si existe ese trabajo en tu hook WorktreeRemove antes de que elimine cualquier cosa.

3395 3413 

3396Para los worktrees basados en git, Claude Code gestiona la limpieza automáticamente con `git worktree remove`. Si configuraste un hook WorktreeCreate, combínalo con un hook WorktreeRemove para controlar la limpieza de los worktrees que crea:3414Para los worktrees basados en git, Claude Code gestiona la limpieza automáticamente con `git worktree remove`. Si configuraste un hook WorktreeCreate, combínalo con un hook WorktreeRemove para controlar la limpieza:

3397 3415 

3398* **Sin hook WorktreeRemove**: cuando Claude Code elimina el worktree al salir de una sesión de worktree, recurre a `git worktree remove --force` sobre la ruta que devolvió tu hook WorktreeCreate, por lo que se elimina un worktree que git reconoce. Un worktree que git no reconoce, por ejemplo uno que tu hook creó con un sistema de control de versiones que no es git, permanece en el disco. Para saber qué hace la eliminación de una [sesión en segundo plano](/docs/es/agent-view#what-deleting-a-session-removes) con un worktree creado por un hook, consulta las reglas de eliminación de la vista de agentes.3416* **Sin hook WorktreeRemove**: Claude Code recurre a git para una eliminación al salir o mediante `ExitWorktree`, y conserva el worktree cuando `claude remote-control` hace la limpieza:

3417 * **Sales de una sesión de worktree, o Claude llama a `ExitWorktree`**: Claude Code elimina la ruta que devolvió tu hook WorktreeCreate como lo haría `git worktree remove --force`, así que se elimina un worktree que git reconoce. Un worktree que git no reconoce, por ejemplo uno que tu hook creó con un sistema de control de versiones distinto de git, se queda en el disco.

3418 * **`claude remote-control` limpia el worktree de una sesión**: el worktree se queda en el disco, y la terminal que ejecuta `claude remote-control` muestra `worktree removal failed, kept: <path>`.

3419 * **Eliminas una sesión en segundo plano**: consulta [Qué elimina borrar una sesión](/docs/es/agent-view#what-deleting-a-session-removes).

3399* **El hook termina con 0**: el worktree se considera eliminado. Claude Code no lee nada más del hook, así que asegúrate de que tu hook haya eliminado el directorio.3420* **El hook termina con 0**: el worktree se considera eliminado. Claude Code no lee nada más del hook, así que asegúrate de que tu hook haya eliminado el directorio.

3400* **El hook termina con un código distinto de cero**: la eliminación falla si el directorio en `worktree_path` sigue existiendo después, y el worktree permanece en el disco sin recurrir a git. Un hook que eliminó el directorio antes de terminar con un código distinto de cero se considera eliminado. Para saber cómo se informa el fallo, consulta [Entrada de WorktreeRemove](#worktreeremove-input).3421* **El hook termina con un código distinto de cero**: la eliminación falla si el directorio en `worktree_path` sigue existiendo después, y el worktree permanece en el disco sin recurrir a git. Un hook que eliminó el directorio antes de terminar con un código distinto de cero se considera eliminado. Para saber cómo se informa el fallo, consulta [Entrada de WorktreeRemove](#worktreeremove-input).

3401 3422 


3403 3424 

3404Claude Code descarta los [campos de salida JSON](#json-output) de un hook WorktreeRemove, como `systemMessage` y `continue`.3425Claude Code descarta los [campos de salida JSON](#json-output) de un hook WorktreeRemove, como `systemMessage` y `continue`.

3405 3426 

3406Al eliminar una sesión en segundo plano, Claude Code verifica la ruta del worktree almacenada antes de ejecutar el hook y rechaza una ruta que sea un enlace simbólico o que pase por uno debajo de la raíz del repositorio. El hook se ejecuta para un worktree que todavía contiene archivos solo cuando confirmas la eliminación en la [vista de agentes](/docs/es/agent-view#what-deleting-a-session-removes); para un worktree así, [`claude rm`](/docs/es/agent-view#manage-sessions-from-the-shell) conserva la sesión y el worktree. Antes de v2.1.216, el hook se ejecutaba sobre la ruta almacenada sin estas comprobaciones.3427Al eliminar una sesión en segundo plano, Claude Code verifica la ruta del worktree almacenada antes de ejecutar el hook y rechaza una ruta que sea un enlace simbólico o que pase por uno por debajo de la raíz del repositorio. En esa ruta, el hook se ejecuta para un worktree que aún contiene archivos solo cuando confirmas la eliminación en la [vista de agentes](/docs/es/agent-view#what-deleting-a-session-removes); para un worktree así, [`claude rm`](/docs/es/agent-view#manage-sessions-from-the-shell) conserva la sesión y el worktree en su lugar. Antes de v2.1.216, el hook se ejecutaba sobre la ruta almacenada sin estas comprobaciones.

3407 3428 

3408Claude Code pasa la ruta devuelta por WorktreeCreate como `worktree_path` en la entrada del hook. Este ejemplo lee esa ruta y elimina el directorio:3429Claude Code pasa la ruta devuelta por WorktreeCreate como `worktree_path` en la entrada del hook. Este ejemplo lee esa ruta y elimina el directorio:

3409 3430 


3444 3465 

3445* El worktree permanece en el disco, y el comando del hook y su stderr van al [registro de depuración](#debug-hooks).3466* El worktree permanece en el disco, y el comando del hook y su stderr van al [registro de depuración](#debug-hooks).

3446* Si estabas eliminando una sesión en segundo plano, la sesión también permanece. El mensaje de rechazo en la [vista de agentes](/docs/es/agent-view#what-deleting-a-session-removes) informa cómo terminó el hook, como `exited 1`, cita el inicio de su stderr e indica si volver a eliminar la sesión elimina el directorio de todos modos.3467* Si estabas eliminando una sesión en segundo plano, la sesión también permanece. El mensaje de rechazo en la [vista de agentes](/docs/es/agent-view#what-deleting-a-session-removes) informa cómo terminó el hook, como `exited 1`, cita el inicio de su stderr e indica si volver a eliminar la sesión elimina el directorio de todos modos.

3468* Si `claude remote-control` estaba limpiando el worktree de una sesión, la terminal que lo ejecuta muestra `worktree removal failed, kept: <path>`.

3447 3469 

3448<h3 id="precompact">3470<h3 id="precompact">

3449 PreCompact3471 PreCompact

Details

55| Usted quiere | Comience con | Aislamiento necesario | Notas |55| Usted quiere | Comience con | Aislamiento necesario | Notas |

56| :- | :- | :- | :- |56| :- | :- | :- | :- |

57| Revisar cada acción usted mismo | Modo Manual: `claude --permission-mode default` | Ninguno | Trabajo sensible, código desconocido |57| Revisar cada acción usted mismo | Modo Manual: `claude --permission-mode default` | Ninguno | Trabajo sensible, código desconocido |

58| Iterar localmente con menos avisos, sin un clasificador | Modo Manual más el sandbox Bash en [modo de permitir automático](/docs/es/sandboxing#sandbox-modes): `claude --permission-mode default`, luego ejecute `/sandbox` y seleccione permitir automático | El sandbox Bash integrado, en macOS, Linux y WSL2 | Las reglas de denegación aún se aplican, y las reglas de solicitud que nombran un comando, como `Bash(git push *)`, aún solicitan. Para activar el sandbox desde un archivo de configuración en su lugar, establezca [`sandbox.enabled`](/docs/es/settings-reference#sandbox-enabled) en `true` |58| Iterar localmente con menos solicitudes de permiso, sin un clasificador | Modo manual más el sandbox de Bash en [modo de permitir automáticamente](/docs/es/sandboxing#sandbox-modes): `claude --permission-mode default`, luego ejecuta `/sandbox` y selecciona permitir automáticamente | El sandbox de Bash integrado, en macOS, Linux y WSL2 | Las reglas de denegación siguen aplicándose, y las reglas de solicitud que nombran un comando, como `Bash(git push *)`, siguen pidiendo permiso. El [modo de permitir automáticamente](/docs/es/sandboxing#auto-allow-mode) cubre otros comandos que pueden pedir permiso. Para activar el sandbox desde un archivo de configuración en su lugar, establece [`sandbox.enabled`](/docs/es/settings-reference#sandbox-enabled) en `true` |

59| Explorar antes de cambiar nada | `claude --permission-mode plan` | Ninguno | Claude Code bloquea ediciones hasta que [apruebe un plan](#review-and-approve-a-plan) |59| Explorar antes de cambiar nada | `claude --permission-mode plan` | Ninguno | Claude Code bloquea ediciones hasta que [apruebe un plan](#review-and-approve-a-plan) |

60| Trabajar sin intervención en modo automático | `claude --permission-mode auto`, el [modo de permisos inicial integrado](#which-mode-a-session-starts-in) con v2.1.283 o posterior | Ninguno; un sandbox o contenedor agrega defensa en profundidad | Requiere un [modelo compatible](#eliminate-prompts-with-auto-mode), y su organización puede [desactivar modo automático](#eliminate-prompts-with-auto-mode) |60| Trabajar sin intervención en modo automático | `claude --permission-mode auto`, el [modo de permisos inicial integrado](#which-mode-a-session-starts-in) con v2.1.283 o posterior | Ninguno; un sandbox o contenedor agrega defensa en profundidad | Requiere un [modelo compatible](#eliminate-prompts-with-auto-mode), y su organización puede [desactivar modo automático](#eliminate-prompts-with-auto-mode) |

61| Ejecutar en CI con una lista de permitidos exacta | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Ninguno más allá de lo que proporciona su ejecutor de CI | [Cloud sessions](/docs/es/claude-code-on-the-web) ignora `dontAsk` de archivos de configuración |61| Ejecutar en CI con una lista de permitidos exacta | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Ninguno más allá de lo que proporciona su ejecutor de CI | [Cloud sessions](/docs/es/claude-code-on-the-web) ignora `dontAsk` de archivos de configuración |

permissions.md +1 −0

Details

744* Las reglas ask con alcance de contenido como `Bash(git push *)` aún fuerzan un aviso744* Las reglas ask con alcance de contenido como `Bash(git push *)` aún fuerzan un aviso

745* Las reglas de negación explícitas aún se aplican745* Las reglas de negación explícitas aún se aplican

746* Los comandos `rm` o `rmdir` que apunten a una [ruta crítica](/docs/es/permission-modes#critical-paths) aún pasan por el flujo de permisos regular746* Los comandos `rm` o `rmdir` que apunten a una [ruta crítica](/docs/es/permission-modes#critical-paths) aún pasan por el flujo de permisos regular

747* Otros comandos en el sandbox también pueden pasar por el flujo de permisos regular, como se describe en [modo Auto-allow](/docs/es/sandboxing#auto-allow-mode)

747 748 

748Los comandos que no se ejecutarán en sandbox, como comandos excluidos, respetan la regla ask `Bash` simple como es habitual. Consulte [modos de sandbox](/docs/es/sandboxing#sandbox-modes) para cambiar este comportamiento.749Los comandos que no se ejecutarán en sandbox, como comandos excluidos, respetan la regla ask `Bash` simple como es habitual. Consulte [modos de sandbox](/docs/es/sandboxing#sandbox-modes) para cambiar este comportamiento.

749 750 

Details

55* **Nombres que comienzan con `claudeai-`**: reservado para marketplaces alojados en claude.ai. `claude plugin marketplace add` rechaza cualquier otro marketplace que use uno con `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.55* **Nombres que comienzan con `claudeai-`**: reservado para marketplaces alojados en claude.ai. `claude plugin marketplace add` rechaza cualquier otro marketplace que use uno con `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.

56* **La carpeta de descarga de un marketplace de GitHub registrado, `<owner>-<repo>`**: Claude Code descarga un marketplace agregado desde una fuente `github` como `acme/x-tools` a través de una carpeta llamada `acme-x-tools`, sea cual sea el `name` propio de ese marketplace. Mientras ese marketplace esté registrado con un nombre distinto de `acme-x-tools`, `claude plugin marketplace add` rechaza un marketplace diferente llamado `acme-x-tools` después de descargarlo, e informa `Can't use the marketplace name "acme-x-tools"`. Esta verificación requiere Claude Code v2.1.290 o posterior.56* **La carpeta de descarga de un marketplace de GitHub registrado, `<owner>-<repo>`**: Claude Code descarga un marketplace agregado desde una fuente `github` como `acme/x-tools` a través de una carpeta llamada `acme-x-tools`, sea cual sea el `name` propio de ese marketplace. Mientras ese marketplace esté registrado con un nombre distinto de `acme-x-tools`, `claude plugin marketplace add` rechaza un marketplace diferente llamado `acme-x-tools` después de descargarlo, e informa `Can't use the marketplace name "acme-x-tools"`. Esta verificación requiere Claude Code v2.1.290 o posterior.

57 57 

58Cuando un marketplace registrado deja de cargarse porque su nombre imita uno oficial, `claude plugin list` y `/plugin` reportan `Claude Code refuses the marketplace name "<name>"`. El mensaje le indica que elimine el marketplace. Eliminarlo también desinstala sus plugins y elimina sus datos guardados. Este mensaje de rechazo nombrado requiere Claude Code v2.1.282 o posterior.58Cuando un marketplace registrado deja de cargarse porque su nombre imita uno oficial, `claude plugin list` y `/plugin` reportan `Claude Code refuses the marketplace name "<name>"`. El mensaje te indica que elimines el marketplace. Eliminarlo también desinstala sus plugins y elimina sus datos, opciones y secretos. Este mensaje de rechazo nombrado requiere Claude Code v2.1.282 o posterior.

59 

60Si un archivo de configuración declara el marketplace en línea, el mensaje te indica que cambies el nombre de su entrada antes de eliminar el nombre anterior. Para ver los pasos, consulta [Claude Code refuses the marketplace name](/docs/es/errors#claude-code-refuses-the-marketplace-name). El mensaje los enumera en Claude Code v2.1.292 o posterior.

59 61 

60<h2 id="top-level-fields">62<h2 id="top-level-fields">

61 Campos de nivel superior63 Campos de nivel superior

Details

88| [`prompt.submit`](/docs/es/plugins/mods/events#rewrite-or-add-to-a-prompt) | Se envía un prompt | `next({ ...e, text })`, `next({ ...e, context })` o `{ drop: reason }` |88| [`prompt.submit`](/docs/es/plugins/mods/events#rewrite-or-add-to-a-prompt) | Se envía un prompt | `next({ ...e, text })`, `next({ ...e, context })` o `{ drop: reason }` |

89| `prompt.fill`, `prompt.suggest` | Un texto está a punto de entrar en el cuadro del prompt como borrador o como sugerencia atenuada | `next(e)` con el texto cambiado |89| `prompt.fill`, `prompt.suggest` | Un texto está a punto de entrar en el cuadro del prompt como borrador o como sugerencia atenuada | `next(e)` con el texto cambiado |

90| `prompt.edit` | El usuario edita el cuadro del prompt | `next(e)` |90| `prompt.edit` | El usuario edita el cuadro del prompt | `next(e)` |

91| `prompt.autocomplete` | El usuario escribe en el cuadro del prompt y una palabra termina en el cursor. `e.token` es esa palabra. Claude Code no espera al hook: sus propias filas de autocompletado se muestran primero. | `{ suggestions }`, una lista de filas `{ text, label, description }` que se muestran debajo de las propias de Claude Code. Elegir una fila escribe su `text` sobre la palabra. |

91| `prompt.compose` | Claude Code genera un prompt del sistema | `{ sections }`, una lista de `{ id, text, scope }` en el orden en que se envían |92| `prompt.compose` | Claude Code genera un prompt del sistema | `{ sections }`, una lista de `{ id, text, scope }` en el orden en que se envían |

92| [`prompt.section`](/docs/es/plugins/mods/events#rewrite-or-add-to-a-prompt) | Una vez por cada sección con nombre del prompt del sistema. `e.name` es el `id` de la sección en `prompt.compose`. | `{ text }`, o `{ text: null }` para omitir la sección |93| [`prompt.section`](/docs/es/plugins/mods/events#rewrite-or-add-to-a-prompt) | Una vez por cada sección con nombre del prompt del sistema. `e.name` es el `id` de la sección en `prompt.compose`. | `{ text }`, o `{ text: null }` para omitir la sección |

93| [`prompt.context`](/docs/es/plugins/mods/events#rewrite-or-add-to-a-prompt) | Una vez por cada conversación, para el contexto enviado con el primer mensaje | `{ blocks }` |94| [`prompt.context`](/docs/es/plugins/mods/events#rewrite-or-add-to-a-prompt) | Una vez por cada conversación, para el contexto enviado con el primer mensaje | `{ blocks }` |

Details

64 | `--remote-control-session-name-prefix <prefix>` | Prefijo para nombres de sesión generados automáticamente cuando no se establece un nombre explícito. El valor predeterminado es el nombre de host de su máquina, produciendo nombres como `myhost-graceful-unicorn`. Establezca `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` para el mismo efecto. |64 | `--remote-control-session-name-prefix <prefix>` | Prefijo para nombres de sesión generados automáticamente cuando no se establece un nombre explícito. El valor predeterminado es el nombre de host de su máquina, produciendo nombres como `myhost-graceful-unicorn`. Establezca `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` para el mismo efecto. |

65 | `-c`, `--continue` | Reanude la sesión que el último servidor en este directorio inició, en lugar de crear una nueva. Consulte [Reanude sesiones después de detener el servidor](#resume-sessions-after-stopping-the-server). No se puede combinar con `--session-id`, `--spawn`, `--capacity`, o `--create-session-in-dir`. Requiere Claude Code v2.1.200 o posterior. |65 | `-c`, `--continue` | Reanude la sesión que el último servidor en este directorio inició, en lugar de crear una nueva. Consulte [Reanude sesiones después de detener el servidor](#resume-sessions-after-stopping-the-server). No se puede combinar con `--session-id`, `--spawn`, `--capacity`, o `--create-session-in-dir`. Requiere Claude Code v2.1.200 o posterior. |

66 | `--session-id <id>` | Reanude una sesión por su ID. Consulte [Reanude sesiones después de detener el servidor](#resume-sessions-after-stopping-the-server). No se puede combinar con `--continue`, `--spawn`, `--capacity`, o `--create-session-in-dir`. Requiere Claude Code v2.1.200 o posterior. |66 | `--session-id <id>` | Reanude una sesión por su ID. Consulte [Reanude sesiones después de detener el servidor](#resume-sessions-after-stopping-the-server). No se puede combinar con `--continue`, `--spawn`, `--capacity`, o `--create-session-in-dir`. Requiere Claude Code v2.1.200 o posterior. |

67 | `--spawn <mode>` | Cómo el servidor crea sesiones.<br />• `same-dir` (predeterminado): todas las sesiones comparten el directorio de trabajo actual, por lo que pueden entrar en conflicto si editan los mismos archivos.<br />• `worktree`: cada sesión bajo demanda obtiene su propio [git worktree](/docs/es/worktrees). Requiere un repositorio git.<br />• `session`: modo de sesión única. Sirve exactamente una sesión y rechaza conexiones adicionales. Se establece solo al inicio.<br />Presione `w` en tiempo de ejecución para alternar entre `same-dir` y `worktree`. |67 | `--spawn <mode>` | Cómo el servidor crea sesiones.<br />• `same-dir` (predeterminado): todas las sesiones comparten el directorio de trabajo actual, por lo que pueden entrar en conflicto si editan los mismos archivos.<br />• `worktree`: cada sesión bajo demanda obtiene su propio [git worktree](/docs/es/worktrees). Requiere un repositorio git o un [hook `WorktreeCreate`](/docs/es/hooks#worktreecreate).<br />• `session`: modo de sesión única. Sirve exactamente una sesión y rechaza conexiones adicionales. Se establece solo al inicio.<br />Presiona `w` en tiempo de ejecución para alternar entre `same-dir` y `worktree`. |

68 | `--capacity <N>` | Número máximo de sesiones concurrentes. El valor predeterminado es 32. No se puede usar con `--spawn=session`. |68 | `--capacity <N>` | Número máximo de sesiones concurrentes. El valor predeterminado es 32. No se puede usar con `--spawn=session`. |

69 | `--[no-]create-session-in-dir` | Pre-crear una sesión en el directorio actual cuando el servidor se inicia, para que tenga un lugar donde escribir inmediatamente. En modo `worktree` esta sesión permanece en el directorio actual mientras las sesiones bajo demanda obtienen worktrees aislados. Habilitado de forma predeterminada. Si pasa `--no-create-session-in-dir` para comenzar sin ninguno, Claude Code archiva las sesiones del servidor cuando lo detiene, por lo que no hay nada que [reanudar](#resume-sessions-after-stopping-the-server). |69 | `--[no-]create-session-in-dir` | Pre-crear una sesión en el directorio actual cuando el servidor se inicia, para que tenga un lugar donde escribir inmediatamente. En modo `worktree` esta sesión permanece en el directorio actual mientras las sesiones bajo demanda obtienen worktrees aislados. Habilitado de forma predeterminada. Si pasa `--no-create-session-in-dir` para comenzar sin ninguno, Claude Code archiva las sesiones del servidor cuando lo detiene, por lo que no hay nada que [reanudar](#resume-sessions-after-stopping-the-server). |

70 | `--permission-mode <mode>` | Establezca el [modo de permiso](/docs/es/permission-modes) inicial para las sesiones del servidor, como `acceptEdits`. Acepta `manual` como alias para `default`; un modo no reconocido detiene el servidor al inicio y enumera los modos válidos. |70 | `--permission-mode <mode>` | Establezca el [modo de permiso](/docs/es/permission-modes) inicial para las sesiones del servidor, como `acceptEdits`. Acepta `manual` como alias para `default`; un modo no reconocido detiene el servidor al inicio y enumera los modos válidos. |

sandboxing.md +11 −1

Details

202* Las [reglas de denegación](/docs/es/permissions) explícitas siempre se respetan202* Las [reglas de denegación](/docs/es/permissions) explícitas siempre se respetan

203* Los comandos `rm` o `rmdir` que apuntan a una [ruta crítica](/docs/es/permission-modes#critical-paths) siguen pasando por el flujo de permisos habitual203* Los comandos `rm` o `rmdir` que apuntan a una [ruta crítica](/docs/es/permission-modes#critical-paths) siguen pasando por el flujo de permisos habitual

204* Las [reglas de consulta](/docs/es/permissions) limitadas por contenido, como `Bash(git push *)`, siguen forzando una solicitud de permiso incluso para los comandos del sandbox204* Las [reglas de consulta](/docs/es/permissions) limitadas por contenido, como `Bash(git push *)`, siguen forzando una solicitud de permiso incluso para los comandos del sandbox

205* Una regla de consulta `Bash` sin más, o la forma equivalente `Bash(*)`, se omite para los comandos que se ejecutan en el sandbox; sigue aplicándose a los comandos que recurren al flujo de permisos habitual. En el [modo plan](/docs/es/permission-modes#analyze-before-you-edit-with-plan-mode), la regla no se omite: también pide confirmación para los comandos del sandbox, incluidos los de solo lectura205* Una regla de consulta `Bash` sin más, o la forma equivalente `Bash(*)`, se omite para los comandos que se ejecutan en el sandbox; sigue aplicándose a los comandos que se ejecutan fuera del sandbox. En el [modo plan](/docs/es/permission-modes#analyze-before-you-edit-with-plan-mode), la regla no se omite: también pide confirmación para los comandos del sandbox, incluidos los de solo lectura

206* Los comandos de la [herramienta Monitor](/docs/es/tools-reference#monitor-tool) no se aprueban automáticamente, aunque siguen ejecutándose en el sandbox. Para omitir la solicitud de permiso, agrega una [regla de permiso](/docs/es/permissions#bash) que coincida con el comando, como `Bash(npm run *)`206* Los comandos de la [herramienta Monitor](/docs/es/tools-reference#monitor-tool) no se aprueban automáticamente, aunque siguen ejecutándose en el sandbox. Para omitir la solicitud de permiso, agrega una [regla de permiso](/docs/es/permissions#bash) que coincida con el comando, como `Bash(npm run *)`

207 207 

208Algunos comandos del sandbox también pasan por el [flujo de permisos](/docs/es/permissions) habitual en lugar de aprobarse automáticamente. Esto ocurre con comandos como `FOO=bar npm test`, donde una variable establecida delante de un comando puede cambiar qué programa se ejecuta, y con `make CC=clang` o `eval "ls"`. Tus reglas de permiso y tu modo de permisos deciden entonces si ves una solicitud de permiso, y el comando sigue ejecutándose dentro del sandbox.

209 

210Para estos tres comandos, una [regla de permiso](/docs/es/permissions#bash) que coincida con el comando evita que la solicitud de permiso se repita. Estas reglas muestran el patrón:

211 

212* `Bash(make *)` aprueba `make CC=clang`

213* `Bash(FOO=bar npm *)` aprueba `FOO=bar npm test`. Cuando el comando empieza con una asignación de variable, incluye la asignación en la regla

214* `Bash(eval "ls")` aprueba `eval "ls"`. Una regla con comodín como `Bash(eval *)` no evita esta solicitud de permiso, así que escribe una regla que coincida con el comando completo

215 

216Una regla de permiso que coincide con un comando también aprueba un [reintento fuera del sandbox](#the-unsandboxed-retry-escape-hatch) de ese comando, por lo que puede ejecutarse fuera del sandbox sin pedir confirmación.

217 

208<Info>218<Info>

209 El modo auto-allow funciona de forma independiente de tu ajuste de modo de permisos, con tres excepciones: el [modo plan](/docs/es/permission-modes#analyze-before-you-edit-with-plan-mode), un comando del modo automático que lleva [dominios permitidos por comando](#per-command-allowed-domains-in-auto-mode) y la [revisión del clasificador del lado del servidor](/docs/es/permission-modes#how-the-classifier-evaluates-actions) de los comandos del sandbox en el modo automático. Aunque no estés en el modo "accept edits", los comandos de Bash del sandbox se ejecutan automáticamente cuando auto-allow está habilitado. Esto significa que los comandos de Bash que modifican archivos dentro de los límites del sandbox se ejecutan sin pedir confirmación, incluso en el modo Manual, donde las herramientas de edición de archivos sí la pedirían.219 El modo auto-allow funciona de forma independiente de tu ajuste de modo de permisos, con tres excepciones: el [modo plan](/docs/es/permission-modes#analyze-before-you-edit-with-plan-mode), un comando del modo automático que lleva [dominios permitidos por comando](#per-command-allowed-domains-in-auto-mode) y la [revisión del clasificador del lado del servidor](/docs/es/permission-modes#how-the-classifier-evaluates-actions) de los comandos del sandbox en el modo automático. Aunque no estés en el modo "accept edits", los comandos de Bash del sandbox se ejecutan automáticamente cuando auto-allow está habilitado. Esto significa que los comandos de Bash que modifican archivos dentro de los límites del sandbox se ejecutan sin pedir confirmación, incluso en el modo Manual, donde las herramientas de edición de archivos sí la pedirían.

210 220 

Details

191 Jitter191 Jitter

192</h3>192</h3>

193 193 

194Una tarea programada puede ejecutarse en un momento distinto al que indica su programación. Si las tareas de cada sesión se ejecutaran exactamente según lo programado, muchas de ellas llamarían a la API en el mismo momento, por lo que Claude Code desplaza la hora de ejecución de cada tarea. Las tareas recurrentes se ejecutan con retraso, y las tareas únicas programadas en punto o a la media hora se ejecutan un poco antes.194Una tarea programada puede ejecutarse en un momento distinto al que indica su programación. Si las tareas de cada sesión se ejecutaran exactamente según lo programado, muchas de ellas llamarían a la API en el mismo momento, por lo que Claude Code desplaza la hora de ejecución de cada tarea. Las tareas recurrentes se ejecutan con retraso, excepto una tarea que se ejecuta cada cinco minutos, escrita como `*/5 * * * *`. Las tareas únicas programadas en punto o a la media hora se ejecutan un poco antes.

195 195 

196<h4 id="how-late-a-recurring-task-runs">196<h4 id="how-late-a-recurring-task-runs">

197 Cuánto se retrasa una tarea recurrente197 Cuánto se retrasa una tarea recurrente

198</h4>198</h4>

199 199 

200Cuando creas una tarea recurrente, Claude Code le asigna un retraso fijo y lo agrega a cada ejecución. El retraso se calcula a partir del ID de la tarea, por lo que la misma tarea se ejecuta con la misma cantidad de minutos de retraso cada vez, incluso cuando la sesión está inactiva y no se está ejecutando nada más.200A menos que se ejecute cada cinco minutos, una tarea recurrente inicia cada ejecución con un retraso de hasta la mitad del intervalo hasta la siguiente ejecución, y como máximo de 30 minutos. Tu tarea corresponde a uno de estos tres casos:

201 201 

202Las tareas que se ejecutan con más frecuencia obtienen retrasos más cortos, y 30 minutos es el retraso máximo que puede tener una tarea. Estos son los rangos de retraso para algunas programaciones comunes:202* **Ejecuciones espaciadas uniformemente**: una tarea con intervalos iguales, como cada hora, una vez al día o cada 10 minutos, se ejecuta con la misma cantidad de minutos de retraso cada vez, incluso cuando la sesión está inactiva.

203* **Ejecuciones espaciadas de forma irregular**: una tarea con intervalos desiguales, como una programada para `:00` y `:15` cada hora, puede ejecutarse con una cantidad distinta de minutos de retraso en cada una.

204* **Cada cinco minutos**: una tarea escrita como `*/5 * * * *` no se retrasa. Una ejecución exactamente cinco minutos después de la anterior empezaría después de que una [caché de prompts](/docs/es/prompt-caching#which-ttl-each-request-gets) de cinco minutos hubiera expirado, por lo que cada ejecución empieza 15 segundos antes.

203 205 

204| La tarea se ejecuta | El retraso está entre |206Busca tu programación en la primera columna de esta tabla para ver cuándo empieza cada una de sus ejecuciones.

207 

208| Programación | Cuándo empieza cada ejecución |

205| :- | :- |209| :- | :- |

206| Cada 10 minutos | 0 y 5 minutos |210| Cada 5 minutos, escrita como `*/5 * * * *`, que es lo que crea `/loop 5m` | 4 minutos y 45 segundos después de la ejecución anterior |

207| Cada 30 minutos | 0 y 15 minutos |211| Cada 10 minutos | Entre 0 y 5 minutos de retraso |

208| Cada hora, o con menos frecuencia, como una vez al día | 0 y 30 minutos |212| Cada 30 minutos | Entre 0 y 15 minutos de retraso |

213| Cada hora, o con menos frecuencia, como una vez al día | Entre 0 y 30 minutos de retraso |

209 214 

210Por ejemplo, `7,37 * * * *` programa una tarea para `:07` y `:37`, que están separados por 30 minutos, por lo que su retraso está entre 0 y 15 minutos. Si el retraso de esta tarea es de 14 minutos, se ejecuta a las `:21` y `:51` cada hora. Cambiar la programación a un minuto diferente mueve la hora de ejecución, y aun así se agrega un retraso encima.215Por ejemplo, `7,37 * * * *` programa una tarea para `:07` y `:37`, que están separados por 30 minutos, por lo que su retraso está entre 0 y 15 minutos. Si el retraso de esta tarea es de 14 minutos, se ejecuta a las `:21` y `:51` cada hora. Cambiar la programación a un minuto diferente mueve la hora de ejecución, y aun así se agrega un retraso encima.

211 216 

Details

1931 1931 

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

1933* **Type**: Boolean1933* **Type**: Boolean

1934 * `true`: Claude Code ejecuta comandos Bash en sandbox sin una solicitud de permiso, sujeto a las reglas `deny` y a las reglas `ask` limitadas por contenido; `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` desactiva la aprobación automática1934 * `true`: Claude Code ejecuta comandos Bash en sandbox sin una solicitud de permiso, excepto en los casos que describe [Modo de aprobación automática](/docs/es/sandboxing#auto-allow-mode); `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` desactiva la aprobación automática

1935 * `false`: los comandos en sandbox pasan por el flujo de permisos normal, por lo que deciden tus reglas allow y tu modo de permisos. La pestaña **Mode** de `/sandbox` llama a esto modo de permisos normal1935 * `false`: los comandos en sandbox pasan por el flujo de permisos normal, por lo que deciden tus reglas allow y tu modo de permisos. La pestaña **Mode** de `/sandbox` llama a esto modo de permisos normal

1936* **Default**: `true`1936* **Default**: `true`

1937 1937 


1946}1946}

1947```1947```

1948 1948 

1949Consulta [Modos del sandbox](/docs/es/sandboxing#sandbox-modes) para saber qué sigue solicitando el modo de aprobación automática y cómo se comporta en modo plan.1949Consulta [Modo de aprobación automática](/docs/es/sandboxing#auto-allow-mode) para saber qué sigue solicitando el modo de aprobación automática y cómo se comporta en modo plan.

1950 1950 

1951<h3 id="sandbox-excludedcommands">1951<h3 id="sandbox-excludedcommands">

1952 `sandbox.excludedCommands`1952 `sandbox.excludedCommands`

statusline.md +1 −1

Details

1308Fuera de la [representación a pantalla completa](/docs/es/fullscreen), Claude Code muestra notificaciones en la misma fila que tu línea de estado. En la representación a pantalla completa, Claude Code asigna a las notificaciones una fila propia.1308Fuera de la [representación a pantalla completa](/docs/es/fullscreen), Claude Code muestra notificaciones en la misma fila que tu línea de estado. En la representación a pantalla completa, Claude Code asigna a las notificaciones una fila propia.

1309 1309 

1310* Las notificaciones del sistema como errores de servidor MCP y actualizaciones automáticas se muestran en el lado derecho de la fila. Las notificaciones transitorias como la advertencia de contexto bajo también ciclan a través de esta área.1310* Las notificaciones del sistema como errores de servidor MCP y actualizaciones automáticas se muestran en el lado derecho de la fila. Las notificaciones transitorias como la advertencia de contexto bajo también ciclan a través de esta área.

1311* Habilitar el modo verbose agrega un contador de tokens a esta área1311* Habilitar el modo verbose agrega un contador de tokens a esta área, que muestra el tamaño de tu contexto según lo reportó la última respuesta de API, no el [conteo por turno junto al indicador de progreso](/docs/es/costs#read-the-token-count-beside-the-spinner)

1312* En terminales estrechas, estas notificaciones pueden truncar tu salida de línea de estado1312* En terminales estrechas, estas notificaciones pueden truncar tu salida de línea de estado

workflows.md +10 −0

Details

431 431 

432Reanude una ejecución pausada desde `/workflows` seleccionándola y presionando `p`. Para una ejecución que detuvo, pida a Claude que relance el workflow con el mismo script. Si los agentes de la ejecución detenida aún no han salido, Claude Code rechaza el relanzamiento hasta que lo hagan, por lo que una segunda copia de esos agentes no puede ejecutarse junto a ellos.432Reanude una ejecución pausada desde `/workflows` seleccionándola y presionando `p`. Para una ejecución que detuvo, pida a Claude que relance el workflow con el mismo script. Si los agentes de la ejecución detenida aún no han salido, Claude Code rechaza el relanzamiento hasta que lo hagan, por lo que una segunda copia de esos agentes no puede ejecutarse junto a ellos.

433 433 

434<h4 id="which-agents-run-again">

435 Qué agentes se ejecutan de nuevo

436</h4>

437 

434Claude Code reproduce la ejecución en el orden en que los agentes comenzaron, y cada agente devuelve su resultado guardado o se ejecuta de nuevo:438Claude Code reproduce la ejecución en el orden en que los agentes comenzaron, y cada agente devuelve su resultado guardado o se ejecuta de nuevo:

435 439 

436* **Completado**: devuelve su resultado guardado. El primer agente cuyo prompt difiere de la ejecución anterior, porque editó el script o un agente anterior devolvió algo diferente, se ejecuta de nuevo, y también lo hace cada agente después de él, incluso los que se completaron.440* **Completado**: devuelve su resultado guardado. El primer agente cuyo prompt difiere de la ejecución anterior, porque editó el script o un agente anterior devolvió algo diferente, se ejecuta de nuevo, y también lo hace cada agente después de él, incluso los que se completaron.


439 443 

440Ese último caso significa que una falla en el medio de un fan-out reejecutará trabajo que ya se completó. Si un script inicia A, B, C y D en ese orden y B falla, relanzar devuelve A del caché y ejecuta B, C y D de nuevo.444Ese último caso significa que una falla en el medio de un fan-out reejecutará trabajo que ya se completó. Si un script inicia A, B, C y D en ese orden y B falla, relanzar devuelve A del caché y ejecuta B, C y D de nuevo.

441 445 

446Si editas un script que iniciaba A, B, C y D para que inicie A, C, B y D, el segundo agente en iniciarse ahora es C, donde la ejecución anterior iniciaba B. Relanzar devuelve A de la caché y ejecuta C, B y D de nuevo.

447 

448<h4 id="resume-after-you-leave-the-session">

449 Reanudar después de salir de la sesión

450</h4>

451 

442Puede reanudar una ejecución dentro de la misma sesión de Claude Code. Lo que sucede con un workflow en ejecución cuando sale de la sesión depende de cómo salga:452Puede reanudar una ejecución dentro de la misma sesión de Claude Code. Lo que sucede con un workflow en ejecución cuando sale de la sesión depende de cómo salga:

443 453 

444* Si [coloca la sesión en segundo plano](/docs/es/agent-view#what-carries-over-when-you-background), Claude Code reproduce la ejecución de la misma manera en la sesión en segundo plano y la continúa.454* Si [coloca la sesión en segundo plano](/docs/es/agent-view#what-carries-over-when-you-background), Claude Code reproduce la ejecución de la misma manera en la sesión en segundo plano y la continúa.

worktrees.md +1 −1

Details

129and report the results.129and report the results.

130```130```

131 131 

132Cada subagente obtiene un worktree temporal que Claude Code elimina automáticamente cuando el subagente termina sin cambios; un worktree con cambios permanece en el disco hasta que el [barrido periódico a continuación](#clean-up-subagent-and-background-session-worktrees) pueda eliminarlo sin perder trabajo.132Cada subagente obtiene un worktree temporal que Claude Code elimina automáticamente cuando el subagente termina sin cambios; un worktree con cambios permanece en el disco hasta que el [barrido periódico a continuación](#clean-up-subagent-and-background-session-worktrees) pueda eliminarlo sin perder trabajo. Para un worktree que creó tu [hook WorktreeCreate](/docs/es/hooks#worktreecreate), consulta [WorktreeRemove](/docs/es/hooks#worktreeremove) en su lugar.

133 133 

134Los worktrees de subagentes utilizan la misma [rama base](#choose-the-base-branch) que `--worktree`, por lo que se ramifican desde la rama predeterminada de su repositorio a menos que `worktree.baseRef` esté configurado en `"head"`.134Los worktrees de subagentes utilizan la misma [rama base](#choose-the-base-branch) que `--worktree`, por lo que se ramifican desde la rama predeterminada de su repositorio a menos que `worktree.baseRef` esté configurado en `"head"`.

135 135