SpyBara
Go Premium

Documentation 2026-09-27 23:59 UTC to 2026-09-28 22:01 UTC

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

39La tabla enumera cada opción de accesibilidad, si la establece como una bandera, una variable de entorno o una configuración, y qué cambia.39La tabla enumera cada opción de accesibilidad, si la establece como una bandera, una variable de entorno o una configuración, y qué cambia.

40 40 

41| Opción | Tipo | Qué cambia |41| Opción | Tipo | Qué cambia |

42| :---------------------------------------------------------------------- | :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |42| :- | :- | :- |

43| [`--ax-screen-reader`](/docs/es/cli-reference#cli-flags) | Bandera | Modo lector de pantalla para una sesión. |43| [`--ax-screen-reader`](/docs/es/cli-reference#cli-flags) | Bandera | Modo lector de pantalla para una sesión. |

44| [`CLAUDE_AX_SCREEN_READER`](/docs/es/env-vars#variables) | Variable de entorno | Modo lector de pantalla para sesiones iniciadas desde el shell donde la establece. |44| [`CLAUDE_AX_SCREEN_READER`](/docs/es/env-vars#variables) | Variable de entorno | Modo lector de pantalla para sesiones iniciadas desde el shell donde la establece. |

45| [`axScreenReader`](/docs/es/settings-reference#axscreenreader) | Configuración | Modo lector de pantalla para cada sesión cuando es `true`. |45| [`axScreenReader`](/docs/es/settings-reference#axscreenreader) | Configuración | Modo lector de pantalla para cada sesión cuando es `true`. |


71Cada mensaje en la transcripción comienza con una etiqueta que su lector de pantalla anuncia, nombrando qué es: sus mensajes, las respuestas y el pensamiento de Claude, la actividad de herramientas, errores y advertencias, e indicadores. Las etiquetas también se pueden buscar, para que pueda saltar entre secciones de la transcripción buscando en el historial de desplazamiento de su terminal:71Cada mensaje en la transcripción comienza con una etiqueta que su lector de pantalla anuncia, nombrando qué es: sus mensajes, las respuestas y el pensamiento de Claude, la actividad de herramientas, errores y advertencias, e indicadores. Las etiquetas también se pueden buscar, para que pueda saltar entre secciones de la transcripción buscando en el historial de desplazamiento de su terminal:

72 72 

73| Etiqueta | Significado |73| Etiqueta | Significado |

74| :--------------------- | :------------------------------------------------------------------------------------------------- |74| :- | :- |

75| `you:` | Sus mensajes |75| `you:` | Sus mensajes |

76| `claude:` | Respuestas de Claude |76| `claude:` | Respuestas de Claude |

77| `thinking:` | Pensamiento de Claude |77| `thinking:` | Pensamiento de Claude |

admin-setup.md +6 −6

Details

15</Note>15</Note>

16 16 

17| Decisión | Lo que está eligiendo | Referencia |17| Decisión | Lo que está eligiendo | Referencia |

18| :------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |18| :- | :- | :- |

19| [Elegir su proveedor de API](#choose-your-api-provider) | Dónde Claude Code se autentica y cómo se factura | [Authentication](/docs/es/authentication), [Amazon Bedrock](/docs/es/amazon-bedrock), [Google Cloud's Agent Platform](/docs/es/google-vertex-ai), [Microsoft Foundry](/docs/es/microsoft-foundry) |19| [Elegir su proveedor de API](#choose-your-api-provider) | Dónde Claude Code se autentica y cómo se factura | [Authentication](/docs/es/authentication), [Amazon Bedrock](/docs/es/amazon-bedrock), [Google Cloud's Agent Platform](/docs/es/google-vertex-ai), [Microsoft Foundry](/docs/es/microsoft-foundry) |

20| [Decidir cómo llega la configuración a los dispositivos](#decide-how-settings-reach-devices) | Cómo la política administrada llega a las máquinas de los desarrolladores | [Server-managed settings](/docs/es/server-managed-settings), [Delivery mechanisms](/docs/es/managed-settings#delivery-mechanisms) |20| [Decidir cómo llega la configuración a los dispositivos](#decide-how-settings-reach-devices) | Cómo la política administrada llega a las máquinas de los desarrolladores | [Server-managed settings](/docs/es/server-managed-settings), [Delivery mechanisms](/docs/es/managed-settings#delivery-mechanisms) |

21| [Decidir qué aplicar](#decide-what-to-enforce) | Qué herramientas, comandos e integraciones están permitidas | [Permissions](/docs/es/permissions), [Sandboxing](/docs/es/sandboxing) |21| [Decidir qué aplicar](#decide-what-to-enforce) | Qué herramientas, comandos e integraciones están permitidas | [Permissions](/docs/es/permissions), [Sandboxing](/docs/es/sandboxing) |


29Claude Code se conecta a Claude a través de uno de varios proveedores de API. Su elección afecta la facturación, la autenticación, qué postura de cumplimiento hereda y qué características de Claude Code pueden usar sus desarrolladores.29Claude Code se conecta a Claude a través de uno de varios proveedores de API. Su elección afecta la facturación, la autenticación, qué postura de cumplimiento hereda y qué características de Claude Code pueden usar sus desarrolladores.

30 30 

31| Proveedor | Elija esto cuando |31| Proveedor | Elija esto cuando |

32| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |32| :- | :- |

33| Claude for Teams / Enterprise | Desea Claude Code y claude.ai bajo una suscripción por asiento con ninguna infraestructura para ejecutar. Esta es la recomendación predeterminada. |33| Claude for Teams / Enterprise | Desea Claude Code y claude.ai bajo una suscripción por asiento con ninguna infraestructura para ejecutar. Esta es la recomendación predeterminada. |

34| Claude Console | Es API-first o desea facturación de pago por uso |34| Claude Console | Es API-first o desea facturación de pago por uso |

35| Amazon Bedrock | Desea heredar controles de cumplimiento y facturación de AWS existentes |35| Amazon Bedrock | Desea heredar controles de cumplimiento y facturación de AWS existentes |


49La configuración administrada define la política de la organización. Claude Code comprueba las cuatro fuentes en la tabla siguiente en orden de prioridad. [Cómo Claude Code combina fuentes administradas](/docs/es/managed-settings#precedence-within-the-managed-tier) indica cuáles de ellas se aplican, qué cambia un asistente de política y cómo componer cada fuente. La tabla es el mapa de decisión.49La configuración administrada define la política de la organización. Claude Code comprueba las cuatro fuentes en la tabla siguiente en orden de prioridad. [Cómo Claude Code combina fuentes administradas](/docs/es/managed-settings#precedence-within-the-managed-tier) indica cuáles de ellas se aplican, qué cambia un asistente de política y cómo componer cada fuente. La tabla es el mapa de decisión.

50 50 

51| Mecanismo | Entrega | Prioridad | Plataformas |51| Mecanismo | Entrega | Prioridad | Plataformas |

52| :---------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------- | :------------- |52| :- | :- | :- | :- |

53| Server-managed | Consola de administración de claude.ai, o una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway) autohospedada para inicios de sesión de puerta de enlace | Más alta | Todas |53| Server-managed | Consola de administración de claude.ai, o una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway) autohospedada para inicios de sesión de puerta de enlace | Más alta | Todas |

54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Alta | macOS, Windows |54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Alta | macOS, Windows |

55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux y WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Media | Todas |55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux y WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Media | Todas |


94La configuración administrada puede bloquear herramientas, ejecución de sandbox, restringir servidores MCP y fuentes de plugins, y controlar qué hooks se ejecutan. Cada fila es una superficie de control con las claves de configuración que la impulsan.94La configuración administrada puede bloquear herramientas, ejecución de sandbox, restringir servidores MCP y fuentes de plugins, y controlar qué hooks se ejecutan. Cada fila es una superficie de control con las claves de configuración que la impulsan.

95 95 

96| Control | Lo que hace | Configuraciones clave |96| Control | Lo que hace | Configuraciones clave |

97| :------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |97| :- | :- | :- |

98| [Permission rules](/docs/es/permissions) | Permitir, preguntar o denegar herramientas y comandos específicos | `permissions.allow`, `permissions.deny` |98| [Permission rules](/docs/es/permissions) | Permitir, preguntar o denegar herramientas y comandos específicos | `permissions.allow`, `permissions.deny` |

99| [Permission lockdown](/docs/es/permissions#managed-only-settings) | Hacer que la configuración administrada sea la [única fuente de configuración de reglas de permisos](/docs/es/settings-reference#allowmanagedpermissionrulesonly). Deshabilitar `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |99| [Permission lockdown](/docs/es/permissions#managed-only-settings) | Hacer que la configuración administrada sea la [única fuente de configuración de reglas de permisos](/docs/es/settings-reference#allowmanagedpermissionrulesonly). Deshabilitar `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

100| [Starting permission mode](/docs/es/permission-modes#which-mode-a-session-starts-in) | Elegir el modo de permisos en el que comienzan las sesiones de terminal de los desarrolladores en lugar del modo de permisos inicial integrado, o eliminar el modo automático. La extensión de VS Code lee un `defaultMode` que establece solo en planes Pro, Max y Team; [Switch permission modes](/docs/es/permission-modes#switch-permission-modes) enumera lo que lee la extensión | `permissions.defaultMode`, `permissions.disableAutoMode` |100| [Starting permission mode](/docs/es/permission-modes#which-mode-a-session-starts-in) | Elegir el modo de permisos en el que comienzan las sesiones de terminal de los desarrolladores en lugar del modo de permisos inicial integrado, o eliminar el modo automático. La extensión de VS Code lee un `defaultMode` que establece solo en planes Pro, Max y Team; [Switch permission modes](/docs/es/permission-modes#switch-permission-modes) enumera lo que lee la extensión | `permissions.defaultMode`, `permissions.disableAutoMode` |


135Elija monitoreo basado en lo que necesita reportar. Los paneles, las API y los controles de gasto difieren entre los planes Claude for Teams o Enterprise y las organizaciones de Claude Console, así que verifique la columna Disponibilidad antes de planificar su reporte alrededor de una capacidad.135Elija monitoreo basado en lo que necesita reportar. Los paneles, las API y los controles de gasto difieren entre los planes Claude for Teams o Enterprise y las organizaciones de Claude Console, así que verifique la columna Disponibilidad antes de planificar su reporte alrededor de una capacidad.

136 136 

137| Capacidad | Lo que obtiene | Disponibilidad | Dónde comenzar |137| Capacidad | Lo que obtiene | Disponibilidad | Dónde comenzar |

138| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------- |138| :- | :- | :- | :- |

139| Usage monitoring | Exportación de OpenTelemetry de sesiones, herramientas y tokens | Todos los proveedores | [Monitoring usage](/docs/es/monitoring-usage) |139| Usage monitoring | Exportación de OpenTelemetry de sesiones, herramientas y tokens | Todos los proveedores | [Monitoring usage](/docs/es/monitoring-usage) |

140| Analytics dashboard | Métricas de adopción y contribución con una tabla de clasificación en Teams / Enterprise; métricas de uso y gasto por usuario en Console | Teams / Enterprise en [claude.ai/analytics](https://claude.ai/analytics/claude-code), Console en [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | [Analytics](/docs/es/analytics) |140| Analytics dashboard | Métricas de adopción y contribución con una tabla de clasificación en Teams / Enterprise; métricas de uso y gasto por usuario en Console | Teams / Enterprise en [claude.ai/analytics](https://claude.ai/analytics/claude-code), Console en [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | [Analytics](/docs/es/analytics) |

141| Programmatic reporting | Datos de uso y costo por usuario a través de una API | [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) para Enterprise, [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) para Console | [Costs](/docs/es/costs#manage-costs-for-your-organization) |141| Programmatic reporting | Datos de uso y costo por usuario a través de una API | [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) para Enterprise, [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) para Console | [Costs](/docs/es/costs#manage-costs-for-your-organization) |


150En planes de Team, Enterprise, Claude API y proveedores de nube, Anthropic no entrena modelos con su código o indicaciones. Su proveedor de API determina la retención y la postura de cumplimiento.150En planes de Team, Enterprise, Claude API y proveedores de nube, Anthropic no entrena modelos con su código o indicaciones. Su proveedor de API determina la retención y la postura de cumplimiento.

151 151 

152| Tema | Lo que debe saber | Dónde comenzar |152| Tema | Lo que debe saber | Dónde comenzar |

153| :------------------------ | :------------------------------------------------------------------------------------------- | :--------------------------------------------- |153| :- | :- | :- |

154| Data usage policy | Qué recopila Anthropic, cuánto tiempo se retiene, qué nunca se usa para entrenamiento | [Data usage](/docs/es/data-usage) |154| Data usage policy | Qué recopila Anthropic, cuánto tiempo se retiene, qué nunca se usa para entrenamiento | [Data usage](/docs/es/data-usage) |

155| Zero Data Retention (ZDR) | Nada almacenado después de que se completa la solicitud. Disponible en Claude for Enterprise | [Zero data retention](/docs/es/zero-data-retention) |155| Zero Data Retention (ZDR) | Nada almacenado después de que se completa la solicitud. Disponible en Claude for Enterprise | [Zero data retention](/docs/es/zero-data-retention) |

156| Security architecture | Modelo de red, cifrado, autenticación, pista de auditoría | [Security](/docs/es/security) |156| Security architecture | Modelo de red, cifrado, autenticación, pista de auditoría | [Security](/docs/es/security) |

advisor.md +3 −3

Details

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

99 99 

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

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

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

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

104| Sonnet 5 | Fable, Opus 4.7 o posterior, Sonnet 5 | Un advisor Sonnet 4.6 se rechaza, y la API rechaza un advisor Opus 4.6 |104| Sonnet 5 | Fable, Opus 4.7 o posterior, Sonnet 5 | Un advisor Sonnet 4.6 se rechaza, y la API rechaza un advisor Opus 4.6 |


137Cualquier emparejamiento aceptado funciona. Estas combinaciones equilibran el costo contra la capacidad de diferentes formas:137Cualquier emparejamiento aceptado funciona. Estas combinaciones equilibran el costo contra la capacidad de diferentes formas:

138 138 

139| Emparejamiento | Cuándo usar |139| Emparejamiento | Cuándo usar |

140| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |140| - | - |

141| Sonnet principal + advisor Opus | Sonnet maneja el trabajo rutinario y escala la planificación, fallos ambiguos y verificaciones de finalización a Opus |141| Sonnet principal + advisor Opus | Sonnet maneja el trabajo rutinario y escala la planificación, fallos ambiguos y verificaciones de finalización a Opus |

142| Sonnet principal + advisor Fable | Orientación de Fable en puntos de decisión sin ejecutar Fable en todo. Requiere acceso a Fable |142| Sonnet principal + advisor Fable | Orientación de Fable en puntos de decisión sin ejecutar Fable en todo. Requiere acceso a Fable |

143| Haiku principal + advisor Opus | Modelo principal de menor costo con planificación fuerte. Espere un costo más alto que Haiku solo pero menor que cambiar el modelo principal a Sonnet u Opus |143| Haiku principal + advisor Opus | Modelo principal de menor costo con planificación fuerte. Espere un costo más alto que Haiku solo pero menor que cambiar el modelo principal a Sonnet u Opus |


218El advisor es una de varias formas de combinar fortalezas de modelos. Elija según cuándo desee que un segundo modelo esté involucrado.218El advisor es una de varias formas de combinar fortalezas de modelos. Elija según cuándo desee que un segundo modelo esté involucrado.

219 219 

220| Enfoque | Cuándo se ejecuta el modelo más fuerte | Cómo comienza |220| Enfoque | Cuándo se ejecuta el modelo más fuerte | Cómo comienza |

221| ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |221| - | - | - |

222| Herramienta advisor | En puntos de decisión a mitad de tarea | Claude la llama cuando necesita orientación |222| Herramienta advisor | En puntos de decisión a mitad de tarea | Claude la llama cuando necesita orientación |

223| [`opusplan`](/docs/es/model-config#opusplan-model-setting) | Durante el modo plan cuando [permitido por `availableModels`](/docs/es/model-config#restrict-model-selection), luego cambia a Sonnet para ejecución | Usted entra en modo plan |223| [`opusplan`](/docs/es/model-config#opusplan-model-setting) | Durante el modo plan cuando [permitido por `availableModels`](/docs/es/model-config#restrict-model-selection), luego cambia a Sonnet para ejecución | Usted entra en modo plan |

224| [Subagents](/docs/es/sub-agents#choose-a-model) con `model` establecido | Para toda la subtarea delegada | Claude delega, o usted invoca el subagent |224| [Subagents](/docs/es/sub-agents#choose-a-model) con `model` establecido | Para toda la subtarea delegada | Claude delega, o usted invoca el subagent |

Details

165El SDK incluye las mismas herramientas que potencian Claude Code:165El SDK incluye las mismas herramientas que potencian Claude Code:

166 166 

167| Categoría | Herramientas | Qué hacen |167| Categoría | Herramientas | Qué hacen |

168| :------------------------- | :-------------------------------------------------------------- | :------------------------------------------------------------------------------------- |168| :- | :- | :- |

169| **Operaciones de archivo** | `Read`, `Edit`, `Write` | Leer, modificar y crear archivos |169| **Operaciones de archivo** | `Read`, `Edit`, `Write` | Leer, modificar y crear archivos |

170| **Búsqueda** | `Glob`, `Grep` | Encontrar archivos por patrón, buscar contenido con regex |170| **Búsqueda** | `Glob`, `Grep` | Encontrar archivos por patrón, buscar contenido con regex |

171| **Ejecución** | `Bash` | Ejecutar comandos de shell, scripts, operaciones de git |171| **Ejecución** | `Bash` | Ejecutar comandos de shell, scripts, operaciones de git |


214</h3>214</h3>

215 215 

216| Opción | Qué controla | Predeterminado |216| Opción | Qué controla | Predeterminado |

217| :----------------------------------------------------- | :------------------------------------------------------ | :------------- |217| :- | :- | :- |

218| Máximo de turnos (`max_turns` / `maxTurns`) | Máximo de viajes de ida y vuelta de uso de herramientas | Sin límite |218| Máximo de turnos (`max_turns` / `maxTurns`) | Máximo de viajes de ida y vuelta de uso de herramientas | Sin límite |

219| Presupuesto máximo (`max_budget_usd` / `maxBudgetUsd`) | Costo máximo antes de detener | Sin límite |219| Presupuesto máximo (`max_budget_usd` / `maxBudgetUsd`) | Costo máximo antes de detener | Sin límite |

220 220 


231La opción `effort` controla cuánto razonamiento aplica Claude. Los niveles de esfuerzo más bajos usan menos tokens por turno y reducen el costo. No todos los modelos soportan el parámetro de esfuerzo. Vea [Esfuerzo](https://platform.claude.com/docs/en/build-with-claude/effort) para qué modelos lo soportan.231La opción `effort` controla cuánto razonamiento aplica Claude. Los niveles de esfuerzo más bajos usan menos tokens por turno y reducen el costo. No todos los modelos soportan el parámetro de esfuerzo. Vea [Esfuerzo](https://platform.claude.com/docs/en/build-with-claude/effort) para qué modelos lo soportan.

232 232 

233| Nivel | Comportamiento | Bueno para |233| Nivel | Comportamiento | Bueno para |

234| :--------- | :-------------------------------------- | :------------------------------------------------------------------------------------------------------ |234| :- | :- | :- |

235| `"low"` | Razonamiento mínimo, respuestas rápidas | Búsquedas de archivos, listado de directorios |235| `"low"` | Razonamiento mínimo, respuestas rápidas | Búsquedas de archivos, listado de directorios |

236| `"medium"` | Razonamiento equilibrado | Ediciones rutinarias, tareas estándar |236| `"medium"` | Razonamiento equilibrado | Ediciones rutinarias, tareas estándar |

237| `"high"` | Análisis exhaustivo | Refactorizaciones, depuración |237| `"high"` | Análisis exhaustivo | Refactorizaciones, depuración |


253La opción de modo de permiso (`permission_mode` en Python, `permissionMode` en TypeScript) controla si el agente solicita aprobación antes de usar herramientas:253La opción de modo de permiso (`permission_mode` en Python, `permissionMode` en TypeScript) controla si el agente solicita aprobación antes de usar herramientas:

254 254 

255| Modo | Comportamiento | Caso de uso |255| Modo | Comportamiento | Caso de uso |

256| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |256| :- | :- | :- |

257| `"default"` | Las llamadas de herramientas que necesitan aprobación y no están cubiertas por reglas de permitir activan su devolución de llamada `canUseTool`; sin devolución de llamada significa denegar | Aplicaciones interactivas con una devolución de llamada de aprobación personalizada |257| `"default"` | Las llamadas de herramientas que necesitan aprobación y no están cubiertas por reglas de permitir activan su devolución de llamada `canUseTool`; sin devolución de llamada significa denegar | Aplicaciones interactivas con una devolución de llamada de aprobación personalizada |

258| `"acceptEdits"` | Aprueba automáticamente ediciones de archivo y comandos comunes del sistema de archivos (`mkdir`, `touch`, `mv`, `cp`, etc.); otros comandos de Bash siguen reglas predeterminadas | Confía en las ediciones de Claude y desea una iteración más rápida, como durante la creación de prototipos o cuando trabaja en un directorio aislado |258| `"acceptEdits"` | Aprueba automáticamente ediciones de archivo y comandos comunes del sistema de archivos (`mkdir`, `touch`, `mv`, `cp`, etc.); otros comandos de Bash siguen reglas predeterminadas | Confía en las ediciones de Claude y desea una iteración más rápida, como durante la creación de prototipos o cuando trabaja en un directorio aislado |

259| `"plan"` | Claude explora y planifica sin editar sus archivos fuente; las ediciones de archivo nunca se aprueban automáticamente y se solicitan a través de su devolución de llamada `canUseTool` | Desea que Claude proponga cambios sin ejecutarlos, como durante la revisión de código o cuando necesita aprobar cambios antes de que se realicen |259| `"plan"` | Claude explora y planifica sin editar sus archivos fuente; las ediciones de archivo nunca se aprueban automáticamente y se solicitan a través de su devolución de llamada `canUseTool` | Desea que Claude proponga cambios sin ejecutarlos, como durante la revisión de código o cuando necesita aprobar cambios antes de que se realicen |


282Aquí está cómo cada componente afecta el contexto en el SDK:282Aquí está cómo cada componente afecta el contexto en el SDK:

283 283 

284| Fuente | Cuándo se carga | Impacto |284| Fuente | Cuándo se carga | Impacto |

285| :------------------------------- | :----------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |285| :- | :- | :- |

286| **Prompt del sistema** | Cada solicitud | Costo fijo pequeño, siempre presente |286| **Prompt del sistema** | Cada solicitud | Costo fijo pequeño, siempre presente |

287| **Archivos CLAUDE.md** | Inicio de sesión, a través de [`settingSources`](/docs/es/agent-sdk/claude-code-features) | Contenido completo en cada solicitud (pero almacenado en caché de prompt, así que solo la primera solicitud paga el costo completo) |287| **Archivos CLAUDE.md** | Inicio de sesión, a través de [`settingSources`](/docs/es/agent-sdk/claude-code-features) | Contenido completo en cada solicitud (pero almacenado en caché de prompt, así que solo la primera solicitud paga el costo completo) |

288| **Definiciones de herramientas** | Cada solicitud; esquemas MCP diferidos por defecto | Los esquemas de herramientas integradas se cargan en cada solicitud. [Búsqueda de herramientas](/docs/es/agent-sdk/mcp#mcp-tool-search) difiere esquemas de herramientas MCP por defecto, retrocediendo a carga anticipada en modelos no compatibles y ciertas plataformas. Vea [Configurar búsqueda de herramientas](/docs/es/agent-sdk/tool-search#configure-tool-search) para la matriz completa |288| **Definiciones de herramientas** | Cada solicitud; esquemas MCP diferidos por defecto | Los esquemas de herramientas integradas se cargan en cada solicitud. [Búsqueda de herramientas](/docs/es/agent-sdk/mcp#mcp-tool-search) difiere esquemas de herramientas MCP por defecto, retrocediendo a carga anticipada en modelos no compatibles y ciertas plataformas. Vea [Configurar búsqueda de herramientas](/docs/es/agent-sdk/tool-search#configure-tool-search) para la matriz completa |


353Cuando el bucle termina, el `ResultMessage` le dice qué sucedió y le proporciona la salida. El campo `subtype` (disponible en ambos SDK) es la forma principal de verificar el estado de terminación.353Cuando el bucle termina, el `ResultMessage` le dice qué sucedió y le proporciona la salida. El campo `subtype` (disponible en ambos SDK) es la forma principal de verificar el estado de terminación.

354 354 

355| Subtipo de resultado | Qué sucedió | ¿Campo `result` disponible? |355| Subtipo de resultado | Qué sucedió | ¿Campo `result` disponible? |

356| :------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------: |356| :- | :- | :-: |

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

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

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


387[Hooks](/docs/es/agent-sdk/hooks) son devoluciones de llamada que se disparan en puntos específicos del bucle: antes de que se ejecute una herramienta, después de que regresa, cuando el agente termina, y así sucesivamente. Algunos hooks comúnmente usados son:387[Hooks](/docs/es/agent-sdk/hooks) son devoluciones de llamada que se disparan en puntos específicos del bucle: antes de que se ejecute una herramienta, después de que regresa, cuando el agente termina, y así sucesivamente. Algunos hooks comúnmente usados son:

388 388 

389| Hook | Cuándo se dispara | Usos comunes |389| Hook | Cuándo se dispara | Usos comunes |

390| :------------------------------- | :------------------------------------------ | :------------------------------------------------ |390| :- | :- | :- |

391| `PreToolUse` | Antes de que se ejecute una herramienta | Validar entradas, bloquear comandos peligrosos |391| `PreToolUse` | Antes de que se ejecute una herramienta | Validar entradas, bloquear comandos peligrosos |

392| `PostToolUse` | Después de que regresa una herramienta | Auditar salidas, activar efectos secundarios |392| `PostToolUse` | Después de que regresa una herramienta | Auditar salidas, activar efectos secundarios |

393| `UserPromptSubmit` | Cuando se envía un prompt | Inyectar contexto adicional en prompts |393| `UserPromptSubmit` | Cuando se envía un prompt | Inyectar contexto adicional en prompts |

Details

76Cada fuente carga la configuración desde una ubicación específica, donde `<cwd>` es el directorio de trabajo que pasa a través de la opción `cwd`, o el directorio actual del proceso si no está establecido. Para la definición de tipo completa, consulte [`SettingSource`](/docs/es/agent-sdk/typescript#settingsource) (TypeScript) o [`SettingSource`](/docs/es/agent-sdk/python#settingsource) (Python).76Cada fuente carga la configuración desde una ubicación específica, donde `<cwd>` es el directorio de trabajo que pasa a través de la opción `cwd`, o el directorio actual del proceso si no está establecido. Para la definición de tipo completa, consulte [`SettingSource`](/docs/es/agent-sdk/typescript#settingsource) (TypeScript) o [`SettingSource`](/docs/es/agent-sdk/python#settingsource) (Python).

77 77 

78| Fuente | Qué carga | Ubicación |78| Fuente | Qué carga | Ubicación |

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

80| `"project"` | `settings.json` del proyecto y hooks; CLAUDE.md del proyecto y `.claude/rules/*.md`; skills, comandos y subagentes del proyecto | `<cwd>/.claude/` para `settings.json` y hooks; `<cwd>` y cada directorio padre para CLAUDE.md y rules; `<cwd>` y cada directorio padre hasta la raíz del repositorio para skills, comandos y subagentes, más las carpetas `.claude/skills/`, `.claude/commands/` y `.claude/agents/` de cada directorio que pase a través de la opción `additionalDirectories` o `add_dirs`, que el SDK pasa a Claude Code como [`--add-dir`](/docs/es/permissions#additional-directories-grant-file-access-not-configuration) |80| `"project"` | `settings.json` del proyecto y hooks; CLAUDE.md del proyecto y `.claude/rules/*.md`; skills, comandos y subagentes del proyecto | `<cwd>/.claude/` para `settings.json` y hooks; `<cwd>` y cada directorio padre para CLAUDE.md y rules; `<cwd>` y cada directorio padre hasta la raíz del repositorio para skills, comandos y subagentes, más las carpetas `.claude/skills/`, `.claude/commands/` y `.claude/agents/` de cada directorio que pase a través de la opción `additionalDirectories` o `add_dirs`, que el SDK pasa a Claude Code como [`--add-dir`](/docs/es/permissions#additional-directories-grant-file-access-not-configuration) |

81| `"user"` | `settings.json` del usuario; CLAUDE.md del usuario y `~/.claude/rules/*.md`; skills, comandos y subagentes del usuario | `~/.claude/` para `settings.json`, CLAUDE.md y rules; `~/.claude/skills/`, `~/.claude/commands/` y `~/.claude/agents/` para skills, comandos y subagentes |81| `"user"` | `settings.json` del usuario; CLAUDE.md del usuario y `~/.claude/rules/*.md`; skills, comandos y subagentes del usuario | `~/.claude/` para `settings.json`, CLAUDE.md y rules; `~/.claude/skills/`, `~/.claude/commands/` y `~/.claude/agents/` para skills, comandos y subagentes |

82| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `<cwd>/.claude/` para `settings.local.json`; `<cwd>` y cada directorio padre para CLAUDE.local.md |82| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `<cwd>/.claude/` para `settings.local.json`; `<cwd>` y cada directorio padre para CLAUDE.local.md |


92`settingSources` cubre la configuración de usuario, proyecto y local. Algunas entradas se leen independientemente de su valor:92`settingSources` cubre la configuración de usuario, proyecto y local. Algunas entradas se leen independientemente de su valor:

93 93 

94| Entrada | Comportamiento | Para deshabilitar |94| Entrada | Comportamiento | Para deshabilitar |

95| :--------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |95| :- | :- | :- |

96| Configuración de políticas administradas | Política administrada por el punto de conexión, ya sea plist MDM, política de registro o archivos de configuración administrada, se carga desde el host. [La configuración administrada por servidor](/docs/es/server-managed-settings) se obtiene en una [configuración elegible](/docs/es/server-managed-settings#platform-availability) cuando la sesión se autentica con un inicio de sesión OAuth de la organización, una clave API configurada directamente, o un [perfil de Anthropic](/docs/es/authentication#anthropic-profiles-and-federation-credentials) `user_oauth` | Política de punto de conexión: elimine el archivo de configuración administrada, plist o política de registro del host. Configuración administrada por servidor: un [Propietario](/docs/es/server-managed-settings#access-control) en su organización de Claude los controla; no se puede deshabilitar desde el SDK |96| Configuración de políticas administradas | Política administrada por el punto de conexión, ya sea plist MDM, política de registro o archivos de configuración administrada, se carga desde el host. [La configuración administrada por servidor](/docs/es/server-managed-settings) se obtiene en una [configuración elegible](/docs/es/server-managed-settings#platform-availability) cuando la sesión se autentica con un inicio de sesión OAuth de la organización, una clave API configurada directamente, o un [perfil de Anthropic](/docs/es/authentication#anthropic-profiles-and-federation-credentials) `user_oauth` | Política de punto de conexión: elimine el archivo de configuración administrada, plist o política de registro del host. Configuración administrada por servidor: un [Propietario](/docs/es/server-managed-settings#access-control) en su organización de Claude los controla; no se puede deshabilitar desde el SDK |

97| Configuración global `~/.claude.json` | Siempre se lee | Reubique con `CLAUDE_CONFIG_DIR` en `env` |97| Configuración global `~/.claude.json` | Siempre se lee | Reubique con `CLAUDE_CONFIG_DIR` en `env` |

98| Memoria automática en `~/.claude/projects/<project>/memory/` | Se carga en el mensaje del sistema al inicio de la sesión. El agente escribe nuevos recuerdos allí con las herramientas estándar `Write` y `Edit` en lugar de una herramienta de memoria dedicada, por lo que esas herramientas deben estar habilitadas para que el agente guarde recuerdos | Establezca `autoMemoryEnabled: false` en la configuración, o `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` en `env` |98| Memoria automática en `~/.claude/projects/<project>/memory/` | Se carga en el mensaje del sistema al inicio de la sesión. El agente escribe nuevos recuerdos allí con las herramientas estándar `Write` y `Edit` en lugar de una herramienta de memoria dedicada, por lo que esas herramientas deben estar habilitadas para que el agente guarde recuerdos | Establezca `autoMemoryEnabled: false` en la configuración, o `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` en `env` |


114</h3>114</h3>

115 115 

116| Nivel | Ubicación | Cuándo se carga |116| Nivel | Ubicación | Cuándo se carga |

117| :--------------------------- | :------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------- |117| :- | :- | :- |

118| Proyecto (raíz) | `<cwd>/CLAUDE.md` o `<cwd>/.claude/CLAUDE.md` | `settingSources` incluye `"project"` |118| Proyecto (raíz) | `<cwd>/CLAUDE.md` o `<cwd>/.claude/CLAUDE.md` | `settingSources` incluye `"project"` |

119| Reglas del proyecto | `<cwd>/.claude/rules/*.md` y `.claude/rules/*.md` en cada directorio padre | `settingSources` incluye `"project"` |119| Reglas del proyecto | `<cwd>/.claude/rules/*.md` y `.claude/rules/*.md` en cada directorio padre | `settingSources` incluye `"project"` |

120| Proyecto (directorios padre) | Archivos `CLAUDE.md` en directorios por encima de `cwd` | `settingSources` incluye `"project"`, se carga al inicio de la sesión |120| Proyecto (directorios padre) | Archivos `CLAUDE.md` en directorios por encima de `cwd` | `settingSources` incluye `"project"`, se carga al inicio de la sesión |


286</h3>286</h3>

287 287 

288| Tipo de hook | Mejor para |288| Tipo de hook | Mejor para |

289| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |289| :- | :- |

290| **Sistema de archivos** (`settings.json`) | Compartir hooks entre sesiones CLI y SDK. Admite `"command"` (scripts de shell), `"http"` (POST a un punto final), `"mcp_tool"` (llamar a la herramienta de un servidor MCP conectado), `"prompt"` (LLM evalúa un mensaje), y `"agent"` (genera un agente verificador). Se ejecutan en el agente principal y en cualquier subagente que genere. |290| **Sistema de archivos** (`settings.json`) | Compartir hooks entre sesiones CLI y SDK. Admite `"command"` (scripts de shell), `"http"` (POST a un punto final), `"mcp_tool"` (llamar a la herramienta de un servidor MCP conectado), `"prompt"` (LLM evalúa un mensaje), y `"agent"` (genera un agente verificador). Se ejecutan en el agente principal y en cualquier subagente que genere. |

291| **Programático** (devoluciones de llamada en `query()`) | Lógica específica de la aplicación, decisiones estructuradas e integración en proceso. Estas también se ejecutan dentro de subagentes. La entrada del hook, el primer argumento de la devolución de llamada, lleva campos `agent_id` y `agent_type` que identifican qué agente activó el hook. |291| **Programático** (devoluciones de llamada en `query()`) | Lógica específica de la aplicación, decisiones estructuradas e integración en proceso. Estas también se ejecutan dentro de subagentes. La entrada del hook, el primer argumento de la devolución de llamada, lleva campos `agent_id` y `agent_type` que identifican qué agente activó el hook. |

292 292 


303El Agent SDK te proporciona acceso a varias formas de extender el comportamiento de tu agente. Si no estás seguro de cuál usar, esta tabla asigna objetivos comunes al enfoque correcto.303El Agent SDK te proporciona acceso a varias formas de extender el comportamiento de tu agente. Si no estás seguro de cuál usar, esta tabla asigna objetivos comunes al enfoque correcto.

304 304 

305| Quieres... | Usa | Superficie del SDK |305| Quieres... | Usa | Superficie del SDK |

306| :---------------------------------------------------------------------------------------------------------------- | :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |306| :- | :- | :- |

307| Establecer convenciones de proyecto que tu agente siempre sigue | [CLAUDE.md](/docs/es/memory) | `settingSources: ["project"]` lo carga automáticamente |307| Establecer convenciones de proyecto que tu agente siempre sigue | [CLAUDE.md](/docs/es/memory) | `settingSources: ["project"]` lo carga automáticamente |

308| Dar al agente material de referencia que carga cuando es relevante | [Skills](/docs/es/agent-sdk/skills) | opción `settingSources` + `skills` |308| Dar al agente material de referencia que carga cuando es relevante | [Skills](/docs/es/agent-sdk/skills) | opción `settingSources` + `skills` |

309| Ejecutar un flujo de trabajo reutilizable (desplegar, revisar, lanzar) | [User-invocable skills](/docs/es/agent-sdk/skills) | opción `settingSources` + `skills` |309| Ejecutar un flujo de trabajo reutilizable (desplegar, revisar, lanzar) | [User-invocable skills](/docs/es/agent-sdk/skills) | opción `settingSources` + `skills` |

Details

287La tabla a continuación asigna cada opción a la característica que configura. Para opciones que esta página no cubre, consulta las referencias de [TypeScript](/docs/es/agent-sdk/typescript#options) y [Python](/docs/es/agent-sdk/python#claudeagentoptions). Si conoces tu objetivo pero no qué opción lo sirve, comienza desde [Elige la característica correcta](/docs/es/agent-sdk/claude-code-features#choose-the-right-feature).287La tabla a continuación asigna cada opción a la característica que configura. Para opciones que esta página no cubre, consulta las referencias de [TypeScript](/docs/es/agent-sdk/typescript#options) y [Python](/docs/es/agent-sdk/python#claudeagentoptions). Si conoces tu objetivo pero no qué opción lo sirve, comienza desde [Elige la característica correcta](/docs/es/agent-sdk/claude-code-features#choose-the-right-feature).

288 288 

289| TypeScript | Python | Controla | Cubierto en |289| TypeScript | Python | Controla | Cubierto en |

290| ------------------------- | --------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |290| - | - | - | - |

291| `permissionMode` | `permission_mode` | Qué puede hacer el agente sin aprobación | [Configurar permisos](/docs/es/agent-sdk/permissions) |291| `permissionMode` | `permission_mode` | Qué puede hacer el agente sin aprobación | [Configurar permisos](/docs/es/agent-sdk/permissions) |

292| `allowedTools` | `allowed_tools` | Qué llamadas de herramientas están preaprobadas | [Configurar permisos](/docs/es/agent-sdk/permissions) |292| `allowedTools` | `allowed_tools` | Qué llamadas de herramientas están preaprobadas | [Configurar permisos](/docs/es/agent-sdk/permissions) |

293| `canUseTool` | `can_use_tool` | Tu devolución de llamada de aprobación para llamadas de herramientas | [Manejar solicitudes de aprobación de herramientas](/docs/es/agent-sdk/user-input#handle-tool-approval-requests) |293| `canUseTool` | `can_use_tool` | Tu devolución de llamada de aprobación para llamadas de herramientas | [Manejar solicitudes de aprobación de herramientas](/docs/es/agent-sdk/user-input#handle-tool-approval-requests) |

Details

96Los tres campos a nivel de resultado difieren en lo que cuentan cuando el agente genera [subagentes](/docs/es/agent-sdk/subagents). Use `modelUsage`, o `model_usage` en Python, para contabilidad de tokens de árbol completo; el campo `usage` subestima tan pronto como ocurre anidamiento.96Los tres campos a nivel de resultado difieren en lo que cuentan cuando el agente genera [subagentes](/docs/es/agent-sdk/subagents). Use `modelUsage`, o `model_usage` en Python, para contabilidad de tokens de árbol completo; el campo `usage` subestima tan pronto como ocurre anidamiento.

97 97 

98| Campo | Actividad de subagente |98| Campo | Actividad de subagente |

99| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |99| - | - |

100| `usage` | Excluido. Cuenta solo el bucle del agente de nivel superior, por lo que los tokens consumidos dentro de subagentes no se agregan |100| `usage` | Excluido. Cuenta solo el bucle del agente de nivel superior, por lo que los tokens consumidos dentro de subagentes no se agregan |

101| `total_cost_usd` | Incluido. Cuenta solicitudes de subagentes junto con el bucle de nivel superior |101| `total_cost_usd` | Incluido. Cuenta solicitudes de subagentes junto con el bucle de nivel superior |

102| `modelUsage` / `model_usage` | Incluido. Cuenta solicitudes de subagentes junto con el bucle de nivel superior, desglosado por modelo |102| `modelUsage` / `model_usage` | Incluido. Cuenta solicitudes de subagentes junto con el bucle de nivel superior, desglosado por modelo |

Details

13</h2>13</h2>

14 14 

15| Si desea... | Haga esto |15| Si desea... | Haga esto |

16| :-------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |16| :- | :- |

17| Definir una herramienta | Use [`@tool`](/docs/es/agent-sdk/python#tool) (Python) o [`tool()`](/docs/es/agent-sdk/typescript#tool) (TypeScript) con un nombre, descripción, esquema y controlador. Vea [Crear una herramienta personalizada](#create-a-custom-tool). |17| Definir una herramienta | Use [`@tool`](/docs/es/agent-sdk/python#tool) (Python) o [`tool()`](/docs/es/agent-sdk/typescript#tool) (TypeScript) con un nombre, descripción, esquema y controlador. Vea [Crear una herramienta personalizada](#create-a-custom-tool). |

18| Registrar una herramienta con Claude | Envuelva en `create_sdk_mcp_server` / `createSdkMcpServer` y pase a `mcpServers` en `query()`. Vea [Llamar a una herramienta personalizada](#call-a-custom-tool). |18| Registrar una herramienta con Claude | Envuelva en `create_sdk_mcp_server` / `createSdkMcpServer` y pase a `mcpServers` en `query()`. Vea [Llamar a una herramienta personalizada](#call-a-custom-tool). |

19| Preaprobación de una herramienta | Agregue a sus herramientas permitidas. Vea [Configurar herramientas permitidas](#configure-allowed-tools). |19| Preaprobación de una herramienta | Agregue a sus herramientas permitidas. Vea [Configurar herramientas permitidas](#configure-allowed-tools). |


282[Las anotaciones de herramientas](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations) son metadatos opcionales que describen cómo se comporta una herramienta. Páselas como el quinto argumento al helper `tool()` en TypeScript o a través del argumento de palabra clave `annotations` para el decorador `@tool` en Python. Todos los campos de sugerencia son booleanos.282[Las anotaciones de herramientas](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations) son metadatos opcionales que describen cómo se comporta una herramienta. Páselas como el quinto argumento al helper `tool()` en TypeScript o a través del argumento de palabra clave `annotations` para el decorador `@tool` en Python. Todos los campos de sugerencia son booleanos.

283 283 

284| Campo | Predeterminado | Significado |284| Campo | Predeterminado | Significado |

285| :---------------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------- |285| :- | :- | :- |

286| `readOnlyHint` | `false` | La herramienta no modifica su entorno. Controla si la herramienta puede llamarse en paralelo con otras herramientas de solo lectura. |286| `readOnlyHint` | `false` | La herramienta no modifica su entorno. Controla si la herramienta puede llamarse en paralelo con otras herramientas de solo lectura. |

287| `destructiveHint` | `true` | La herramienta puede realizar actualizaciones destructivas. Solo informativo. |287| `destructiveHint` | `true` | La herramienta puede realizar actualizaciones destructivas. Solo informativo. |

288| `idempotentHint` | `false` | Las llamadas repetidas con los mismos argumentos no tienen efecto adicional. Solo informativo. |288| `idempotentHint` | `false` | Las llamadas repetidas con los mismos argumentos no tienen efecto adicional. Solo informativo. |


338La opción `tools` y las listas permitidas/no permitidas afectan dos capas: disponibilidad, que controla si una herramienta aparece en el contexto de Claude, y permiso, que controla si una llamada se aprueba una vez que Claude intenta realizarla. `tools` y las entradas de `disallowedTools` con nombre simple cambian la disponibilidad. `allowedTools` y las reglas de `disallowedTools` con alcance cambian el permiso. Si nombra una de las [herramientas de seguimiento de tareas](/docs/es/agent-sdk/todo-tracking#model-availability) en `allowedTools`, Claude Code también opta por la sesión.338La opción `tools` y las listas permitidas/no permitidas afectan dos capas: disponibilidad, que controla si una herramienta aparece en el contexto de Claude, y permiso, que controla si una llamada se aprueba una vez que Claude intenta realizarla. `tools` y las entradas de `disallowedTools` con nombre simple cambian la disponibilidad. `allowedTools` y las reglas de `disallowedTools` con alcance cambian el permiso. Si nombra una de las [herramientas de seguimiento de tareas](/docs/es/agent-sdk/todo-tracking#model-availability) en `allowedTools`, Claude Code también opta por la sesión.

339 339 

340| Opción | Capa | Efecto |340| Opción | Capa | Efecto |

341| :------------------------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |341| :- | :- | :- |

342| `tools: ["Read", "Grep"]` | Disponibilidad | Solo las herramientas integradas enumeradas están en el contexto de Claude. Las herramientas integradas no enumeradas se eliminan. Las herramientas MCP no se ven afectadas. |342| `tools: ["Read", "Grep"]` | Disponibilidad | Solo las herramientas integradas enumeradas están en el contexto de Claude. Las herramientas integradas no enumeradas se eliminan. Las herramientas MCP no se ven afectadas. |

343| `tools: []` | Disponibilidad | Todas las herramientas integradas se eliminan. Claude solo puede usar sus herramientas MCP. |343| `tools: []` | Disponibilidad | Todas las herramientas integradas se eliminan. Claude solo puede usar sus herramientas MCP. |

344| herramientas permitidas | Permiso | Las herramientas enumeradas se ejecutan sin un aviso de permiso. Otras herramientas no enumeradas permanecen disponibles; las llamadas pasan por el [flujo de permiso](/docs/es/agent-sdk/permissions). |344| herramientas permitidas | Permiso | Las herramientas enumeradas se ejecutan sin un aviso de permiso. Otras herramientas no enumeradas permanecen disponibles; las llamadas pasan por el [flujo de permiso](/docs/es/agent-sdk/permissions). |


353Un error del controlador no detiene el bucle del agente. El servidor MCP en proceso del SDK detecta excepciones no capturadas y las devuelve como resultados de error, por lo que la forma en que informa un error determina lo que Claude lee, no si la consulta falla:353Un error del controlador no detiene el bucle del agente. El servidor MCP en proceso del SDK detecta excepciones no capturadas y las devuelve como resultados de error, por lo que la forma en que informa un error determina lo que Claude lee, no si la consulta falla:

354 354 

355| Qué sucede | Resultado |355| Qué sucede | Resultado |

356| :-------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |356| :- | :- |

357| El controlador lanza una excepción no capturada | El servidor MCP la convierte en un resultado de error que lleva el mensaje de excepción sin procesar. Claude ve ese mensaje y el bucle del agente continúa. |357| El controlador lanza una excepción no capturada | El servidor MCP la convierte en un resultado de error que lleva el mensaje de excepción sin procesar. Claude ve ese mensaje y el bucle del agente continúa. |

358| El controlador captura el error y devuelve `isError: true` (TS) / `"is_error": True` (Python) | Claude ve el mensaje que compone. Puede agregar contexto que la excepción sin procesar no tiene, como qué solicitud falló o qué intentar en su lugar. |358| El controlador captura el error y devuelve `isError: true` (TS) / `"is_error": True` (Python) | Claude ve el mensaje que compone. Puede agregar contexto que la excepción sin procesar no tiene, como qué solicitud falló o qué intentar en su lugar. |

359 359 


472Un bloque de imagen lleva los bytes de la imagen en línea, codificados como base64. No hay campo de URL. Para devolver una imagen que vive en una URL, búsquela en el controlador, lea los bytes de respuesta y codifíquelos en base64 antes de devolverlos. El resultado se procesa como entrada visual.472Un bloque de imagen lleva los bytes de la imagen en línea, codificados como base64. No hay campo de URL. Para devolver una imagen que vive en una URL, búsquela en el controlador, lea los bytes de respuesta y codifíquelos en base64 antes de devolverlos. El resultado se procesa como entrada visual.

473 473 

474| Campo | Tipo | Notas |474| Campo | Tipo | Notas |

475| :--------- | :-------- | :------------------------------------------------------------------------------------------ |475| :- | :- | :- |

476| `type` | `"image"` | |476| `type` | `"image"` | |

477| `data` | `string` | Bytes codificados en base64. Solo base64 sin procesar, sin prefijo `data:image/...;base64,` |477| `data` | `string` | Bytes codificados en base64. Solo base64 sin procesar, sin prefijo `data:image/...;base64,` |

478| `mimeType` | `string` | Requerido. Por ejemplo `image/png`, `image/jpeg`, `image/webp`, `image/gif` |478| `mimeType` | `string` | Requerido. Por ejemplo `image/png`, `image/jpeg`, `image/webp`, `image/gif` |


541Un bloque de recurso incrusta un contenido identificado por un URI. El URI es una etiqueta para que Claude la referencie; el contenido real se encuentra en el campo `text` o `blob` del bloque. Úselo cuando su herramienta produce algo que tiene sentido direccionar por nombre más adelante, como un archivo generado o un registro de un sistema externo.541Un bloque de recurso incrusta un contenido identificado por un URI. El URI es una etiqueta para que Claude la referencie; el contenido real se encuentra en el campo `text` o `blob` del bloque. Úselo cuando su herramienta produce algo que tiene sentido direccionar por nombre más adelante, como un archivo generado o un registro de un sistema externo.

542 542 

543| Campo | Tipo | Notas |543| Campo | Tipo | Notas |

544| :------------------ | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |544| :- | :- | :- |

545| `type` | `"resource"` | |545| `type` | `"resource"` | |

546| `resource.uri` | `string` | Identificador del contenido. Cualquier esquema de URI |546| `resource.uri` | `string` | Identificador del contenido. Cualquier esquema de URI |

547| `resource.text` | `string` | El contenido, si es texto. Proporcione este o `blob`, no ambos |547| `resource.text` | `string` | El contenido, si es texto. Proporcione este o `blob`, no ambos |

Details

149 Configure sus opciones de SDK para habilitar checkpointing y recibir UUIDs de checkpoint:149 Configure sus opciones de SDK para habilitar checkpointing y recibir UUIDs de checkpoint:

150 150 

151 | Opción | Python | TypeScript | Descripción |151 | Opción | Python | TypeScript | Descripción |

152 | --------------------------- | ------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------- |152 | - | - | - | - |

153 | Habilitar checkpointing | `enable_file_checkpointing=True` | `enableFileCheckpointing: true` | Rastrea cambios de archivos para reversión |153 | Habilitar checkpointing | `enable_file_checkpointing=True` | `enableFileCheckpointing: true` | Rastrea cambios de archivos para reversión |

154 | Recibir UUIDs de checkpoint | `extra_args={"replay-user-messages": None}` | `extraArgs: { 'replay-user-messages': null }` | Requerido para obtener UUIDs de mensajes de usuario en el flujo |154 | Recibir UUIDs de checkpoint | `extra_args={"replay-user-messages": None}` | `extraArgs: { 'replay-user-messages': null }` | Requerido para obtener UUIDs de mensajes de usuario en el flujo |

155 155 


718El checkpointing de archivos tiene las siguientes limitaciones:718El checkpointing de archivos tiene las siguientes limitaciones:

719 719 

720| Limitación | Descripción |720| Limitación | Descripción |

721| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |721| - | - |

722| Solo herramientas Write/Edit/NotebookEdit | Los cambios realizados a través de comandos Bash no se rastrean |722| Solo herramientas Write/Edit/NotebookEdit | Los cambios realizados a través de comandos Bash no se rastrean |

723| Ediciones de subagentes | Las ediciones que aplica un [subagente](/docs/es/agent-sdk/subagents) no se rastrean ni se restauran, excepto una skill con `context: fork` ejecutándose en primer plano; use git para revertir ediciones no rastreadas |723| Ediciones de subagentes | Las ediciones que aplica un [subagente](/docs/es/agent-sdk/subagents) no se rastrean ni se restauran, excepto una skill con `context: fork` ejecutándose en primer plano; use git para revertir ediciones no rastreadas |

724| Misma sesión | Los checkpoints están vinculados a la sesión que los creó |724| Misma sesión | Los checkpoints están vinculados a la sesión que los creó |

Details

149El SDK proporciona hooks para diferentes etapas de la ejecución del agente. Algunos hooks están disponibles en ambos SDK, mientras que otros son solo para TypeScript.149El SDK proporciona hooks para diferentes etapas de la ejecución del agente. Algunos hooks están disponibles en ambos SDK, mientras que otros son solo para TypeScript.

150 150 

151| Evento de Hook | SDK de Python | SDK de TypeScript | Qué lo dispara | Caso de uso de ejemplo |151| Evento de Hook | SDK de Python | SDK de TypeScript | Qué lo dispara | Caso de uso de ejemplo |

152| ------------------------------------------------------ | ------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |152| - | - | - | - | - |

153| `PreToolUse` | Sí | Sí | Solicitud de llamada de herramienta (puede bloquear o modificar) | Bloquear comandos de shell peligrosos |153| `PreToolUse` | Sí | Sí | Solicitud de llamada de herramienta (puede bloquear o modificar) | Bloquear comandos de shell peligrosos |

154| `PostToolUse` | Sí | Sí | Resultado de ejecución de herramienta | Registrar todos los cambios de archivo en pista de auditoría |154| `PostToolUse` | Sí | Sí | Resultado de ejecución de herramienta | Registrar todos los cambios de archivo en pista de auditoría |

155| `PostToolUseFailure` | Sí | Sí | Fallo de ejecución de herramienta | Manejar o registrar errores de herramienta |155| `PostToolUseFailure` | Sí | Sí | Fallo de ejecución de herramienta | Manejar o registrar errores de herramienta |


230Los matchers del SDK siguen las mismas reglas que [matchers en archivos de configuración](/docs/es/hooks#matcher-patterns). Esa sección documenta las rutas de evaluación de cadena exacta y expresión regular, sus requisitos de versión, y los valores de matcher para cada tipo de evento.230Los matchers del SDK siguen las mismas reglas que [matchers en archivos de configuración](/docs/es/hooks#matcher-patterns). Esa sección documenta las rutas de evaluación de cadena exacta y expresión regular, sus requisitos de versión, y los valores de matcher para cada tipo de evento.

231 231 

232| Opción | Tipo | Predeterminado | Descripción |232| Opción | Tipo | Predeterminado | Descripción |

233| --------- | ---------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |233| - | - | - | - |

234| `matcher` | `string` | `undefined` | Patrón coincidido contra el campo de filtro del evento, siguiendo las [reglas para matchers en archivos de configuración](/docs/es/hooks#matcher-patterns). Para hooks de herramientas, este es el nombre de la herramienta. Las herramientas integradas incluyen `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent` y otros (vea [Tipos de entrada de herramienta](/docs/es/agent-sdk/typescript#tool-input-types) para la lista completa). Las herramientas MCP usan el patrón `mcp__<server>__<action>`, donde `<server>` es la clave que usa en la configuración `mcpServers`. |234| `matcher` | `string` | `undefined` | Patrón coincidido contra el campo de filtro del evento, siguiendo las [reglas para matchers en archivos de configuración](/docs/es/hooks#matcher-patterns). Para hooks de herramientas, este es el nombre de la herramienta. Las herramientas integradas incluyen `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent` y otros (vea [Tipos de entrada de herramienta](/docs/es/agent-sdk/typescript#tool-input-types) para la lista completa). Las herramientas MCP usan el patrón `mcp__<server>__<action>`, donde `<server>` es la clave que usa en la configuración `mcpServers`. |

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

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


295</CodeGroup>295</CodeGroup>

296 296 

297| Campo | Tipo | Descripción |297| Campo | Tipo | Descripción |

298| -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------ |298| - | - | - |

299| `async` | `true` | Señala modo asincrónico. El agente continúa sin esperar. En Python, use `async_` para evitar la palabra clave reservada. |299| `async` | `true` | Señala modo asincrónico. El agente continúa sin esperar. En Python, use `async_` para evitar la palabra clave reservada. |

300| `asyncTimeout` | `number` | Tiempo de espera opcional en milisegundos para la operación de fondo |300| `asyncTimeout` | `number` | Tiempo de espera opcional en milisegundos para la operación de fondo |

301 301 

Details

63Tres tipos de estado de agente viven en el sistema de archivos del contenedor de forma predeterminada. Ninguno de ellos sobrevive a un reinicio del contenedor, una reducción de escala o un movimiento a un nodo diferente.63Tres tipos de estado de agente viven en el sistema de archivos del contenedor de forma predeterminada. Ninguno de ellos sobrevive a un reinicio del contenedor, una reducción de escala o un movimiento a un nodo diferente.

64 64 

65| Estado | Ubicación predeterminada |65| Estado | Ubicación predeterminada |

66| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |66| - | - |

67| Transcripciones de sesión | `~/.claude/projects/`, o el directorio `projects/` bajo `CLAUDE_CONFIG_DIR` si está establecido |67| Transcripciones de sesión | `~/.claude/projects/`, o el directorio `projects/` bajo `CLAUDE_CONFIG_DIR` si está establecido |

68| Archivos de memoria `CLAUDE.md` | `~/.claude/CLAUDE.md` para el nivel de usuario y el directorio de trabajo de la sesión para el nivel de proyecto |68| Archivos de memoria `CLAUDE.md` | `~/.claude/CLAUDE.md` para el nivel de usuario y el directorio de trabajo de la sesión para el nivel de proyecto |

69| Artefactos del directorio de trabajo | El directorio de trabajo de la sesión |69| Artefactos del directorio de trabajo | El directorio de trabajo de la sesión |


379Planifique considerando estas limitaciones en su diseño de implementación.379Planifique considerando estas limitaciones en su diseño de implementación.

380 380 

381| Limitación | Qué hacer |381| Limitación | Qué hacer |

382| -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |382| - | - |

383| Sin tiempo de espera de sesión de nivel superior | Una sesión no agota el tiempo de espera por sí sola. Establezca `maxTurns` en TypeScript o `max_turns` en Python para limitar cuántos viajes de ronda de uso de herramientas realiza el agente antes de detenerse. |383| Sin tiempo de espera de sesión de nivel superior | Una sesión no agota el tiempo de espera por sí sola. Establezca `maxTurns` en TypeScript o `max_turns` en Python para limitar cuántos viajes de ronda de uso de herramientas realiza el agente antes de detenerse. |

384| Crecimiento de memoria en sesiones largas | Limite la duración de la sesión o recicle subprocesos periódicamente. Consulte [Escalado y concurrencia](#scaling-and-concurrency). |384| Crecimiento de memoria en sesiones largas | Limite la duración de la sesión o recicle subprocesos periódicamente. Consulte [Escalado y concurrencia](#scaling-and-concurrency). |

385| Los fanouts de subagentes paralelos grandes pueden alcanzar límites de velocidad | Divida el trabajo en lotes más pequeños en lugar de emitir un envío amplio. |385| Los fanouts de subagentes paralelos grandes pueden alcanzar límites de velocidad | Divida el trabajo en lotes más pequeños en lugar de emitir un envío amplio. |

Details

159Claude Code registra los servidores que usted pasa en `options.mcpServers` al inicio y emite el [mensaje init](#error-handling) una vez que se resuelve la espera de primer turno, si la hay. Si cada servidor de `options.mcpServers` retrasa el primer turno, y cuándo se conecta, depende de su tipo:159Claude Code registra los servidores que usted pasa en `options.mcpServers` al inicio y emite el [mensaje init](#error-handling) una vez que se resuelve la espera de primer turno, si la hay. Si cada servidor de `options.mcpServers` retrasa el primer turno, y cuándo se conecta, depende de su tipo:

160 160 

161| Tipo de servidor | ¿Retrasa el primer turno? | Tiempo de espera del primer turno |161| Tipo de servidor | ¿Retrasa el primer turno? | Tiempo de espera del primer turno |

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

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

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

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

Details

19</h2>19</h2>

20 20 

21| Aspecto | Anterior | Nuevo |21| Aspecto | Anterior | Nuevo |

22| :-------------------------------- | :-------------------------- | :---------------------------------------------------------------------- |22| :- | :- | :- |

23| **Nombre del paquete (TS/JS)** | `@anthropic-ai/claude-code` | `@anthropic-ai/claude-agent-sdk` |23| **Nombre del paquete (TS/JS)** | `@anthropic-ai/claude-code` | `@anthropic-ai/claude-agent-sdk` |

24| **Paquete de Python** | `claude-code-sdk` | `claude-agent-sdk` |24| **Paquete de Python** | `claude-code-sdk` | `claude-agent-sdk` |

25| **Ubicación de la documentación** | Claude Code docs | Claude Code docs → sección dedicada [Agent SDK](/docs/es/agent-sdk/overview) |25| **Ubicación de la documentación** | Claude Code docs | Claude Code docs → sección dedicada [Agent SDK](/docs/es/agent-sdk/overview) |

Details

25El factor decisivo es cuán estrechamente su agente se asemeja a Claude Code: un agente de codificación que opera en un repositorio, con un humano observando la salida en streaming y dirigiendo el trabajo. Cuanto más se aleje su producto de eso, más querrá escribir su propia indicación.25El factor decisivo es cuán estrechamente su agente se asemeja a Claude Code: un agente de codificación que opera en un repositorio, con un humano observando la salida en streaming y dirigiendo el trabajo. Cuanto más se aleje su producto de eso, más querrá escribir su propia indicación.

26 26 

27| Está construyendo | Utilice | Lo que obtiene |27| Está construyendo | Utilice | Lo que obtiene |

28| :--------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- |28| :- | :- | :- |

29| Una herramienta de codificación tipo CLI o IDE donde un humano observa y dirige, y los valores predeterminados de Claude Code son lo que desea | Preset `claude_code` | La indicación de Claude Code, incluida la orientación de herramientas, reglas de seguridad y contexto del entorno |29| Una herramienta de codificación tipo CLI o IDE donde un humano observa y dirige, y los valores predeterminados de Claude Code son lo que desea | Preset `claude_code` | La indicación de Claude Code, incluida la orientación de herramientas, reglas de seguridad y contexto del entorno |

30| El mismo tipo de herramienta, más reglas específicas del producto como estándares de codificación, formato de salida o contexto de dominio | Preset `claude_code` con `append` | Todo lo anterior, con sus instrucciones agregadas después del preset. Nada se elimina, por lo que esta es la personalización de menor riesgo |30| El mismo tipo de herramienta, más reglas específicas del producto como estándares de codificación, formato de salida o contexto de dominio | Preset `claude_code` con `append` | Todo lo anterior, con sus instrucciones agregadas después del preset. Nada se elimina, por lo que esta es la personalización de menor riesgo |

31| Un agente con una superficie diferente, identidad o modelo de permisos, o un agente no codificador | Cadena de indicación personalizada | Solo lo que escribe. Usted asume la responsabilidad de reemplazar la orientación de herramientas e instrucciones de seguridad que su agente aún necesita |31| Un agente con una superficie diferente, identidad o modelo de permisos, o un agente no codificador | Cadena de indicación personalizada | Solo lo que escribe. Usted asume la responsabilidad de reemplazar la orientación de herramientas e instrucciones de seguridad que su agente aún necesita |


425Los cuatro métodos de personalización difieren en dónde residen, cómo se comparten y qué preservan del preset `claude_code`.425Los cuatro métodos de personalización difieren en dónde residen, cómo se comparten y qué preservan del preset `claude_code`.

426 426 

427| Característica | CLAUDE.md | Estilos de salida | `systemPrompt` con append | `systemPrompt` personalizado |427| Característica | CLAUDE.md | Estilos de salida | `systemPrompt` con append | `systemPrompt` personalizado |

428| -------------------------------- | ------------------------- | ------------------------------------ | ------------------------- | ---------------------------------- |428| - | - | - | - | - |

429| **Persistencia** | Archivo por proyecto | Guardado como archivos | Solo sesión | Solo sesión |429| **Persistencia** | Archivo por proyecto | Guardado como archivos | Solo sesión | Solo sesión |

430| **Reutilización** | Por proyecto | Entre proyectos | Duplicación de código | Duplicación de código |430| **Reutilización** | Por proyecto | Entre proyectos | Duplicación de código | Duplicación de código |

431| **Gestión** | En el sistema de archivos | CLI + archivos | En código | En código |431| **Gestión** | En el sistema de archivos | CLI + archivos | En código | En código |

Details

31La CLI exporta tres señales OpenTelemetry independientes. Cada una tiene su propio interruptor de habilitación y su propio exportador, por lo que puede activar solo las que necesita.31La CLI exporta tres señales OpenTelemetry independientes. Cada una tiene su propio interruptor de habilitación y su propio exportador, por lo que puede activar solo las que necesita.

32 32 

33| Señal | Qué contiene | Habilitar con |33| Señal | Qué contiene | Habilitar con |

34| ---------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |34| - | - | - |

35| Metrics | Contadores para tokens, costo, sesiones, líneas de código y decisiones de herramientas | `OTEL_METRICS_EXPORTER` |35| Metrics | Contadores para tokens, costo, sesiones, líneas de código y decisiones de herramientas | `OTEL_METRICS_EXPORTER` |

36| Log events | Registros estructurados para cada indicación, solicitud de API, error de API y resultado de herramienta | `OTEL_LOGS_EXPORTER` |36| Log events | Registros estructurados para cada indicación, solicitud de API, error de API y resultado de herramienta | `OTEL_LOGS_EXPORTER` |

37| Traces | Tramos para cada interacción, solicitud de modelo, llamada de herramienta y hook (beta) | `OTEL_TRACES_EXPORTER` más `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` |37| Traces | Tramos para cada interacción, solicitud de modelo, llamada de herramienta y hook (beta) | `OTEL_TRACES_EXPORTER` más `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` |


248La telemetría es estructural de forma predeterminada. Las duraciones, nombres de modelos y nombres de herramientas se registran en cada tramo; los conteos de tokens se registran cuando la solicitud de API subyacente devuelve datos de uso, por lo que los tramos para solicitudes fallidas o abortadas pueden omitirlos. El contenido que su agente lee y escribe no se registra de forma predeterminada. Estas variables de opción adicional agregan contenido a los datos exportados:248La telemetría es estructural de forma predeterminada. Las duraciones, nombres de modelos y nombres de herramientas se registran en cada tramo; los conteos de tokens se registran cuando la solicitud de API subyacente devuelve datos de uso, por lo que los tramos para solicitudes fallidas o abortadas pueden omitirlos. El contenido que su agente lee y escribe no se registra de forma predeterminada. Estas variables de opción adicional agregan contenido a los datos exportados:

249 249 

250| Variable | Agrega |250| Variable | Agrega |

251| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |251| - | - |

252| `OTEL_LOG_USER_PROMPTS=1` | Texto de indicación en eventos `claude_code.user_prompt` y en el tramo `claude_code.interaction` |252| `OTEL_LOG_USER_PROMPTS=1` | Texto de indicación en eventos `claude_code.user_prompt` y en el tramo `claude_code.interaction` |

253| `OTEL_LOG_TOOL_DETAILS=1` | Argumentos de entrada de herramienta (rutas de archivo, comandos de shell, patrones de búsqueda) en eventos `claude_code.tool_result` |253| `OTEL_LOG_TOOL_DETAILS=1` | Argumentos de entrada de herramienta (rutas de archivo, comandos de shell, patrones de búsqueda) en eventos `claude_code.tool_result` |

254| `OTEL_LOG_TOOL_CONTENT=1` | Un evento de tramo [`tool.output`](/docs/es/monitoring-usage#tool-output-span-event) en `claude_code.tool` con contenidos de archivo y salida de Bash, truncado en 60 KB de forma predeterminada, configurable mediante `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, que requiere Claude Code v2.1.214 o posterior. Requiere que el [rastreo](#read-agent-traces) esté habilitado. Los atributos de tramo llevan contenido de herramienta bajo [sus propias compuertas](/docs/es/monitoring-usage#new-context-gates) |254| `OTEL_LOG_TOOL_CONTENT=1` | Un evento de tramo [`tool.output`](/docs/es/monitoring-usage#tool-output-span-event) en `claude_code.tool` con contenidos de archivo y salida de Bash, truncado en 60 KB de forma predeterminada, configurable mediante `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, que requiere Claude Code v2.1.214 o posterior. Requiere que el [rastreo](#read-agent-traces) esté habilitado. Los atributos de tramo llevan contenido de herramienta bajo [sus propias compuertas](/docs/es/monitoring-usage#new-context-gates) |

Details

15El Agent SDK, la CLI, el Client SDK y los Managed Agents difieren en quién ejecuta el agente, qué viene integrado y cómo acceder a él. Encuentre la fila que coincida con cómo desea construir y ejecutar el suyo.15El Agent SDK, la CLI, el Client SDK y los Managed Agents difieren en quién ejecuta el agente, qué viene integrado y cómo acceder a él. Encuentre la fila que coincida con cómo desea construir y ejecutar el suyo.

16 16 

17| Desea | Utilice | Lo que obtiene |17| Desea | Utilice | Lo que obtiene |

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

19| Integrar el agente de Claude Code en su propia aplicación Python o TypeScript, en un proceso que usted opera | **Agent SDK** | Una biblioteca que ejecuta el binario de Claude Code, con las [capacidades](#capabilities) de Claude Code, como herramientas integradas, permisos, sesiones y hooks. |19| Integrar el agente de Claude Code en su propia aplicación Python o TypeScript, en un proceso que usted opera | **Agent SDK** | Una biblioteca que ejecuta el binario de Claude Code, con las [capacidades](#capabilities) de Claude Code, como herramientas integradas, permisos, sesiones y hooks. |

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

21| Llamar a la API de Claude directamente desde su propio código | [**Client SDK**](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) | Acceso directo a la API de Claude desde cualquiera de los lenguajes del Client SDK. Usted escribe el bucle de herramientas usted mismo, o deja que el [ejecutor de herramientas](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-runner) beta del Client SDK lo impulse. |21| Llamar a la API de Claude directamente desde su propio código | [**Client SDK**](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) | Acceso directo a la API de Claude desde cualquiera de los lenguajes del Client SDK. Usted escribe el bucle de herramientas usted mismo, o deja que el [ejecutor de herramientas](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-runner) beta del Client SDK lo impulse. |


30Estas capacidades de Claude Code están disponibles en el SDK:30Estas capacidades de Claude Code están disponibles en el SDK:

31 31 

32| Capacidad | Qué hace | Más información |32| Capacidad | Qué hace | Más información |

33| -------------------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |33| - | - | - |

34| Herramientas integradas | Leer, escribir, editar archivos, ejecutar comandos y buscar en la web | [Referencia de herramientas](/docs/es/tools-reference) |34| Herramientas integradas | Leer, escribir, editar archivos, ejecutar comandos y buscar en la web | [Referencia de herramientas](/docs/es/tools-reference) |

35| Hooks | Ejecutar código personalizado en puntos clave del ciclo de vida del agente | [Hooks](/docs/es/agent-sdk/hooks) |35| Hooks | Ejecutar código personalizado en puntos clave del ciclo de vida del agente | [Hooks](/docs/es/agent-sdk/hooks) |

36| Subagentes | Generar agentes especializados para subtareas enfocadas | [Subagentes](/docs/es/agent-sdk/subagents) |36| Subagentes | Generar agentes especializados para subtareas enfocadas | [Subagentes](/docs/es/agent-sdk/subagents) |

Details

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

77 77 

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

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

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

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

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


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

125 125 

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

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

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

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

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

Details

27El SDK de Python proporciona dos formas de interactuar con Claude Code:27El SDK de Python proporciona dos formas de interactuar con Claude Code:

28 28 

29| Característica | `query()` | `ClaudeSDKClient` |29| Característica | `query()` | `ClaudeSDKClient` |

30| :------------------------------ | :------------------------------------------------- | :------------------------------------------ |30| :- | :- | :- |

31| **Sesión** | Crea una nueva sesión de forma predeterminada | Reutiliza la misma sesión |31| **Sesión** | Crea una nueva sesión de forma predeterminada | Reutiliza la misma sesión |

32| **Conversación** | Intercambio único | Múltiples intercambios en el mismo contexto |32| **Conversación** | Intercambio único | Múltiples intercambios en el mismo contexto |

33| **Conexión** | Se gestiona automáticamente | Control manual |33| **Conexión** | Se gestiona automáticamente | Control manual |


66</h4>66</h4>

67 67 

68| Parámetro | Tipo | Descripción |68| Parámetro | Tipo | Descripción |

69| :---------- | :--------------------------- | :--------------------------------------------------------------------------------- |69| :- | :- | :- |

70| `prompt` | `str \| AsyncIterable[dict]` | El prompt de entrada como una cadena o iterable asincrónico para modo de streaming |70| `prompt` | `str \| AsyncIterable[dict]` | El prompt de entrada como una cadena o iterable asincrónico para modo de streaming |

71| `options` | `ClaudeAgentOptions \| None` | Objeto de configuración opcional (por defecto `ClaudeAgentOptions()` si es None) |71| `options` | `ClaudeAgentOptions \| None` | Objeto de configuración opcional (por defecto `ClaudeAgentOptions()` si es None) |

72| `transport` | `Transport \| None` | Transporte personalizado opcional para comunicarse con el proceso CLI |72| `transport` | `Transport \| None` | Transporte personalizado opcional para comunicarse con el proceso CLI |


119</h4>119</h4>

120 120 

121| Parámetro | Tipo | Descripción |121| Parámetro | Tipo | Descripción |

122| :------------- | :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |122| :- | :- | :- |

123| `name` | `str` | Identificador único para la herramienta |123| `name` | `str` | Identificador único para la herramienta |

124| `description` | `str` | Descripción legible de lo que hace la herramienta |124| `description` | `str` | Descripción legible de lo que hace la herramienta |

125| `input_schema` | `type \| dict[str, Any]` | Esquema que define los parámetros de entrada de la herramienta. Consulte [Opciones de esquema de entrada](#input-schema-options) |125| `input_schema` | `type \| dict[str, Any]` | Esquema que define los parámetros de entrada de la herramienta. Consulte [Opciones de esquema de entrada](#input-schema-options) |


178Todos los campos son opcionales. Los clientes no deben depender de las sugerencias para decisiones de seguridad.178Todos los campos son opcionales. Los clientes no deben depender de las sugerencias para decisiones de seguridad.

179 179 

180| Campo | Tipo | Predeterminado | Descripción |180| Campo | Tipo | Predeterminado | Descripción |

181| :------------------- | :------------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |181| :- | :- | :- | :- |

182| `title` | `str \| None` | `None` | Título legible para la herramienta |182| `title` | `str \| None` | `None` | Título legible para la herramienta |

183| `readOnlyHint` | `bool \| None` | `False` | Si es `True`, la herramienta no modifica su entorno |183| `readOnlyHint` | `bool \| None` | `False` | Si es `True`, la herramienta no modifica su entorno |

184| `destructiveHint` | `bool \| None` | `True` | Si es `True`, la herramienta puede realizar actualizaciones destructivas (solo significativo cuando `readOnlyHint` es `False`) |184| `destructiveHint` | `bool \| None` | `True` | Si es `True`, la herramienta puede realizar actualizaciones destructivas (solo significativo cuando `readOnlyHint` es `False`) |


220</h4>220</h4>

221 221 

222| Parámetro | Tipo | Predeterminado | Descripción |222| Parámetro | Tipo | Predeterminado | Descripción |

223| :-------- | :------------------------------ | :------------- | :----------------------------------------------------------------- |223| :- | :- | :- | :- |

224| `name` | `str` | - | Identificador único para el servidor |224| `name` | `str` | - | Identificador único para el servidor |

225| `version` | `str` | `"1.0.0"` | Cadena de versión del servidor |225| `version` | `str` | `"1.0.0"` | Cadena de versión del servidor |

226| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | Lista de funciones de herramienta creadas con el decorador `@tool` |226| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | Lista de funciones de herramienta creadas con el decorador `@tool` |


282</h4>282</h4>

283 283 

284| Parámetro | Tipo | Predeterminado | Descripción |284| Parámetro | Tipo | Predeterminado | Descripción |

285| :------------------ | :------------ | :------------- | :--------------------------------------------------------------------------------------------------------- |285| :- | :- | :- | :- |

286| `directory` | `str \| None` | `None` | Directorio para listar sesiones. Cuando se omite, devuelve sesiones en todos los proyectos |286| `directory` | `str \| None` | `None` | Directorio para listar sesiones. Cuando se omite, devuelve sesiones en todos los proyectos |

287| `limit` | `int \| None` | `None` | Número máximo de sesiones a devolver |287| `limit` | `int \| None` | `None` | Número máximo de sesiones a devolver |

288| `offset` | `int` | `0` | Número de sesiones a omitir desde el inicio de los resultados ordenados. Úselo con `limit` para paginación |288| `offset` | `int` | `0` | Número de sesiones a omitir desde el inicio de los resultados ordenados. Úselo con `limit` para paginación |


293</h4>293</h4>

294 294 

295| Propiedad | Tipo | Descripción |295| Propiedad | Tipo | Descripción |

296| :-------------- | :------------ | :---------------------------------------------------------------------------------------------- |296| :- | :- | :- |

297| `session_id` | `str` | Identificador único de sesión |297| `session_id` | `str` | Identificador único de sesión |

298| `summary` | `str` | Título de visualización: título personalizado, resumen generado automáticamente o primer prompt |298| `summary` | `str` | Título de visualización: título personalizado, resumen generado automáticamente o primer prompt |

299| `last_modified` | `int` | Última hora de modificación en milisegundos desde la época |299| `last_modified` | `int` | Última hora de modificación en milisegundos desde la época |


338</h4>338</h4>

339 339 

340| Parámetro | Tipo | Predeterminado | Descripción |340| Parámetro | Tipo | Predeterminado | Descripción |

341| :----------- | :------------ | :------------- | :-------------------------------------------------------------------------------- |341| :- | :- | :- | :- |

342| `session_id` | `str` | requerido | El ID de sesión para recuperar mensajes |342| `session_id` | `str` | requerido | El ID de sesión para recuperar mensajes |

343| `directory` | `str \| None` | `None` | Directorio de proyecto para buscar. Cuando se omite, busca en todos los proyectos |343| `directory` | `str \| None` | `None` | Directorio de proyecto para buscar. Cuando se omite, busca en todos los proyectos |

344| `limit` | `int \| None` | `None` | Número máximo de mensajes a devolver |344| `limit` | `int \| None` | `None` | Número máximo de mensajes a devolver |


349</h4>349</h4>

350 350 

351| Propiedad | Tipo | Descripción |351| Propiedad | Tipo | Descripción |

352| :------------------- | :----------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |352| :- | :- | :- |

353| `type` | `Literal["user", "assistant"]` | Rol del mensaje |353| `type` | `Literal["user", "assistant"]` | Rol del mensaje |

354| `uuid` | `str` | Identificador único del mensaje |354| `uuid` | `str` | Identificador único del mensaje |

355| `session_id` | `str` | Identificador de sesión |355| `session_id` | `str` | Identificador de sesión |


389</h4>389</h4>

390 390 

391| Parámetro | Tipo | Predeterminado | Descripción |391| Parámetro | Tipo | Predeterminado | Descripción |

392| :----------- | :------------ | :------------- | :--------------------------------------------------------------------------------------------- |392| :- | :- | :- | :- |

393| `session_id` | `str` | requerido | UUID de la sesión a buscar |393| `session_id` | `str` | requerido | UUID de la sesión a buscar |

394| `directory` | `str \| None` | `None` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios del proyecto |394| `directory` | `str \| None` | `None` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios del proyecto |

395 395 


428</h4>428</h4>

429 429 

430| Parámetro | Tipo | Predeterminado | Descripción |430| Parámetro | Tipo | Predeterminado | Descripción |

431| :----------- | :------------ | :------------- | :--------------------------------------------------------------------------------------------- |431| :- | :- | :- | :- |

432| `session_id` | `str` | requerido | UUID de la sesión a renombrar |432| `session_id` | `str` | requerido | UUID de la sesión a renombrar |

433| `title` | `str` | requerido | Nuevo título. Debe ser no vacío después de eliminar espacios en blanco |433| `title` | `str` | requerido | Nuevo título. Debe ser no vacío después de eliminar espacios en blanco |

434| `directory` | `str \| None` | `None` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios del proyecto |434| `directory` | `str \| None` | `None` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios del proyecto |


468</h4>468</h4>

469 469 

470| Parámetro | Tipo | Predeterminado | Descripción |470| Parámetro | Tipo | Predeterminado | Descripción |

471| :----------- | :------------ | :------------- | :--------------------------------------------------------------------------------------------- |471| :- | :- | :- | :- |

472| `session_id` | `str` | requerido | UUID de la sesión a etiquetar |472| `session_id` | `str` | requerido | UUID de la sesión a etiquetar |

473| `tag` | `str \| None` | requerido | Cadena de etiqueta, o `None` para borrar. Sanitizada de Unicode antes de almacenar |473| `tag` | `str \| None` | requerido | Cadena de etiqueta, o `None` para borrar. Sanitizada de Unicode antes de almacenar |

474| `directory` | `str \| None` | `None` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios del proyecto |474| `directory` | `str \| None` | `None` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios del proyecto |


529</h4>529</h4>

530 530 

531| Método | Descripción |531| Método | Descripción |

532| :---------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |532| :- | :- |

533| `__init__(options)` | Inicializa el cliente con configuración opcional |533| `__init__(options)` | Inicializa el cliente con configuración opcional |

534| `connect(prompt)` | Conectar a Claude con un prompt inicial opcional o flujo de mensajes |534| `connect(prompt)` | Conectar a Claude con un prompt inicial opcional o flujo de mensajes |

535| `query(prompt, session_id)` | Enviar una nueva solicitud en modo de streaming |535| `query(prompt, session_id)` | Enviar una nueva solicitud en modo de streaming |


780```780```

781 781 

782| Propiedad | Tipo | Descripción |782| Propiedad | Tipo | Descripción |

783| :------------- | :---------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |783| :- | :- | :- |

784| `name` | `str` | Identificador único para la herramienta |784| `name` | `str` | Identificador único para la herramienta |

785| `description` | `str` | Descripción legible por humanos |785| `description` | `str` | Descripción legible por humanos |

786| `input_schema` | `type[T] \| dict[str, Any]` | Esquema para validación de entrada |786| `input_schema` | `type[T] \| dict[str, Any]` | Esquema para validación de entrada |


824```824```

825 825 

826| Método | Descripción |826| Método | Descripción |

827| :---------------- | :------------------------------------------------------------------------------------ |827| :- | :- |

828| `connect()` | Conectar el transporte y prepararse para la comunicación |828| `connect()` | Conectar el transporte y prepararse para la comunicación |

829| `write(data)` | Escribir datos sin procesar (JSON + nueva línea) en el transporte |829| `write(data)` | Escribir datos sin procesar (JSON + nueva línea) en el transporte |

830| `read_messages()` | Iterador asincrónico que produce mensajes JSON analizados |830| `read_messages()` | Iterador asincrónico que produce mensajes JSON analizados |


894```894```

895 895 

896| Propiedad | Tipo | Predeterminado | Descripción |896| Propiedad | Tipo | Predeterminado | Descripción |

897| :---------------------------- | :------------------------------------------------------------------------------------ | :--------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |897| :- | :- | :- | :- |

898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Configuración de herramientas. Utilice `{"type": "preset", "preset": "claude_code"}` para las herramientas predeterminadas de Claude Code |898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Configuración de herramientas. Utilice `{"type": "preset", "preset": "claude_code"}` para las herramientas predeterminadas de Claude Code |

899| `allowed_tools` | `list[str]` | `[]` | Herramientas para aprobar automáticamente sin solicitar. Esto no restringe Claude solo a estas herramientas. Si nombra una de las [herramientas de seguimiento de tareas](/docs/es/agent-sdk/todo-tracking#model-availability) aquí, Claude Code también opta por la sesión. Otras herramientas no listadas se transfieren a `permission_mode` y `can_use_tool`. Utilice `disallowed_tools` para bloquear herramientas. Consulte [Permisos](/docs/es/agent-sdk/permissions#allow-and-deny-rules) |899| `allowed_tools` | `list[str]` | `[]` | Herramientas para aprobar automáticamente sin solicitar. Esto no restringe Claude solo a estas herramientas. Si nombra una de las [herramientas de seguimiento de tareas](/docs/es/agent-sdk/todo-tracking#model-availability) aquí, Claude Code también opta por la sesión. Otras herramientas no listadas se transfieren a `permission_mode` y `can_use_tool`. Utilice `disallowed_tools` para bloquear herramientas. Consulte [Permisos](/docs/es/agent-sdk/permissions#allow-and-deny-rules) |

900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | Configuración de indicación del sistema. Pase una cadena para un indicador personalizado, `{"type": "preset", "preset": "claude_code"}` para el indicador del sistema de Claude Code con `"append"` opcional, `{"type": "custom", "prompt": "..."}` para un indicador personalizado que también puede establecer `"snapshot"`, o `{"type": "file", "path": "..."}` para cargar un indicador grande desde el disco. Consulte [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom), y [`SystemPromptFile`](#systempromptfile) |900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | Configuración de indicación del sistema. Pase una cadena para un indicador personalizado, `{"type": "preset", "preset": "claude_code"}` para el indicador del sistema de Claude Code con `"append"` opcional, `{"type": "custom", "prompt": "..."}` para un indicador personalizado que también puede establecer `"snapshot"`, o `{"type": "file", "path": "..."}` para cargar un indicador grande desde el disco. Consulte [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom), y [`SystemPromptFile`](#systempromptfile) |


986```986```

987 987 

988| Campo | Requerido | Descripción |988| Campo | Requerido | Descripción |

989| :------- | :-------- | :------------------------------------------------------ |989| :- | :- | :- |

990| `type` | Sí | Debe ser `"json_schema"` para validación de JSON Schema |990| `type` | Sí | Debe ser `"json_schema"` para validación de JSON Schema |

991| `schema` | Sí | Definición de JSON Schema para validación de salida |991| `schema` | Sí | Definición de JSON Schema para validación de salida |

992 992 


1006```1006```

1007 1007 

1008| Campo | Requerido | Descripción |1008| Campo | Requerido | Descripción |

1009| :------------------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1009| :- | :- | :- |

1010| `type` | Sí | Debe ser `"preset"` para usar un indicador del sistema preestablecido |1010| `type` | Sí | Debe ser `"preset"` para usar un indicador del sistema preestablecido |

1011| `preset` | Sí | Debe ser `"claude_code"` para usar el indicador del sistema de Claude Code |1011| `preset` | Sí | Debe ser `"claude_code"` para usar el indicador del sistema de Claude Code |

1012| `append` | No | Instrucciones adicionales para agregar al indicador del sistema preestablecido |1012| `append` | No | Instrucciones adicionales para agregar al indicador del sistema preestablecido |


1027```1027```

1028 1028 

1029| Campo | Requerido | Descripción |1029| Campo | Requerido | Descripción |

1030| :--------- | :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1030| :- | :- | :- |

1031| `type` | Sí | Debe ser `"custom"` |1031| `type` | Sí | Debe ser `"custom"` |

1032| `prompt` | Sí | El texto del indicador del sistema. Se pasa a la CLI como un argumento de línea de comandos, por lo que se aplican los [límites de longitud de línea de comandos](#systempromptfile) |1032| `prompt` | Sí | El texto del indicador del sistema. Se pasa a la CLI como un argumento de línea de comandos, por lo que se aplican los [límites de longitud de línea de comandos](#systempromptfile) |

1033| `snapshot` | No | Igual que [`SystemPromptPreset.snapshot`](#systempromptpreset), aplicado a `prompt` |1033| `snapshot` | No | Igual que [`SystemPromptPreset.snapshot`](#systempromptpreset), aplicado a `prompt` |


1045```1045```

1046 1046 

1047| Campo | Requerido | Descripción |1047| Campo | Requerido | Descripción |

1048| :----- | :-------- | :-------------------------------------------------------- |1048| :- | :- | :- |

1049| `type` | Sí | Debe ser `"file"` para cargar el indicador desde el disco |1049| `type` | Sí | Debe ser `"file"` para cargar el indicador desde el disco |

1050| `path` | Sí | Ruta a un archivo que contiene el indicador del sistema |1050| `path` | Sí | Ruta a un archivo que contiene el indicador del sistema |

1051 1051 


1060```1060```

1061 1061 

1062| Valor | Descripción | Ubicación |1062| Valor | Descripción | Ubicación |

1063| :---------- | :---------------------------------------------------------------------------------------------------- | :---------------------------- |1063| :- | :- | :- |

1064| `"user"` | Configuración global del usuario | `~/.claude/settings.json` |1064| `"user"` | Configuración global del usuario | `~/.claude/settings.json` |

1065| `"project"` | Configuración del proyecto compartido (controlada por versión) | `.claude/settings.json` |1065| `"project"` | Configuración del proyecto compartido (controlada por versión) | `.claude/settings.json` |

1066| `"local"` | Configuración del proyecto local, ignorada en git cuando Claude Code guarda una configuración en ella | `.claude/settings.local.json` |1066| `"local"` | Configuración del proyecto local, ignorada en git cuando Claude Code guarda una configuración en ella | `.claude/settings.local.json` |


1189```1189```

1190 1190 

1191| Campo | Requerido | Descripción |1191| Campo | Requerido | Descripción |

1192| :---------------- | :-------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1192| :- | :- | :- |

1193| `description` | Sí | Descripción en lenguaje natural de cuándo usar este agente |1193| `description` | Sí | Descripción en lenguaje natural de cuándo usar este agente |

1194| `prompt` | Sí | El indicador del sistema del agente |1194| `prompt` | Sí | El indicador del sistema del agente |

1195| `tools` | No | Matriz de nombres de herramientas permitidas. Si se omite, hereda cada [herramienta disponible para subagentes](/docs/es/sub-agents#available-tools) |1195| `tools` | No | Matriz de nombres de herramientas permitidas. Si se omite, hereda cada [herramienta disponible para subagentes](/docs/es/sub-agents#available-tools) |


1286```1286```

1287 1287 

1288| Campo | Tipo | Descripción |1288| Campo | Tipo | Descripción |

1289| :---------------- | :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1289| :- | :- | :- |

1290| `signal` | `Any \| None` | Reservado para soporte futuro de señal de aborto |1290| `signal` | `Any \| None` | Reservado para soporte futuro de señal de aborto |

1291| `suggestions` | `list[PermissionUpdate]` | Sugerencias de actualización de permiso de la CLI. Los indicadores de Bash incluyen una sugerencia con el destino `localSettings`, por lo que devolverla en `updated_permissions` escribe la regla en `.claude/settings.local.json` y persiste entre sesiones. |1291| `suggestions` | `list[PermissionUpdate]` | Sugerencias de actualización de permiso de la CLI. Los indicadores de Bash incluyen una sugerencia con el destino `localSettings`, por lo que devolverla en `updated_permissions` escribe la regla en `.claude/settings.local.json` y persiste entre sesiones. |

1292| `tool_use_id` | `str \| None` | Identificador de la llamada de herramienta específica para la que es este indicador. Siempre se completa cuando se entrega a `can_use_tool` |1292| `tool_use_id` | `str \| None` | Identificador de la llamada de herramienta específica para la que es este indicador. Siempre se completa cuando se entrega a `can_use_tool` |


1322```1322```

1323 1323 

1324| Campo | Tipo | Predeterminado | Descripción |1324| Campo | Tipo | Predeterminado | Descripción |

1325| :-------------------- | :------------------------------- | :------------- | :------------------------------------------------ |1325| :- | :- | :- | :- |

1326| `behavior` | `Literal["allow"]` | `"allow"` | Debe ser "allow" |1326| `behavior` | `Literal["allow"]` | `"allow"` | Debe ser "allow" |

1327| `updated_input` | `dict[str, Any] \| None` | `None` | Entrada modificada a usar en lugar de la original |1327| `updated_input` | `dict[str, Any] \| None` | `None` | Entrada modificada a usar en lugar de la original |

1328| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Actualizaciones de permiso a aplicar |1328| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Actualizaciones de permiso a aplicar |


1342```1342```

1343 1343 

1344| Campo | Tipo | Predeterminado | Descripción |1344| Campo | Tipo | Predeterminado | Descripción |

1345| :---------- | :---------------- | :------------- | :-------------------------------------------------- |1345| :- | :- | :- | :- |

1346| `behavior` | `Literal["deny"]` | `"deny"` | Debe ser "deny" |1346| `behavior` | `Literal["deny"]` | `"deny"` | Debe ser "deny" |

1347| `message` | `str` | `""` | Mensaje explicando por qué se denegó la herramienta |1347| `message` | `str` | `""` | Mensaje explicando por qué se denegó la herramienta |

1348| `interrupt` | `bool` | `False` | Si se debe interrumpir la ejecución actual |1348| `interrupt` | `bool` | `False` | Si se debe interrumpir la ejecución actual |


1374```1374```

1375 1375 

1376| Campo | Tipo | Descripción |1376| Campo | Tipo | Descripción |

1377| :------------ | :---------------------------------------- | :---------------------------------------------------------- |1377| :- | :- | :- |

1378| `type` | `Literal[...]` | El tipo de operación de actualización de permiso |1378| `type` | `Literal[...]` | El tipo de operación de actualización de permiso |

1379| `rules` | `list[PermissionRuleValue] \| None` | Reglas para operaciones de agregar/reemplazar/eliminar |1379| `rules` | `list[PermissionRuleValue] \| None` | Reglas para operaciones de agregar/reemplazar/eliminar |

1380| `behavior` | `Literal["allow", "deny", "ask"] \| None` | Comportamiento para operaciones basadas en reglas |1380| `behavior` | `Literal["allow", "deny", "ask"] \| None` | Comportamiento para operaciones basadas en reglas |


1436```1436```

1437 1437 

1438| Variante | Campos | Descripción |1438| Variante | Campos | Descripción |

1439| :--------- | :--------------------------------- | :----------------------------------------------------------- |1439| :- | :- | :- |

1440| `adaptive` | `type`, `display` | Claude decide adaptativamente cuándo pensar |1440| `adaptive` | `type`, `display` | Claude decide adaptativamente cuándo pensar |

1441| `enabled` | `type`, `budget_tokens`, `display` | Habilitar pensamiento con un presupuesto de token específico |1441| `enabled` | `type`, `budget_tokens`, `display` | Habilitar pensamiento con un presupuesto de token específico |

1442| `disabled` | `type` | Deshabilitar pensamiento |1442| `disabled` | `type` | Deshabilitar pensamiento |


1469```1469```

1470 1470 

1471| Campo | Tipo | Descripción |1471| Campo | Tipo | Descripción |

1472| :------ | :---- | :--------------------------------------- |1472| :- | :- | :- |

1473| `total` | `int` | Presupuesto de token total para la tarea |1473| `total` | `int` | Presupuesto de token total para la tarea |

1474 1474 

1475Debido a que esto es un `TypedDict`, páselo como un dict simple, como `ClaudeAgentOptions(task_budget={"total": 50000})`.1475Debido a que esto es un `TypedDict`, páselo como un dict simple, como `ClaudeAgentOptions(task_budget={"total": 50000})`.


1596```1596```

1597 1597 

1598| Campo | Tipo | Descripción |1598| Campo | Tipo | Descripción |

1599| :----------- | :----------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1599| :- | :- | :- |

1600| `name` | `str` | Nombre del servidor |1600| `name` | `str` | Nombre del servidor |

1601| `status` | `str` | Uno de `"connected"`, `"failed"`, `"needs-auth"`, `"pending"`, o `"disabled"` |1601| `status` | `str` | Uno de `"connected"`, `"failed"`, `"needs-auth"`, `"pending"`, o `"disabled"` |

1602| `serverInfo` | `dict` (opcional) | Nombre y versión del servidor (`{"name": str, "version": str}`) |1602| `serverInfo` | `dict` (opcional) | Nombre y versión del servidor (`{"name": str, "version": str}`) |


1618```1618```

1619 1619 

1620| Campo | Tipo | Descripción |1620| Campo | Tipo | Descripción |

1621| :----- | :----------------- | :--------------------------------------------------------------- |1621| :- | :- | :- |

1622| `type` | `Literal["local"]` | Debe ser `"local"` (actualmente solo se admiten plugins locales) |1622| `type` | `Literal["local"]` | Debe ser `"local"` (actualmente solo se admiten plugins locales) |

1623| `path` | `str` | Ruta absoluta o relativa al directorio del plugin |1623| `path` | `str` | Ruta absoluta o relativa al directorio del plugin |

1624 1624 


1672```1672```

1673 1673 

1674| Campo | Tipo | Descripción |1674| Campo | Tipo | Descripción |

1675| :------------------- | :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1675| :- | :- | :- |

1676| `content` | `str \| list[ContentBlock]` | Contenido del mensaje como texto o bloques de contenido |1676| `content` | `str \| list[ContentBlock]` | Contenido del mensaje como texto o bloques de contenido |

1677| `uuid` | `str \| None` | Identificador único del mensaje |1677| `uuid` | `str \| None` | Identificador único del mensaje |

1678| `parent_tool_use_id` | `str \| None` | ID de uso de herramienta si este mensaje es una respuesta de resultado de herramienta |1678| `parent_tool_use_id` | `str \| None` | ID de uso de herramienta si este mensaje es una respuesta de resultado de herramienta |


1704```1704```

1705 1705 

1706| Campo | Tipo | Descripción |1706| Campo | Tipo | Descripción |

1707| :------------------- | :----------------------------------------------------------- | :----------------------------------------------------------------------------------- |1707| :- | :- | :- |

1708| `content` | `list[ContentBlock]` | Lista de bloques de contenido en la respuesta |1708| `content` | `list[ContentBlock]` | Lista de bloques de contenido en la respuesta |

1709| `model` | `str` | Modelo que generó la respuesta |1709| `model` | `str` | Modelo que generó la respuesta |

1710| `parent_tool_use_id` | `str \| None` | ID de uso de herramienta si esta es una respuesta anidada |1710| `parent_tool_use_id` | `str \| None` | ID de uso de herramienta si esta es una respuesta anidada |


1791El dict `usage` cubre solo el bucle del agente principal y excluye subagentes y otras llamadas de modelo anidadas o auxiliares. En [modo de entrada de streaming](/docs/es/agent-sdk/streaming-vs-single-mode), los valores son por turno. Prefiera `model_usage` para contabilidad de token y costo. El dict `usage` contiene las siguientes claves cuando está presente:1791El dict `usage` cubre solo el bucle del agente principal y excluye subagentes y otras llamadas de modelo anidadas o auxiliares. En [modo de entrada de streaming](/docs/es/agent-sdk/streaming-vs-single-mode), los valores son por turno. Prefiera `model_usage` para contabilidad de token y costo. El dict `usage` contiene las siguientes claves cuando está presente:

1792 1792 

1793| Clave | Tipo | Descripción |1793| Clave | Tipo | Descripción |

1794| ----------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1794| - | - | - |

1795| `input_tokens` | `int` | Tokens de entrada consumidos por el bucle del agente de nivel superior. [Los tokens de subagentes no se incluyen](/docs/es/agent-sdk/cost-tracking#get-the-total-cost-of-a-query); use `model_usage` para contabilidad de árbol completo. |1795| `input_tokens` | `int` | Tokens de entrada consumidos por el bucle del agente de nivel superior. [Los tokens de subagentes no se incluyen](/docs/es/agent-sdk/cost-tracking#get-the-total-cost-of-a-query); use `model_usage` para contabilidad de árbol completo. |

1796| `output_tokens` | `int` | Tokens de salida generados por el bucle del agente de nivel superior. Los tokens de subagentes no se incluyen. |1796| `output_tokens` | `int` | Tokens de salida generados por el bucle del agente de nivel superior. Los tokens de subagentes no se incluyen. |

1797| `cache_creation_input_tokens` | `int` | Tokens usados para crear nuevas entradas de caché. |1797| `cache_creation_input_tokens` | `int` | Tokens usados para crear nuevas entradas de caché. |


1804Cada valor en `model_usage` es un TypedDict `ModelUsage`, importado vía `from claude_agent_sdk.types import ModelUsage`. Sus claves usan camelCase porque el SDK pasa el valor sin modificar desde el proceso CLI subyacente, coincidiendo con el tipo TypeScript [`ModelUsage`](/docs/es/agent-sdk/typescript#modelusage):1804Cada valor en `model_usage` es un TypedDict `ModelUsage`, importado vía `from claude_agent_sdk.types import ModelUsage`. Sus claves usan camelCase porque el SDK pasa el valor sin modificar desde el proceso CLI subyacente, coincidiendo con el tipo TypeScript [`ModelUsage`](/docs/es/agent-sdk/typescript#modelusage):

1805 1805 

1806| Clave | Tipo | Descripción |1806| Clave | Tipo | Descripción |

1807| -------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1807| - | - | - |

1808| `inputTokens` | `int` | Tokens de entrada para este modelo. |1808| `inputTokens` | `int` | Tokens de entrada para este modelo. |

1809| `outputTokens` | `int` | Tokens de salida para este modelo. |1809| `outputTokens` | `int` | Tokens de salida para este modelo. |

1810| `cacheReadInputTokens` | `int` | Tokens de lectura de caché para este modelo. |1810| `cacheReadInputTokens` | `int` | Tokens de lectura de caché para este modelo. |


1833```1833```

1834 1834 

1835| Campo | Tipo | Descripción |1835| Campo | Tipo | Descripción |

1836| :------------------- | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1836| :- | :- | :- |

1837| `uuid` | `str` | Identificador único para este evento |1837| `uuid` | `str` | Identificador único para este evento |

1838| `session_id` | `str` | Identificador de sesión |1838| `session_id` | `str` | Identificador de sesión |

1839| `event` | `dict[str, Any]` | Los datos del evento de flujo de API de Claude sin procesar |1839| `event` | `dict[str, Any]` | Los datos del evento de flujo de API de Claude sin procesar |


1854```1854```

1855 1855 

1856| Campo | Tipo | Descripción |1856| Campo | Tipo | Descripción |

1857| :---------------- | :-------------------------------- | :------------------------------------ |1857| :- | :- | :- |

1858| `rate_limit_info` | [`RateLimitInfo`](#ratelimitinfo) | Estado actual del límite de velocidad |1858| `rate_limit_info` | [`RateLimitInfo`](#ratelimitinfo) | Estado actual del límite de velocidad |

1859| `uuid` | `str` | Identificador único del evento |1859| `uuid` | `str` | Identificador único del evento |

1860| `session_id` | `str` | Identificador de sesión |1860| `session_id` | `str` | Identificador de sesión |


1885```1885```

1886 1886 

1887| Campo | Tipo | Descripción |1887| Campo | Tipo | Descripción |

1888| :------------------------ | :------------------------ | :---------------------------------------------------------------------------------------------------------------- |1888| :- | :- | :- |

1889| `status` | `RateLimitStatus` | Estado actual. `"allowed_warning"` significa acercarse al límite; `"rejected"` significa que se alcanzó el límite |1889| `status` | `RateLimitStatus` | Estado actual. `"allowed_warning"` significa acercarse al límite; `"rejected"` significa que se alcanzó el límite |

1890| `resets_at` | `int \| None` | Marca de tiempo Unix cuando se reinicia la ventana del límite de velocidad |1890| `resets_at` | `int \| None` | Marca de tiempo Unix cuando se reinicia la ventana del límite de velocidad |

1891| `rate_limit_type` | `RateLimitType \| None` | Qué ventana de límite de velocidad se aplica |1891| `rate_limit_type` | `RateLimitType \| None` | Qué ventana de límite de velocidad se aplica |


1910```1910```

1911 1911 

1912| Campo | Tipo | Descripción |1912| Campo | Tipo | Descripción |

1913| :-------------------- | :---- | :--------------------------------------------------------------------------------------------------------------------------- |1913| :- | :- | :- |

1914| `new_conversation_id` | `str` | Identificador opaco para la conversación nueva. No es el `session_id` de mensajes posteriores; lea eso del siguiente mensaje |1914| `new_conversation_id` | `str` | Identificador opaco para la conversación nueva. No es el `session_id` de mensajes posteriores; lea eso del siguiente mensaje |

1915| `uuid` | `str` | Identificador único del mensaje |1915| `uuid` | `str` | Identificador único del mensaje |

1916| `session_id` | `str` | ID de la sesión que fue reiniciada. Los mensajes después del reinicio llevan un nuevo `session_id` |1916| `session_id` | `str` | ID de la sesión que fue reiniciada. Los mensajes después del reinicio llevan un nuevo `session_id` |


1933```1933```

1934 1934 

1935| Campo | Tipo | Descripción |1935| Campo | Tipo | Descripción |

1936| :------------ | :------------ | :---------------------------------------------------------------------------------------------------------------------- |1936| :- | :- | :- |

1937| `task_id` | `str` | Identificador único para la tarea |1937| `task_id` | `str` | Identificador único para la tarea |

1938| `description` | `str` | Descripción de la tarea |1938| `description` | `str` | Descripción de la tarea |

1939| `uuid` | `str` | Identificador único del mensaje |1939| `uuid` | `str` | Identificador único del mensaje |


1973```1973```

1974 1974 

1975| Campo | Tipo | Descripción |1975| Campo | Tipo | Descripción |

1976| :--------------- | :------------ | :----------------------------------------------- |1976| :- | :- | :- |

1977| `task_id` | `str` | Identificador único para la tarea |1977| `task_id` | `str` | Identificador único para la tarea |

1978| `description` | `str` | Descripción del estado actual |1978| `description` | `str` | Descripción del estado actual |

1979| `usage` | `TaskUsage` | Uso de token para esta tarea hasta ahora |1979| `usage` | `TaskUsage` | Uso de token para esta tarea hasta ahora |


2002```2002```

2003 2003 

2004| Campo | Tipo | Descripción |2004| Campo | Tipo | Descripción |

2005| :------------ | :----------------------- | :---------------------------------------------- |2005| :- | :- | :- |

2006| `task_id` | `str` | Identificador único para la tarea |2006| `task_id` | `str` | Identificador único para la tarea |

2007| `status` | `TaskNotificationStatus` | Uno de `"completed"`, `"failed"`, o `"stopped"` |2007| `status` | `TaskNotificationStatus` | Uno de `"completed"`, `"failed"`, o `"stopped"` |

2008| `output_file` | `str` | Ruta al archivo de salida de la tarea |2008| `output_file` | `str` | Ruta al archivo de salida de la tarea |


2307```2307```

2308 2308 

2309| Campo | Tipo | Descripción |2309| Campo | Tipo | Descripción |

2310| :---------------- | :--------------- | :----------------------------------------- |2310| :- | :- | :- |

2311| `session_id` | `str` | Identificador de sesión actual |2311| `session_id` | `str` | Identificador de sesión actual |

2312| `transcript_path` | `str` | Ruta al archivo de transcripción de sesión |2312| `transcript_path` | `str` | Ruta al archivo de transcripción de sesión |

2313| `cwd` | `str` | Directorio de trabajo actual |2313| `cwd` | `str` | Directorio de trabajo actual |


2330```2330```

2331 2331 

2332| Campo | Tipo | Descripción |2332| Campo | Tipo | Descripción |

2333| :---------------- | :---------------------- | :------------------------------------------------------------------------------------ |2333| :- | :- | :- |

2334| `hook_event_name` | `Literal["PreToolUse"]` | Siempre "PreToolUse" |2334| `hook_event_name` | `Literal["PreToolUse"]` | Siempre "PreToolUse" |

2335| `tool_name` | `str` | Nombre de la herramienta a punto de ejecutarse |2335| `tool_name` | `str` | Nombre de la herramienta a punto de ejecutarse |

2336| `tool_input` | `dict[str, Any]` | Parámetros de entrada para la herramienta |2336| `tool_input` | `dict[str, Any]` | Parámetros de entrada para la herramienta |


2356```2356```

2357 2357 

2358| Campo | Tipo | Descripción |2358| Campo | Tipo | Descripción |

2359| :---------------- | :----------------------- | :------------------------------------------------------------------------------------ |2359| :- | :- | :- |

2360| `hook_event_name` | `Literal["PostToolUse"]` | Siempre "PostToolUse" |2360| `hook_event_name` | `Literal["PostToolUse"]` | Siempre "PostToolUse" |

2361| `tool_name` | `str` | Nombre de la herramienta que se ejecutó |2361| `tool_name` | `str` | Nombre de la herramienta que se ejecutó |

2362| `tool_input` | `dict[str, Any]` | Parámetros de entrada que se utilizaron |2362| `tool_input` | `dict[str, Any]` | Parámetros de entrada que se utilizaron |


2384```2384```

2385 2385 

2386| Campo | Tipo | Descripción |2386| Campo | Tipo | Descripción |

2387| :---------------- | :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2387| :- | :- | :- |

2388| `hook_event_name` | `Literal["PostToolUseFailure"]` | Siempre "PostToolUseFailure" |2388| `hook_event_name` | `Literal["PostToolUseFailure"]` | Siempre "PostToolUseFailure" |

2389| `tool_name` | `str` | Nombre de la herramienta que falló |2389| `tool_name` | `str` | Nombre de la herramienta que falló |

2390| `tool_input` | `dict[str, Any]` | Parámetros de entrada que se utilizaron |2390| `tool_input` | `dict[str, Any]` | Parámetros de entrada que se utilizaron |


2407```2407```

2408 2408 

2409| Campo | Tipo | Descripción |2409| Campo | Tipo | Descripción |

2410| :---------------- | :---------------------------- | :------------------------------- |2410| :- | :- | :- |

2411| `hook_event_name` | `Literal["UserPromptSubmit"]` | Siempre "UserPromptSubmit" |2411| `hook_event_name` | `Literal["UserPromptSubmit"]` | Siempre "UserPromptSubmit" |

2412| `prompt` | `str` | El prompt enviado por el usuario |2412| `prompt` | `str` | El prompt enviado por el usuario |

2413 2413 


2424```2424```

2425 2425 

2426| Campo | Tipo | Descripción |2426| Campo | Tipo | Descripción |

2427| :----------------- | :---------------- | :------------------------------- |2427| :- | :- | :- |

2428| `hook_event_name` | `Literal["Stop"]` | Siempre "Stop" |2428| `hook_event_name` | `Literal["Stop"]` | Siempre "Stop" |

2429| `stop_hook_active` | `bool` | Si el hook de parada está activo |2429| `stop_hook_active` | `bool` | Si el hook de parada está activo |

2430 2430 


2444```2444```

2445 2445 

2446| Campo | Tipo | Descripción |2446| Campo | Tipo | Descripción |

2447| :---------------------- | :------------------------ | :--------------------------------------------- |2447| :- | :- | :- |

2448| `hook_event_name` | `Literal["SubagentStop"]` | Siempre "SubagentStop" |2448| `hook_event_name` | `Literal["SubagentStop"]` | Siempre "SubagentStop" |

2449| `stop_hook_active` | `bool` | Si el hook de parada está activo |2449| `stop_hook_active` | `bool` | Si el hook de parada está activo |

2450| `agent_id` | `str` | Identificador único para el subagente |2450| `agent_id` | `str` | Identificador único para el subagente |


2465```2465```

2466 2466 

2467| Campo | Tipo | Descripción |2467| Campo | Tipo | Descripción |

2468| :-------------------- | :-------------------------- | :--------------------------------------------- |2468| :- | :- | :- |

2469| `hook_event_name` | `Literal["PreCompact"]` | Siempre "PreCompact" |2469| `hook_event_name` | `Literal["PreCompact"]` | Siempre "PreCompact" |

2470| `trigger` | `Literal["manual", "auto"]` | Qué desencadenó la compactación |2470| `trigger` | `Literal["manual", "auto"]` | Qué desencadenó la compactación |

2471| `custom_instructions` | `str \| None` | Instrucciones personalizadas para compactación |2471| `custom_instructions` | `str \| None` | Instrucciones personalizadas para compactación |


2485```2485```

2486 2486 

2487| Campo | Tipo | Descripción |2487| Campo | Tipo | Descripción |

2488| :------------------ | :------------------------ | :------------------------------------ |2488| :- | :- | :- |

2489| `hook_event_name` | `Literal["Notification"]` | Siempre "Notification" |2489| `hook_event_name` | `Literal["Notification"]` | Siempre "Notification" |

2490| `message` | `str` | Contenido del mensaje de notificación |2490| `message` | `str` | Contenido del mensaje de notificación |

2491| `title` | `str` (opcional) | Título de la notificación |2491| `title` | `str` (opcional) | Título de la notificación |


2505```2505```

2506 2506 

2507| Campo | Tipo | Descripción |2507| Campo | Tipo | Descripción |

2508| :---------------- | :------------------------- | :------------------------------------ |2508| :- | :- | :- |

2509| `hook_event_name` | `Literal["SubagentStart"]` | Siempre "SubagentStart" |2509| `hook_event_name` | `Literal["SubagentStart"]` | Siempre "SubagentStart" |

2510| `agent_id` | `str` | Identificador único para el subagente |2510| `agent_id` | `str` | Identificador único para el subagente |

2511| `agent_type` | `str` | Tipo del subagente |2511| `agent_type` | `str` | Tipo del subagente |


2527```2527```

2528 2528 

2529| Campo | Tipo | Descripción |2529| Campo | Tipo | Descripción |

2530| :----------------------- | :----------------------------- | :------------------------------------------------------------------------------------ |2530| :- | :- | :- |

2531| `hook_event_name` | `Literal["PermissionRequest"]` | Siempre "PermissionRequest" |2531| `hook_event_name` | `Literal["PermissionRequest"]` | Siempre "PermissionRequest" |

2532| `tool_name` | `str` | Nombre de la herramienta solicitando permiso |2532| `tool_name` | `str` | Nombre de la herramienta solicitando permiso |

2533| `tool_input` | `dict[str, Any]` | Parámetros de entrada para la herramienta |2533| `tool_input` | `dict[str, Any]` | Parámetros de entrada para la herramienta |


3609```3609```

3610 3610 

3611| Propiedad | Tipo | Predeterminado | Descripción |3611| Propiedad | Tipo | Predeterminado | Descripción |

3612| :-------------------------- | :---------------------------------------------------- | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3612| :- | :- | :- | :- |

3613| `enabled` | `bool` | `False` | Habilitar modo sandbox para ejecución de comandos |3613| `enabled` | `bool` | `False` | Habilitar modo sandbox para ejecución de comandos |

3614| `autoAllowBashIfSandboxed` | `bool` | `True` | Aprobar automáticamente comandos bash cuando sandbox está habilitado |3614| `autoAllowBashIfSandboxed` | `bool` | `True` | Aprobar automáticamente comandos bash cuando sandbox está habilitado |

3615| `excludedCommands` | `list[str]` | `[]` | Comandos que evitan restricciones de sandbox, como `["docker *"]`. Estos se ejecutan sin sandbox automáticamente sin participación del modelo; [`sandbox.excludedCommands`](/docs/es/settings-reference#sandbox-excludedcommands) cubre cuándo se aplica una entrada |3615| `excludedCommands` | `list[str]` | `[]` | Comandos que evitan restricciones de sandbox, como `["docker *"]`. Estos se ejecutan sin sandbox automáticamente sin participación del modelo; [`sandbox.excludedCommands`](/docs/es/settings-reference#sandbox-excludedcommands) cubre cuándo se aplica una entrada |


3681```3681```

3682 3682 

3683| Propiedad | Tipo | Predeterminado | Descripción |3683| Propiedad | Tipo | Predeterminado | Descripción |

3684| :------------------------ | :---------- | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3684| :- | :- | :- | :- |

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

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

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


3709```3709```

3710 3710 

3711| Propiedad | Tipo | Predeterminado | Descripción |3711| Propiedad | Tipo | Predeterminado | Descripción |

3712| :-------- | :---------- | :------------- | :--------------------------------------------------- |3712| :- | :- | :- | :- |

3713| `file` | `list[str]` | `[]` | Patrones de ruta de archivo para ignorar violaciones |3713| `file` | `list[str]` | `[]` | Patrones de ruta de archivo para ignorar violaciones |

3714| `network` | `list[str]` | `[]` | Patrones de red para ignorar violaciones |3714| `network` | `list[str]` | `[]` | Patrones de red para ignorar violaciones |

3715 3715 

Details

367**Tools** controlan lo que su agente puede hacer:367**Tools** controlan lo que su agente puede hacer:

368 368 

369| Herramientas | Lo que el agente puede hacer |369| Herramientas | Lo que el agente puede hacer |

370| -------------------------------------- | ---------------------------- |370| - | - |

371| `Read`, `Glob`, `Grep` | Análisis de solo lectura |371| `Read`, `Glob`, `Grep` | Análisis de solo lectura |

372| `Read`, `Edit`, `Glob` | Analizar y modificar código |372| `Read`, `Edit`, `Glob` | Analizar y modificar código |

373| `Read`, `Edit`, `Bash`, `Glob`, `Grep` | Automatización completa |373| `Read`, `Edit`, `Bash`, `Glob`, `Grep` | Automatización completa |

Details

52Cuando sea necesario, puede restringir el agente solo a las capacidades requeridas para su tarea específica:52Cuando sea necesario, puede restringir el agente solo a las capacidades requeridas para su tarea específica:

53 53 

54| Recurso | Opciones de restricción |54| Recurso | Opciones de restricción |

55| ----------------------- | ----------------------------------------------------------- |55| - | - |

56| Sistema de archivos | Montar solo directorios necesarios, preferir solo lectura |56| Sistema de archivos | Montar solo directorios necesarios, preferir solo lectura |

57| Red | Restringir a puntos finales específicos a través de proxy |57| Red | Restringir a puntos finales específicos a través de proxy |

58| Credenciales | Inyectar a través de proxy en lugar de exponer directamente |58| Credenciales | Inyectar a través de proxy en lugar de exponer directamente |


82</Info>82</Info>

83 83 

84| Tecnología | Fortaleza de aislamiento | Sobrecarga de rendimiento | Complejidad |84| Tecnología | Fortaleza de aislamiento | Sobrecarga de rendimiento | Complejidad |

85| ----------------------- | --------------------------------------- | ------------------------- | ----------- |85| - | - | - | - |

86| Sandbox runtime | Buena (valores predeterminados seguros) | Muy baja | Baja |86| Sandbox runtime | Buena (valores predeterminados seguros) | Muy baja | Baja |

87| Contenedores (Docker) | Depende de la configuración | Baja | Media |87| Contenedores (Docker) | Depende de la configuración | Baja | Media |

88| gVisor | Excelente (con configuración correcta) | Media/Alta | Media |88| gVisor | Excelente (con configuración correcta) | Media/Alta | Media |


147Aquí está lo que hace cada opción:147Aquí está lo que hace cada opción:

148 148 

149| Opción | Propósito |149| Opción | Propósito |

150| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |150| - | - |

151| `--cap-drop ALL` | Elimina capacidades de Linux como `NET_ADMIN` y `SYS_ADMIN` que podrían permitir escalada de privilegios |151| `--cap-drop ALL` | Elimina capacidades de Linux como `NET_ADMIN` y `SYS_ADMIN` que podrían permitir escalada de privilegios |

152| `--security-opt no-new-privileges` | Previene que los procesos ganen privilegios a través de binarios setuid |152| `--security-opt no-new-privileges` | Previene que los procesos ganen privilegios a través de binarios setuid |

153| `--security-opt seccomp=...` | Restringe las llamadas del sistema disponibles; el valor predeterminado de Docker bloquea \~44, los perfiles personalizados pueden bloquear más |153| `--security-opt seccomp=...` | Restringe las llamadas del sistema disponibles; el valor predeterminado de Docker bloquea \~44, los perfiles personalizados pueden bloquear más |


169**Opciones de endurecimiento adicionales:**169**Opciones de endurecimiento adicionales:**

170 170 

171| Opción | Propósito |171| Opción | Propósito |

172| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |172| - | - |

173| `--userns-remap` | Asigna root del contenedor a usuario host sin privilegios; requiere configuración del daemon pero limita el daño del escape del contenedor |173| `--userns-remap` | Asigna root del contenedor a usuario host sin privilegios; requiere configuración del daemon pero limita el daño del escape del contenedor |

174| `--ipc private` | Aísla la comunicación entre procesos para prevenir ataques entre contenedores |174| `--ipc private` | Aísla la comunicación entre procesos para prevenir ataques entre contenedores |

175 175 


202**Consideraciones de rendimiento:**202**Consideraciones de rendimiento:**

203 203 

204| Carga de trabajo | Sobrecarga |204| Carga de trabajo | Sobrecarga |

205| ---------------------------- | ---------------------------------------------------------------- |205| - | - |

206| Computación vinculada a CPU | \~0% (sin intercepción de syscall) |206| Computación vinculada a CPU | \~0% (sin intercepción de syscall) |

207| Syscalls simples | \~2× más lento |207| Syscalls simples | \~2× más lento |

208| Intensivo en E/S de archivos | Hasta 10-200× más lento para patrones pesados de apertura/cierre |208| Intensivo en E/S de archivos | Hasta 10-200× más lento para patrones pesados de apertura/cierre |


345 Incluso el acceso solo lectura a un directorio de código puede exponer credenciales. Archivos comunes a excluir o sanitizar antes de montar:345 Incluso el acceso solo lectura a un directorio de código puede exponer credenciales. Archivos comunes a excluir o sanitizar antes de montar:

346 346 

347 | Archivo | Riesgo |347 | Archivo | Riesgo |

348 | ------------------------------------------------------- | -------------------------------------------------- |348 | - | - |

349 | `.env`, `.env.local` | Claves API, contraseñas de base de datos, secretos |349 | `.env`, `.env.local` | Claves API, contraseñas de base de datos, secretos |

350 | `~/.git-credentials` | Contraseñas/tokens de Git en texto plano |350 | `~/.git-credentials` | Contraseñas/tokens de Git en texto plano |

351 | `~/.aws/credentials` | Claves de acceso de AWS |351 | `~/.aws/credentials` | Claves de acceso de AWS |

Details

95Trate `subpath` como una clave de sufijo opaca; sigue el diseño en disco, por ejemplo `subagents/agent-<id>`. Cuando `subpath` no está definido, la clave se refiere a la transcripción principal.95Trate `subpath` como una clave de sufijo opaca; sigue el diseño en disco, por ejemplo `subagents/agent-<id>`. Cuando `subpath` no está definido, la clave se refiere a la transcripción principal.

96 96 

97| Método | Requerido | Se llama cuando |97| Método | Requerido | Se llama cuando |

98| :--------------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |98| :- | :- | :- |

99| `append` | Sí | Después de que cada lote de entradas de transcripción se escriba localmente. Las entradas son objetos seguros para JSON, uno por línea en el JSONL local. |99| `append` | Sí | Después de que cada lote de entradas de transcripción se escriba localmente. Las entradas son objetos seguros para JSON, uno por línea en el JSONL local. |

100| `load` | Sí | Antes de que se genere el subproceso cuando `resume` está establecido o `continue: true` resuelve la sesión de almacén más reciente, y una vez por sesión cuando la enumeración se retrae de `listSessionSummaries`. Devuelve `null` si la sesión es desconocida. |100| `load` | Sí | Antes de que se genere el subproceso cuando `resume` está establecido o `continue: true` resuelve la sesión de almacén más reciente, y una vez por sesión cuando la enumeración se retrae de `listSessionSummaries`. Devuelve `null` si la sesión es desconocida. |

101| `listSessions` | No | Por `listSessions({ sessionStore })` y por `query()`/`startup()` con `continue: true`. Si no está definido, `continue: true` lanza una excepción, y `listSessions({ sessionStore })` lanza una excepción a menos que `listSessionSummaries` esté implementado. |101| `listSessions` | No | Por `listSessions({ sessionStore })` y por `query()`/`startup()` con `continue: true`. Si no está definido, `continue: true` lanza una excepción, y `listSessions({ sessionStore })` lanza una excepción a menos que `listSessionSummaries` esté implementado. |


206Ambos repositorios del SDK incluyen adaptadores de referencia ejecutables bajo [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores) en TypeScript y [`examples/session_stores/`](https://github.com/anthropics/claude-agent-sdk-python/tree/main/examples/session_stores) en Python. Hay un adaptador por tipo de almacenamiento, y cada uno muestra cómo `append` y `load` se asignan a ese tipo de backend. No se publican como paquetes; copia el adaptador del tipo más cercano a tu backend en tu proyecto, instala el cliente de tu backend y adáptalo.206Ambos repositorios del SDK incluyen adaptadores de referencia ejecutables bajo [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores) en TypeScript y [`examples/session_stores/`](https://github.com/anthropics/claude-agent-sdk-python/tree/main/examples/session_stores) en Python. Hay un adaptador por tipo de almacenamiento, y cada uno muestra cómo `append` y `load` se asignan a ese tipo de backend. No se publican como paquetes; copia el adaptador del tipo más cercano a tu backend en tu proyecto, instala el cliente de tu backend y adáptalo.

207 207 

208| Tipo de almacenamiento | Modelo de almacenamiento | Adaptador de ejemplo |208| Tipo de almacenamiento | Modelo de almacenamiento | Adaptador de ejemplo |

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

210| Almacén de objetos | Un archivo de parte por `append()`; `load()` lista las partes, las ordena y las concatena. | S3 ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/s3_session_store.py)) |210| Almacén de objetos | Un archivo de parte por `append()`; `load()` lista las partes, las ordena y las concatena. | S3 ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/s3_session_store.py)) |

211| Almacén de clave-valor | Una lista por transcripción que `append()` inserta y `load()` lee en rango, más un índice ordenado de sesiones. | Redis ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/redis_session_store.py)) |211| Almacén de clave-valor | Una lista por transcripción que `append()` inserta y `load()` lee en rango, más un índice ordenado de sesiones. | Redis ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/redis_session_store.py)) |

212| Base de datos relacional o almacén de documentos | Una fila o documento por entrada, almacenado como JSON y ordenado por una clave asignada en la inserción. | Postgres ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/postgres_session_store.py)) |212| Base de datos relacional o almacén de documentos | Una fila o documento por entrada, almacenado como JSON y ordenado por una clave asignada en la inserción. | Postgres ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/postgres_session_store.py)) |

Details

23Cuánto manejo de sesiones necesita depende de la forma de su aplicación. La gestión de sesiones entra en juego cuando envía múltiples prompts que deben compartir contexto. Dentro de una única llamada `query()`, el agente ya toma tantos turnos como necesita, y los prompts de permiso y `AskUserQuestion` se [manejan en bucle](/docs/es/agent-sdk/user-input) (no terminan la llamada).23Cuánto manejo de sesiones necesita depende de la forma de su aplicación. La gestión de sesiones entra en juego cuando envía múltiples prompts que deben compartir contexto. Dentro de una única llamada `query()`, el agente ya toma tantos turnos como necesita, y los prompts de permiso y `AskUserQuestion` se [manejan en bucle](/docs/es/agent-sdk/user-input) (no terminan la llamada).

24 24 

25| Lo que está construyendo | Qué usar |25| Lo que está construyendo | Qué usar |

26| :--------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |26| :- | :- |

27| Tarea de una sola vez: prompt único, sin seguimiento | Nada extra. Una llamada `query()` lo maneja. |27| Tarea de una sola vez: prompt único, sin seguimiento | Nada extra. Una llamada `query()` lo maneja. |

28| Chat multi-turno en un proceso | [`ClaudeSDKClient` (Python) o `continue: true` (TypeScript)](#automatic-session-management). El SDK rastrea la sesión para usted sin manejo de ID. |28| Chat multi-turno en un proceso | [`ClaudeSDKClient` (Python) o `continue: true` (TypeScript)](#automatic-session-management). El SDK rastrea la sesión para usted sin manejo de ID. |

29| Continuar donde lo dejó después de un reinicio de proceso | `continue_conversation=True` (Python) / `continue: true` (TypeScript). Reanuda la sesión más reciente en el directorio, sin ID necesario. |29| Continuar donde lo dejó después de un reinicio de proceso | `continue_conversation=True` (Python) / `continue: true` (TypeScript). Reanuda la sesión más reciente en el directorio, sin ID necesario. |

Details

91El campo `event` contiene el evento de transmisión sin procesar de la [API de Claude](https://platform.claude.com/docs/en/build-with-claude/streaming#event-types). Los tipos de eventos comunes incluyen:91El campo `event` contiene el evento de transmisión sin procesar de la [API de Claude](https://platform.claude.com/docs/en/build-with-claude/streaming#event-types). Los tipos de eventos comunes incluyen:

92 92 

93| Tipo de evento | Descripción |93| Tipo de evento | Descripción |

94| :-------------------- | :------------------------------------------------------------------ |94| :- | :- |

95| `message_start` | Inicio de un nuevo mensaje |95| `message_start` | Inicio de un nuevo mensaje |

96| `content_block_start` | Inicio de un nuevo bloque de contenido (texto o uso de herramienta) |96| `content_block_start` | Inicio de un nuevo bloque de contenido (texto o uso de herramienta) |

97| `content_block_delta` | Actualización incremental del contenido |97| `content_block_delta` | Actualización incremental del contenido |

Details

395Cuando ocurre un error, el mensaje de resultado tiene un `subtype` que indica qué salió mal:395Cuando ocurre un error, el mensaje de resultado tiene un `subtype` que indica qué salió mal:

396 396 

397| Subtype | Significado |397| Subtype | Significado |

398| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |398| - | - |

399| `success` | La salida fue generada y validada exitosamente |399| `success` | La salida fue generada y validada exitosamente |

400| `error_max_structured_output_retries` | Ninguna salida válida sobrevivió después de múltiples intentos (fallos de validación, o una retracción de alternativa de modelo sin reintento exitoso) |400| `error_max_structured_output_retries` | Ninguna salida válida sobrevivió después de múltiples intentos (fallos de validación, o una retracción de alternativa de modelo sin reintento exitoso) |

401 401 

Details

153</h3>153</h3>

154 154 

155| Campo | Tipo | Requerido | Descripción |155| Campo | Tipo | Requerido | Descripción |

156| :---------------- | :---------------------------------------------------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |156| :- | :- | :- | :- |

157| `description` | `string` | Sí | Descripción en lenguaje natural de cuándo usar este agente |157| `description` | `string` | Sí | Descripción en lenguaje natural de cuándo usar este agente |

158| `prompt` | `string` | Sí | El prompt del sistema del agente que define su rol y comportamiento |158| `prompt` | `string` | Sí | El prompt del sistema del agente que define su rol y comportamiento |

159| `tools` | `string[]` | No | Matriz de nombres de herramientas permitidas. Si se omite, hereda todas las [herramientas disponibles para subagentes](/docs/es/sub-agents#available-tools) |159| `tools` | `string[]` | No | Matriz de nombres de herramientas permitidas. Si se omite, hereda todas las [herramientas disponibles para subagentes](/docs/es/sub-agents#available-tools) |


198La tabla a continuación enumera lo que contiene el contexto de un subagente que no es fork y lo que deja fuera.198La tabla a continuación enumera lo que contiene el contexto de un subagente que no es fork y lo que deja fuera.

199 199 

200| El subagente recibe | El subagente no recibe |200| El subagente recibe | El subagente no recibe |

201| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------- |201| :- | :- |

202| Su propio prompt del sistema (`AgentDefinition.prompt`) y el prompt de la herramienta Agent | El historial de conversación del padre o resultados de herramientas |202| Su propio prompt del sistema (`AgentDefinition.prompt`) y el prompt de la herramienta Agent | El historial de conversación del padre o resultados de herramientas |

203| Project CLAUDE.md (cargado a través de [`settingSources`](/docs/es/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)), a menos que el agente establezca [`omitClaudeMd`](#agentdefinition-configuration) | Contenido de skills precargado, a menos que esté listado en `AgentDefinition.skills` |203| Project CLAUDE.md (cargado a través de [`settingSources`](/docs/es/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)), a menos que el agente establezca [`omitClaudeMd`](#agentdefinition-configuration) | Contenido de skills precargado, a menos que esté listado en `AgentDefinition.skills` |

204| Definiciones de herramientas (heredadas del padre o el subconjunto en `tools`, [filtrado para ejecuciones en segundo plano](/docs/es/sub-agents#available-tools)) | El prompt del sistema del padre |204| Definiciones de herramientas (heredadas del padre o el subconjunto en `tools`, [filtrado para ejecuciones en segundo plano](/docs/es/sub-agents#available-tools)) | El prompt del sistema del padre |


626</h3>626</h3>

627 627 

628| Caso de uso | Herramientas | Descripción |628| Caso de uso | Herramientas | Descripción |

629| :----------------------- | :-------------------------------------- | :--------------------------------------------------------------------------- |629| :- | :- | :- |

630| Análisis de solo lectura | `Read`, `Grep`, `Glob` | Puede examinar código pero no modificar ni ejecutar |630| Análisis de solo lectura | `Read`, `Grep`, `Glob` | Puede examinar código pero no modificar ni ejecutar |

631| Ejecución de pruebas | `Bash`, `Read`, `Grep` | Puede ejecutar comandos y analizar la salida |631| Ejecución de pruebas | `Bash`, `Read`, `Grep` | Puede ejecutar comandos y analizar la salida |

632| Modificación de código | `Read`, `Edit`, `Write`, `Grep`, `Glob` | Acceso completo de lectura/escritura sin ejecución de comandos |632| Modificación de código | `Read`, `Edit`, `Write`, `Grep`, `Glob` | Acceso completo de lectura/escritura sin ejecución de comandos |


645Puede limitar ese crecimiento de tres formas: qué tan profundamente se anidan los subagentes, cuántos se ejecutan a la vez y cuánto gasta la consulta completa. Establezca los límites de profundidad y concurrencia como variables de entorno a través de la opción [`env`](/docs/es/agent-sdk/typescript#options), y el límite de gasto como una opción de consulta:645Puede limitar ese crecimiento de tres formas: qué tan profundamente se anidan los subagentes, cuántos se ejecutan a la vez y cuánto gasta la consulta completa. Establezca los límites de profundidad y concurrencia como variables de entorno a través de la opción [`env`](/docs/es/agent-sdk/typescript#options), y el límite de gasto como una opción de consulta:

646 646 

647| Límite | Establézcalo con | Predeterminado | Qué hace Claude Code en el límite |647| Límite | Establézcalo con | Predeterminado | Qué hace Claude Code en el límite |

648| :----------- | :------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |648| :- | :- | :- | :- |

649| Profundidad | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/es/env-vars) | `3` capas de subagentes por debajo de su agente principal. `1` impide que sus subagentes generen ninguno de los suyos | Deja un subagente en la capa inferior incapaz de generar, por lo que realiza su trabajo delegado por sí mismo. Consulte [subagentes anidados](/docs/es/sub-agents#let-subagents-spawn-their-own-subagents) |649| Profundidad | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/es/env-vars) | `3` capas de subagentes por debajo de su agente principal. `1` impide que sus subagentes generen ninguno de los suyos | Deja un subagente en la capa inferior incapaz de generar, por lo que realiza su trabajo delegado por sí mismo. Consulte [subagentes anidados](/docs/es/sub-agents#let-subagents-spawn-their-own-subagents) |

650| Concurrencia | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/es/env-vars) | `20` subagentes ejecutándose a la vez, contando cada subagente que Claude genera con la herramienta Agent | Se niega a generar otro subagente, devolviendo `Concurrent subagent limit reached`, hasta que el recuento en ejecución caiga por debajo del límite. Las sesiones con [ultracode](/docs/es/model-config#adjust-effort-level) activo nunca se rechazan. Consulte el [límite de subagentes concurrentes](/docs/es/sub-agents#concurrent-subagent-limit) |650| Concurrencia | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/es/env-vars) | `20` subagentes ejecutándose a la vez, contando cada subagente que Claude genera con la herramienta Agent | Se niega a generar otro subagente, devolviendo `Concurrent subagent limit reached`, hasta que el recuento en ejecución caiga por debajo del límite. Las sesiones con [ultracode](/docs/es/model-config#adjust-effort-level) activo nunca se rechazan. Consulte el [límite de subagentes concurrentes](/docs/es/sub-agents#concurrent-subagent-limit) |

651| Gasto | `maxBudgetUsd` en TypeScript, `max_budget_usd` en Python | Sin límite. Se compara con `total_cost_usd`, por lo que las solicitudes de subagentes cuentan | Aplica el límite de tres formas: se niega a generar más subagentes, devolviendo `Budget limit reached`, detiene los subagentes en segundo plano que aún se están ejecutando, y finaliza la consulta con el subtipo de resultado `error_max_budget_usd`. Para saber cómo se comportan los límites en una sesión, consulte [turnos y presupuesto](/docs/es/agent-sdk/agent-loop#turns-and-budget) |651| Gasto | `maxBudgetUsd` en TypeScript, `max_budget_usd` en Python | Sin límite. Se compara con `total_cost_usd`, por lo que las solicitudes de subagentes cuentan | Aplica el límite de tres formas: se niega a generar más subagentes, devolviendo `Budget limit reached`, detiene los subagentes en segundo plano que aún se están ejecutando, y finaliza la consulta con el subtipo de resultado `error_max_budget_usd`. Para saber cómo se comportan los límites en una sesión, consulte [turnos y presupuesto](/docs/es/agent-sdk/agent-loop#turns-and-budget) |

Details

11Los síntomas vinculados a una característica, como un hook que no se dispara o una skill que no se está utilizando, tienen una sección de solución de problemas en la página de esa característica. La tabla nombra la sección o página que cubre cada síntoma:11Los síntomas vinculados a una característica, como un hook que no se dispara o una skill que no se está utilizando, tienen una sección de solución de problemas en la página de esa característica. La tabla nombra la sección o página que cubre cada síntoma:

12 12 

13| Síntoma | Ir a |13| Síntoma | Ir a |

14| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |14| :- | :- |

15| Skills no encontradas, una skill no se está utilizando, error `Invalid skill name` | [Solución de problemas de skills](/docs/es/agent-sdk/skills#troubleshooting) |15| Skills no encontradas, una skill no se está utilizando, error `Invalid skill name` | [Solución de problemas de skills](/docs/es/agent-sdk/skills#troubleshooting) |

16| El servidor MCP muestra estado `failed`, las herramientas no se están llamando, tiempos de espera de conexión, salida de herramienta que excede el máximo de tokens permitidos | [Solución de problemas de MCP](/docs/es/agent-sdk/mcp#troubleshooting) |16| El servidor MCP muestra estado `failed`, las herramientas no se están llamando, tiempos de espera de conexión, salida de herramienta que excede el máximo de tokens permitidos | [Solución de problemas de MCP](/docs/es/agent-sdk/mcp#troubleshooting) |

17| Plugin no se carga, las skills del plugin no aparecen | [Solución de problemas de plugins](/docs/es/agent-sdk/plugins#troubleshooting) |17| Plugin no se carga, las skills del plugin no aparecen | [Solución de problemas de plugins](/docs/es/agent-sdk/plugins#troubleshooting) |


81El SDK encontró un archivo en la ruta resuelta pero no pudo iniciarlo. Python genera estos errores como un `CLIConnectionError`. TypeScript rechaza la iteración del mensaje con un error sin clase SDK. La tabla a continuación asigna cada mensaje a lo que le dice. Haga coincidir el mensaje que ve:81El SDK encontró un archivo en la ruta resuelta pero no pudo iniciarlo. Python genera estos errores como un `CLIConnectionError`. TypeScript rechaza la iteración del mensaje con un error sin clase SDK. La tabla a continuación asigna cada mensaje a lo que le dice. Haga coincidir el mensaje que ve:

82 82 

83| Mensaje | SDK | Lo que le dice |83| Mensaje | SDK | Lo que le dice |

84| ----------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------- |84| - | - | - |

85| `Failed to start Claude Code: <detail>` | Python | El resto del mensaje es el error propio del sistema operativo |85| `Failed to start Claude Code: <detail>` | Python | El resto del mensaje es el error propio del sistema operativo |

86| `Claude Code executable at <path> exists but failed to launch` | TypeScript | El script en la ruta configurada no puede ejecutarse |86| `Claude Code executable at <path> exists but failed to launch` | TypeScript | El script en la ruta configurada no puede ejecutarse |

87| `Claude Code native binary at <path> exists but failed to launch` | TypeScript | El binario no puede ejecutarse, con una sugerencia de libc añadida al mensaje |87| `Claude Code native binary at <path> exists but failed to launch` | TypeScript | El binario no puede ejecutarse, con una sugerencia de libc añadida al mensaje |

Details

79</h4>79</h4>

80 80 

81| Parámetro | Tipo | Descripción |81| Parámetro | Tipo | Descripción |

82| :-------- | :--------------------------------------------------------------- | :--------------------------------------------------------------------------------------- |82| :- | :- | :- |

83| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | El mensaje de entrada como una cadena o iterable asincrónico para el modo de transmisión |83| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | El mensaje de entrada como una cadena o iterable asincrónico para el modo de transmisión |

84| `options` | [`Options`](#options) | Objeto de configuración opcional (vea el tipo Options a continuación) |84| `options` | [`Options`](#options) | Objeto de configuración opcional (vea el tipo Options a continuación) |

85 85 


107</h4>107</h4>

108 108 

109| Parámetro | Tipo | Descripción |109| Parámetro | Tipo | Descripción |

110| :-------------------- | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |110| :- | :- | :- |

111| `options` | [`Options`](#options) | Objeto de configuración opcional. Igual que el parámetro `options` para `query()` |111| `options` | [`Options`](#options) | Objeto de configuración opcional. Igual que el parámetro `options` para `query()` |

112| `initializeTimeoutMs` | `number` | Tiempo máximo en milisegundos para esperar la inicialización del subproceso. Por defecto es `60000`. Si la inicialización no se completa a tiempo, la promesa se rechaza con un error de tiempo de espera |112| `initializeTimeoutMs` | `number` | Tiempo máximo en milisegundos para esperar la inicialización del subproceso. Por defecto es `60000`. Si la inicialización no se completa a tiempo, la promesa se rechaza con un error de tiempo de espera |

113 113 


156</h4>156</h4>

157 157 

158| Parámetro | Tipo | Descripción |158| Parámetro | Tipo | Descripción |

159| :------------ | :----------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |159| :- | :- | :- |

160| `name` | `string` | El nombre de la herramienta |160| `name` | `string` | El nombre de la herramienta |

161| `description` | `string` | Una descripción de lo que hace la herramienta |161| `description` | `string` | Una descripción de lo que hace la herramienta |

162| `inputSchema` | `Schema extends AnyZodRawShape` | Esquema Zod que define los parámetros de entrada de la herramienta (soporta tanto Zod 3 como Zod 4) |162| `inputSchema` | `Schema extends AnyZodRawShape` | Esquema Zod que define los parámetros de entrada de la herramienta (soporta tanto Zod 3 como Zod 4) |


170Re-exportado desde `@modelcontextprotocol/sdk/types.js`. Todos los campos son sugerencias opcionales; los clientes no deben confiar en ellos para decisiones de seguridad.170Re-exportado desde `@modelcontextprotocol/sdk/types.js`. Todos los campos son sugerencias opcionales; los clientes no deben confiar en ellos para decisiones de seguridad.

171 171 

172| Campo | Tipo | Predeterminado | Descripción |172| Campo | Tipo | Predeterminado | Descripción |

173| :---------------- | :-------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |173| :- | :- | :- | :- |

174| `title` | `string` | `undefined` | Título legible por humanos para la herramienta |174| `title` | `string` | `undefined` | Título legible por humanos para la herramienta |

175| `readOnlyHint` | `boolean` | `false` | Si es `true`, la herramienta no modifica su entorno |175| `readOnlyHint` | `boolean` | `false` | Si es `true`, la herramienta no modifica su entorno |

176| `destructiveHint` | `boolean` | `true` | Si es `true`, la herramienta puede realizar actualizaciones destructivas (solo significativo cuando `readOnlyHint` es `false`) |176| `destructiveHint` | `boolean` | `true` | Si es `true`, la herramienta puede realizar actualizaciones destructivas (solo significativo cuando `readOnlyHint` es `false`) |


214</h4>214</h4>

215 215 

216| Parámetro | Tipo | Descripción |216| Parámetro | Tipo | Descripción |

217| :--------------------- | :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |217| :- | :- | :- |

218| `options.name` | `string` | El nombre del servidor MCP |218| `options.name` | `string` | El nombre del servidor MCP |

219| `options.version` | `string` | Cadena de versión opcional |219| `options.version` | `string` | Cadena de versión opcional |

220| `options.instructions` | `string` | Instrucciones del servidor opcionales, devueltas desde `initialize` y expuestas al modelo como un bloque de instrucciones MCP |220| `options.instructions` | `string` | Instrucciones del servidor opcionales, devueltas desde `initialize` y expuestas al modelo como un bloque de instrucciones MCP |


237</h4>237</h4>

238 238 

239| Parámetro | Tipo | Predeterminado | Descripción |239| Parámetro | Tipo | Predeterminado | Descripción |

240| :------------------------- | :-------- | :------------- | :---------------------------------------------------------------------------------------------- |240| :- | :- | :- | :- |

241| `options.dir` | `string` | `undefined` | Directorio para enumerar sesiones. Cuando se omite, devuelve sesiones en todos los proyectos |241| `options.dir` | `string` | `undefined` | Directorio para enumerar sesiones. Cuando se omite, devuelve sesiones en todos los proyectos |

242| `options.limit` | `number` | `undefined` | Número máximo de sesiones a devolver |242| `options.limit` | `number` | `undefined` | Número máximo de sesiones a devolver |

243| `options.includeWorktrees` | `boolean` | `true` | Cuando `dir` está dentro de un repositorio git, incluya sesiones de todas las rutas de worktree |243| `options.includeWorktrees` | `boolean` | `true` | Cuando `dir` está dentro de un repositorio git, incluya sesiones de todas las rutas de worktree |


247</h4>247</h4>

248 248 

249| Propiedad | Tipo | Descripción |249| Propiedad | Tipo | Descripción |

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

251| `sessionId` | `string` | Identificador de sesión único (UUID) |251| `sessionId` | `string` | Identificador de sesión único (UUID) |

252| `summary` | `string` | Título de visualización: título personalizado, resumen generado automáticamente o primer mensaje |252| `summary` | `string` | Título de visualización: título personalizado, resumen generado automáticamente o primer mensaje |

253| `lastModified` | `number` | Última hora de modificación en milisegundos desde la época |253| `lastModified` | `number` | Última hora de modificación en milisegundos desde la época |


293</h4>293</h4>

294 294 

295| Parámetro | Tipo | Predeterminado | Descripción |295| Parámetro | Tipo | Predeterminado | Descripción |

296| :--------------- | :------- | :------------- | :--------------------------------------------------------------------------------------------- |296| :- | :- | :- | :- |

297| `sessionId` | `string` | requerido | UUID de sesión a leer (vea `listSessions()`) |297| `sessionId` | `string` | requerido | UUID de sesión a leer (vea `listSessions()`) |

298| `options.dir` | `string` | `undefined` | Directorio de proyecto para encontrar la sesión. Cuando se omite, busca en todos los proyectos |298| `options.dir` | `string` | `undefined` | Directorio de proyecto para encontrar la sesión. Cuando se omite, busca en todos los proyectos |

299| `options.limit` | `number` | `undefined` | Número máximo de mensajes a devolver |299| `options.limit` | `number` | `undefined` | Número máximo de mensajes a devolver |


304</h4>304</h4>

305 305 

306| Propiedad | Tipo | Descripción |306| Propiedad | Tipo | Descripción |

307| :------------------- | :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |307| :- | :- | :- |

308| `type` | `"user" \| "assistant"` | Rol del mensaje |308| `type` | `"user" \| "assistant"` | Rol del mensaje |

309| `uuid` | `string` | Identificador de mensaje único |309| `uuid` | `string` | Identificador de mensaje único |

310| `session_id` | `string` | Sesión a la que pertenece este mensaje |310| `session_id` | `string` | Sesión a la que pertenece este mensaje |


351</h4>351</h4>

352 352 

353| Parámetro | Tipo | Predeterminado | Descripción |353| Parámetro | Tipo | Predeterminado | Descripción |

354| :------------ | :------- | :------------- | :-------------------------------------------------------------------------------------------- |354| :- | :- | :- | :- |

355| `sessionId` | `string` | requerido | UUID de la sesión a buscar |355| `sessionId` | `string` | requerido | UUID de la sesión a buscar |

356| `options.dir` | `string` | `undefined` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios de proyecto |356| `options.dir` | `string` | `undefined` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios de proyecto |

357 357 


376</h4>376</h4>

377 377 

378| Parámetro | Tipo | Predeterminado | Descripción |378| Parámetro | Tipo | Predeterminado | Descripción |

379| :------------ | :------- | :------------- | :-------------------------------------------------------------------------------------------- |379| :- | :- | :- | :- |

380| `sessionId` | `string` | requerido | UUID de la sesión a renombrar |380| `sessionId` | `string` | requerido | UUID de la sesión a renombrar |

381| `title` | `string` | requerido | Nuevo título. Debe ser no vacío después de recortar espacios en blanco |381| `title` | `string` | requerido | Nuevo título. Debe ser no vacío después de recortar espacios en blanco |

382| `options.dir` | `string` | `undefined` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios de proyecto |382| `options.dir` | `string` | `undefined` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios de proyecto |


400</h4>400</h4>

401 401 

402| Parámetro | Tipo | Predeterminado | Descripción |402| Parámetro | Tipo | Predeterminado | Descripción |

403| :------------ | :--------------- | :------------- | :-------------------------------------------------------------------------------------------- |403| :- | :- | :- | :- |

404| `sessionId` | `string` | requerido | UUID de la sesión a etiquetar |404| `sessionId` | `string` | requerido | UUID de la sesión a etiquetar |

405| `tag` | `string \| null` | requerido | Cadena de etiqueta, o `null` para borrar |405| `tag` | `string \| null` | requerido | Cadena de etiqueta, o `null` para borrar |

406| `options.dir` | `string` | `undefined` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios de proyecto |406| `options.dir` | `string` | `undefined` | Ruta del directorio del proyecto. Cuando se omite, busca en todos los directorios de proyecto |


434`resolveSettings()` acepta un único objeto de opciones. Todos los campos son opcionales.434`resolveSettings()` acepta un único objeto de opciones. Todos los campos son opcionales.

435 435 

436| Parámetro | Tipo | Predeterminado | Descripción |436| Parámetro | Tipo | Predeterminado | Descripción |

437| :------------------------------ | :------------------------------------ | :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |437| :- | :- | :- | :- |

438| `options.cwd` | `string` | `process.cwd()` | Directorio para resolver la configuración del proyecto y local relativa a |438| `options.cwd` | `string` | `process.cwd()` | Directorio para resolver la configuración del proyecto y local relativa a |

439| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | Todas las fuentes | Qué fuentes del sistema de archivos cargar. Pase `[]` para omitir la configuración del usuario, proyecto y local. La [política administrada por punto final](/docs/es/managed-settings#delivery-mechanisms) se carga en todos los casos. `resolveSettings()` incluye configuración administrada por servidor solo cuando pasa `options.serverManagedSettings` |439| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | Todas las fuentes | Qué fuentes del sistema de archivos cargar. Pase `[]` para omitir la configuración del usuario, proyecto y local. La [política administrada por punto final](/docs/es/managed-settings#delivery-mechanisms) se carga en todos los casos. `resolveSettings()` incluye configuración administrada por servidor solo cuando pasa `options.serverManagedSettings` |

440| `options.managedSettings` | `Settings` | `undefined` | Configuración de nivel de política suministrada por el host de incrustación. Sigue las mismas reglas que [`managedSettings` en `Options`](#options), excepto que `resolveSettings()` no ejecuta un [`policyHelper`](/docs/es/settings-reference#policyhelper) configurado, por lo que la instantánea puede incluir configuración que una sesión activa descarta |440| `options.managedSettings` | `Settings` | `undefined` | Configuración de nivel de política suministrada por el host de incrustación. Sigue las mismas reglas que [`managedSettings` en `Options`](#options), excepto que `resolveSettings()` no ejecuta un [`policyHelper`](/docs/es/settings-reference#policyhelper) configurado, por lo que la instantánea puede incluir configuración que una sesión activa descarta |


447`resolveSettings()` devuelve un objeto que describe la configuración fusionada y la fuente que contribuyó a cada clave.447`resolveSettings()` devuelve un objeto que describe la configuración fusionada y la fuente que contribuyó a cada clave.

448 448 

449| Propiedad | Tipo | Descripción |449| Propiedad | Tipo | Descripción |

450| :----------- | :-------------------------------------------------- | :----------------------------------------------------------------------------------------------- |450| :- | :- | :- |

451| `effective` | `Settings` | Configuración fusionada después de aplicar todas las fuentes habilitadas en orden de precedencia |451| `effective` | `Settings` | Configuración fusionada después de aplicar todas las fuentes habilitadas en orden de precedencia |

452| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Para cada clave de nivel superior en `effective`, qué fuente suministró el valor |452| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | Para cada clave de nivel superior en `effective`, qué fuente suministró el valor |

453| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Configuración sin procesar por fuente, ordenada de precedencia más baja a más alta |453| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | Configuración sin procesar por fuente, ordenada de precedencia más baja a más alta |


481Objeto de configuración para la función `query()`.481Objeto de configuración para la función `query()`.

482 482 

483| Propiedad | Tipo | Predeterminado | Descripción |483| Propiedad | Tipo | Predeterminado | Descripción |

484| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |484| :- | :- | :- | :- |

485| `abortController` | `AbortController` | `new AbortController()` | Controlador para cancelar operaciones |485| `abortController` | `AbortController` | `new AbortController()` | Controlador para cancelar operaciones |

486| `additionalDirectories` | `string[]` | `[]` | Directorios adicionales a los que Claude puede acceder. El SDK pasa cada entrada a Claude Code como `--add-dir`, por lo que con la configuración `project` Claude Code también [carga los skills, comandos y subagentes del directorio](/docs/es/permissions#additional-directories-grant-file-access-not-configuration) |486| `additionalDirectories` | `string[]` | `[]` | Directorios adicionales a los que Claude puede acceder. El SDK pasa cada entrada a Claude Code como `--add-dir`, por lo que con la configuración `project` Claude Code también [carga los skills, comandos y subagentes del directorio](/docs/es/permissions#additional-directories-grant-file-access-not-configuration) |

487| `agent` | `string` | `undefined` | Nombre del agente para el hilo principal. El agente debe estar definido en la opción `agents` o en la configuración |487| `agent` | `string` | `undefined` | Nombre del agente para el hilo principal. El agente debe estar definido en la opción `agents` o en la configuración |


634</h4>634</h4>

635 635 

636| Método | Descripción |636| Método | Descripción |

637| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |637| :- | :- |

638| `interrupt()` | Interrumpe la consulta. Solo disponible en modo de entrada de transmisión. Cuando la CLI anuncia la capacidad `interrupt_receipt_v1` en [`SDKSystemMessage.capabilities`](#sdksystemmessage), se resuelve con un [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) que enumera los mensajes que estaban pendientes cuando llegó la interrupción. Se resuelve a `undefined` en CLIs anteriores a v2.1.205 |638| `interrupt()` | Interrumpe la consulta. Solo disponible en modo de entrada de transmisión. Cuando la CLI anuncia la capacidad `interrupt_receipt_v1` en [`SDKSystemMessage.capabilities`](#sdksystemmessage), se resuelve con un [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) que enumera los mensajes que estaban pendientes cuando llegó la interrupción. Se resuelve a `undefined` en CLIs anteriores a v2.1.205 |

639| `rewindFiles(userMessageId, options?)` | Restaura archivos a su estado en el mensaje de usuario especificado. Pase `{ dryRun: true }` para obtener una vista previa de los cambios. Requiere `enableFileCheckpointing: true`. Vea [File checkpointing](/docs/es/agent-sdk/file-checkpointing) |639| `rewindFiles(userMessageId, options?)` | Restaura archivos a su estado en el mensaje de usuario especificado. Pase `{ dryRun: true }` para obtener una vista previa de los cambios. Requiere `enableFileCheckpointing: true`. Vea [File checkpointing](/docs/es/agent-sdk/file-checkpointing) |

640| `setPermissionMode()` | Cambia el modo de permiso (solo disponible en modo de entrada de transmisión) |640| `setPermissionMode()` | Cambia el modo de permiso (solo disponible en modo de entrada de transmisión) |


735</h4>735</h4>

736 736 

737| Método | Descripción |737| Método | Descripción |

738| :-------------- | :------------------------------------------------------------------------------------------------------------------------------- |738| :- | :- |

739| `query(prompt)` | Envíe un mensaje al subproceso precalentado y devuelva un [`Query`](#query-object). Solo se puede llamar una vez por `WarmQuery` |739| `query(prompt)` | Envíe un mensaje al subproceso precalentado y devuelva un [`Query`](#query-object). Solo se puede llamar una vez por `WarmQuery` |

740| `close()` | Cierre el subproceso sin enviar un mensaje. Use esto para descartar una consulta cálida que ya no es necesaria |740| `close()` | Cierre el subproceso sin enviar un mensaje. Use esto para descartar una consulta cálida que ya no es necesaria |

741 741 


1013```1013```

1014 1014 

1015| Campo | Requerido | Descripción |1015| Campo | Requerido | Descripción |

1016| :------------------------------------ | :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1016| :- | :- | :- |

1017| `description` | Sí | Descripción en lenguaje natural de cuándo usar este agente |1017| `description` | Sí | Descripción en lenguaje natural de cuándo usar este agente |

1018| `tools` | No | Matriz de nombres de herramientas permitidas. Si se omite, hereda cada [herramienta disponible para subagentes](/docs/es/sub-agents#available-tools). Para precargar Skills en el contexto del agente, use el campo `skills` en lugar de enumerar `'Skill'` aquí |1018| `tools` | No | Matriz de nombres de herramientas permitidas. Si se omite, hereda cada [herramienta disponible para subagentes](/docs/es/sub-agents#available-tools). Para precargar Skills en el contexto del agente, use el campo `skills` en lugar de enumerar `'Skill'` aquí |

1019| `disallowedTools` | No | Matriz de nombres de herramientas a desautorizar explícitamente para este agente. Los patrones de nivel de servidor MCP también se aceptan: `mcp__server` o `mcp__server__*` elimina cada herramienta de ese servidor, y `mcp__*` elimina cada herramienta MCP de cualquier servidor |1019| `disallowedTools` | No | Matriz de nombres de herramientas a desautorizar explícitamente para este agente. Los patrones de nivel de servidor MCP también se aceptan: `mcp__server` o `mcp__server__*` elimina cada herramienta de ese servidor, y `mcp__*` elimina cada herramienta MCP de cualquier servidor |


1053```1053```

1054 1054 

1055| Valor | Descripción | Ubicación |1055| Valor | Descripción | Ubicación |

1056| :---------- | :---------------------------------------------------------------------------------------------------- | :---------------------------- |1056| :- | :- | :- |

1057| `'user'` | Configuración global del usuario | `~/.claude/settings.json` |1057| `'user'` | Configuración global del usuario | `~/.claude/settings.json` |

1058| `'project'` | Configuración de proyecto compartida (controlada por versión) | `.claude/settings.json` |1058| `'project'` | Configuración de proyecto compartida (controlada por versión) | `.claude/settings.json` |

1059| `'local'` | Configuración de proyecto local, ignorada por git cuando Claude Code guarda una configuración en ella | `.claude/settings.local.json` |1059| `'local'` | Configuración de proyecto local, ignorada por git cuando Claude Code guarda una configuración en ella | `.claude/settings.local.json` |


1150```1150```

1151 1151 

1152| Opción | Tipo | Descripción |1152| Opción | Tipo | Descripción |

1153| :--------------- | :------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1153| :- | :- | :- |

1154| `signal` | `AbortSignal` | Señalizado si la operación debe abortarse |1154| `signal` | `AbortSignal` | Señalizado si la operación debe abortarse |

1155| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Actualizaciones de permiso sugeridas para que el usuario no sea solicitado nuevamente para esta herramienta. Los mensajes de Bash incluyen una sugerencia con el destino `localSettings` [destination](#permissionupdatedestination), por lo que devolverlo en `updatedPermissions` escribe la regla en `.claude/settings.local.json` y persiste entre sesiones. |1155| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Actualizaciones de permiso sugeridas para que el usuario no sea solicitado nuevamente para esta herramienta. Los mensajes de Bash incluyen una sugerencia con el destino `localSettings` [destination](#permissionupdatedestination), por lo que devolverlo en `updatedPermissions` escribe la regla en `.claude/settings.local.json` y persiste entre sesiones. |

1156| `blockedPath` | `string` | La ruta de archivo que activó la solicitud de permiso, si corresponde |1156| `blockedPath` | `string` | La ruta de archivo que activó la solicitud de permiso, si corresponde |


1201```1201```

1202 1202 

1203| Campo | Tipo | Descripción |1203| Campo | Tipo | Descripción |

1204| :------------------------------ | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1204| :- | :- | :- |

1205| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Opte por el campo `preview` en las opciones de [`AskUserQuestion`](/docs/es/agent-sdk/user-input#question-format) y establezca su formato de contenido. Cuando no está establecido, Claude no emite vistas previas |1205| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Opte por el campo `preview` en las opciones de [`AskUserQuestion`](/docs/es/agent-sdk/user-input#question-format) y establezca su formato de contenido. Cuando no está establecido, Claude no emite vistas previas |

1206 1206 

1207<h3 id="mcpserverconfig">1207<h3 id="mcpserverconfig">


1295```1295```

1296 1296 

1297| Campo | Tipo | Descripción |1297| Campo | Tipo | Descripción |

1298| :----------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1298| :- | :- | :- |

1299| `type` | `'local'` | Debe ser `'local'` (actualmente solo se soportan plugins locales) |1299| `type` | `'local'` | Debe ser `'local'` (actualmente solo se soportan plugins locales) |

1300| `path` | `string` | Ruta absoluta o relativa al directorio del plugin |1300| `path` | `string` | Ruta absoluta o relativa al directorio del plugin |

1301| `skipMcpDiscovery` | `boolean` | Cuando es `true`, el SDK carga skills, hooks, agentes y comandos de este plugin pero no lee su `.mcp.json` o manifest `mcpServers`. Establezca esto cuando su aplicación sea propietaria de las conexiones MCP del plugin. |1301| `skipMcpDiscovery` | `boolean` | Cuando es `true`, el SDK carga skills, hooks, agentes y comandos de este plugin pero no lee su `.mcp.json` o manifest `mcpServers`. Establezca esto cuando su aplicación sea propietaria de las conexiones MCP del plugin. |


1549Use el código de razón para explicar por qué el modo rápido está desactivado en su propia interfaz en lugar de volver a derivar la disponibilidad. Cada código nombra la verificación que bloqueó el modo rápido:1549Use el código de razón para explicar por qué el modo rápido está desactivado en su propia interfaz en lugar de volver a derivar la disponibilidad. Cada código nombra la verificación que bloqueó el modo rápido:

1550 1550 

1551| Código de razón | Significado |1551| Código de razón | Significado |

1552| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |1552| - | - |

1553| `free` | La cuenta no tiene la suscripción pagada o créditos de uso que requiere el modo rápido |1553| `free` | La cuenta no tiene la suscripción pagada o créditos de uso que requiere el modo rápido |

1554| `preference` | La organización ha deshabilitado el modo rápido |1554| `preference` | La organización ha deshabilitado el modo rápido |

1555| `extra_usage_disabled` | Los créditos de uso están desactivados para la cuenta |1555| `extra_usage_disabled` | Los créditos de uso están desactivados para la cuenta |


1653Cada valor nombra un rechazo:1653Cada valor nombra un rechazo:

1654 1654 

1655| Valor | Qué detuvo la sesión |1655| Valor | Qué detuvo la sesión |

1656| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1656| :- | :- |

1657| `org_pin_api_key_conflict` | La configuración administrada [requiere un inicio de sesión de puerta de enlace de primera parte o en la nube](/docs/es/authentication#restrict-login-to-your-organization), y se configura una clave de API de Anthropic, token de autenticación o `apiKeyHelper` en su lugar |1657| `org_pin_api_key_conflict` | La configuración administrada [requiere un inicio de sesión de puerta de enlace de primera parte o en la nube](/docs/es/authentication#restrict-login-to-your-organization), y se configura una clave de API de Anthropic, token de autenticación o `apiKeyHelper` en su lugar |

1658| `org_verify_failed` | La organización del inicio de sesión no pudo verificarse contra el pin, por ejemplo debido a un fallo de red o un token revocado |1658| `org_verify_failed` | La organización del inicio de sesión no pudo verificarse contra el pin, por ejemplo debido a un fallo de red o un token revocado |

1659| `org_pin_mismatch` | El inicio de sesión pertenece a una organización que el pin no permite |1659| `org_pin_mismatch` | El inicio de sesión pertenece a una organización que el pin no permite |


1723La matriz `capabilities` nombra los comportamientos del protocolo que implementa este CLI, para que pueda detectar características en lugar de comparar cadenas `claude_code_version`. Es un conjunto abierto: ignore los valores que no reconozca, y verifique la capacidad específica cuyo comportamiento depende. El campo requiere Claude Code v2.1.205 o posterior y está ausente en CLI anteriores.1723La matriz `capabilities` nombra los comportamientos del protocolo que implementa este CLI, para que pueda detectar características en lugar de comparar cadenas `claude_code_version`. Es un conjunto abierto: ignore los valores que no reconozca, y verifique la capacidad específica cuyo comportamiento depende. El campo requiere Claude Code v2.1.205 o posterior y está ausente en CLI anteriores.

1724 1724 

1725| Capacidad | Significado |1725| Capacidad | Significado |

1726| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1726| - | - |

1727| `interrupt_receipt_v1` | [`interrupt()`](#query-object) se resuelve con un recibo [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) que enumera los mensajes que estaban pendientes cuando llegó la interrupción |1727| `interrupt_receipt_v1` | [`interrupt()`](#query-object) se resuelve con un recibo [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) que enumera los mensajes que estaban pendientes cuando llegó la interrupción |

1728| `interrupt_cancel_queued_v1` | La solicitud de control `interrupt` honra `cancel_queued: true`, cancelando los mensajes que el recibo enumeraría bajo `still_queued` y enumerándolos bajo `cancelled` en su lugar. Consulte [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse). Requiere Claude Code v2.1.219 o posterior |1728| `interrupt_cancel_queued_v1` | La solicitud de control `interrupt` honra `cancel_queued: true`, cancelando los mensajes que el recibo enumeraría bajo `still_queued` y enumerándolos bajo `cancelled` en su lugar. Consulte [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse). Requiere Claude Code v2.1.219 o posterior |

1729 1729 


1854```1854```

1855 1855 

1856| Campo | Tipo | Descripción |1856| Campo | Tipo | Descripción |

1857| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |1857| - | - | - |

1858| `tool_name` | `string` | Nombre de la herramienta que fue denegada |1858| `tool_name` | `string` | Nombre de la herramienta que fue denegada |

1859| `tool_use_id` | `string` | ID del bloque `tool_use` que esta denegación responde |1859| `tool_use_id` | `string` | ID del bloque `tool_use` que esta denegación responde |

1860| `agent_id` | `string` | ID del subagente cuando la llamada denegada se originó dentro de un subagente. Refleja el campo en `can_use_tool` para enrutamiento del lado del host |1860| `agent_id` | `string` | ID del subagente cuando la llamada denegada se originó dentro de un subagente. Refleja el campo en `can_use_tool` para enrutamiento del lado del host |


1920La tabla enumera lo que Claude Code pone en cada campo. Los campos de `model` a `over_limit` describen la sesión en su conjunto, y los campos de colección atribuyen tokens a elementos individuales.1920La tabla enumera lo que Claude Code pone en cada campo. Los campos de `model` a `over_limit` describen la sesión en su conjunto, y los campos de colección atribuyen tokens a elementos individuales.

1921 1921 

1922| Campo | Tipo | Descripción |1922| Campo | Tipo | Descripción |

1923| ---------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1923| - | - | - |

1924| `model` | `string` | El modelo del bucle principal para el cual Claude Code calculó el uso, no el de un subagente |1924| `model` | `string` | El modelo del bucle principal para el cual Claude Code calculó el uso, no el de un subagente |

1925| `total_tokens` | `number` | La estimación de Claude Code de los tokens en uso. No se fija a la ventana, por lo que puede exceder `raw_max_tokens` cuando la sesión está sobre el límite |1925| `total_tokens` | `number` | La estimación de Claude Code de los tokens en uso. No se fija a la ventana, por lo que puede exceder `raw_max_tokens` cuando la sesión está sobre el límite |

1926| `raw_max_tokens` | `number` | La ventana de contexto del modelo, o la [ventana de auto-compactación](/docs/es/model-config#context-window-and-auto-compaction) más baja cuando se aplica una, como la que estableció o el límite de 200K que Claude Code aplica a algunos modelos con una ventana de 1M de tokens. Claude Code mide `total_tokens` contra esta ventana |1926| `raw_max_tokens` | `number` | La ventana de contexto del modelo, o la [ventana de auto-compactación](/docs/es/model-config#context-window-and-auto-compaction) más baja cuando se aplica una, como la que estableció o el límite de 200K que Claude Code aplica a algunos modelos con una ventana de 1M de tokens. Claude Code mide `total_tokens` contra esta ventana |


1956La tabla enumera lo que Claude Code pone en cada campo de una fila.1956La tabla enumera lo que Claude Code pone en cada campo de una fila.

1957 1957 

1958| Campo | Tipo | Descripción |1958| Campo | Tipo | Descripción |

1959| -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------- |1959| - | - | - |

1960| `name` | `string` | El nombre de visualización de la fila como `/context` lo imprime, como `Messages`. Clasifique las filas por `kind`, no por nombre |1960| `name` | `string` | El nombre de visualización de la fila como `/context` lo imprime, como `Messages`. Clasifique las filas por `kind`, no por nombre |

1961| `tokens` | `number` | El recuento de tokens de la fila. Las filas pueden llevar cero tokens |1961| `tokens` | `number` | El recuento de tokens de la fila. Las filas pueden llevar cero tokens |

1962| `kind` | `string` | Lo que representa la fila: `used`, `free`, `buffer`, o `deferred` |1962| `kind` | `string` | Lo que representa la fila: `used`, `free`, `buffer`, o `deferred` |


1999```1999```

2000 2000 

2001| `kind` | Significado |2001| `kind` | Significado |

2002| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2002| - | - |

2003| `human` | Entrada directa del usuario final. Si su aplicación reenvía lo que el usuario escribió como un mensaje de usuario, establezca su `origin` en `{ kind: "human" }` explícitamente: Claude Code trata un mensaje de usuario sin `origin` como no atribuido, y verifica que requieren un prompt escrito por humanos, como la [palabra clave de flujo de trabajo `ultracode`](/docs/es/workflows#ask-for-a-workflow-in-your-prompt), no lo aceptan. Antes de v2.1.210, Claude Code trataba un `origin` ausente en un mensaje de usuario como entrada humana. |2003| `human` | Entrada directa del usuario final. Si su aplicación reenvía lo que el usuario escribió como un mensaje de usuario, establezca su `origin` en `{ kind: "human" }` explícitamente: Claude Code trata un mensaje de usuario sin `origin` como no atribuido, y verifica que requieren un prompt escrito por humanos, como la [palabra clave de flujo de trabajo `ultracode`](/docs/es/workflows#ask-for-a-workflow-in-your-prompt), no lo aceptan. Antes de v2.1.210, Claude Code trataba un `origin` ausente en un mensaje de usuario como entrada humana. |

2004| `channel` | Mensaje que llega en un [canal](/docs/es/channels). `server` es el nombre del servidor MCP de origen. |2004| `channel` | Mensaje que llega en un [canal](/docs/es/channels). `server` es el nombre del servidor MCP de origen. |

2005| `peer` | Mensaje de otro agente: un [compañero](/docs/es/agent-teams) en proceso o un [par entre sesiones](/docs/es/cross-session-messaging), otra de sus sesiones de Claude Code. Consulte [Campos de origen de par](#peer-origin-fields) para la semántica por campo y el modelo de confianza. |2005| `peer` | Mensaje de otro agente: un [compañero](/docs/es/agent-teams) en proceso o un [par entre sesiones](/docs/es/cross-session-messaging), otra de sus sesiones de Claude Code. Consulte [Campos de origen de par](#peer-origin-fields) para la semántica por campo y el modelo de confianza. |


3211Ejecuta un [flujo de trabajo dinámico](/docs/es/workflows): un script que orquesta muchos subagentes en segundo plano y devuelve un resultado consolidado. La herramienta `Workflow` está disponible en Agent SDK v0.3.149 y posterior. Se requiere al menos uno de `script`, `name` o `scriptPath`.3211Ejecuta un [flujo de trabajo dinámico](/docs/es/workflows): un script que orquesta muchos subagentes en segundo plano y devuelve un resultado consolidado. La herramienta `Workflow` está disponible en Agent SDK v0.3.149 y posterior. Se requiere al menos uno de `script`, `name` o `scriptPath`.

3212 3212 

3213| Campo | Tipo | Descripción |3213| Campo | Tipo | Descripción |

3214| ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3214| - | - | - |

3215| `script` | `string` | Script de flujo de trabajo en línea. Debe comenzar con `export const meta = { name, description }` como un literal, seguido del cuerpo del script usando `agent()`, `parallel()`, `pipeline()` y `phase()`. Una matriz `phases` opcional en `meta` agrupa agentes bajo etapas nombradas en la vista de progreso |3215| `script` | `string` | Script de flujo de trabajo en línea. Debe comenzar con `export const meta = { name, description }` como un literal, seguido del cuerpo del script usando `agent()`, `parallel()`, `pipeline()` y `phase()`. Una matriz `phases` opcional en `meta` agrupa agentes bajo etapas nombradas en la vista de progreso |

3216| `name` | `string` | Nombre de un flujo de trabajo integrado o uno guardado en `.claude/workflows/`. Se resuelve a un script |3216| `name` | `string` | Nombre de un flujo de trabajo integrado o uno guardado en `.claude/workflows/`. Se resuelve a un script |

3217| `scriptPath` | `string` | Ruta a un archivo de script de flujo de trabajo en disco. Tiene precedencia sobre `script` y `name`. Claude Code persiste cada invocación de script y devuelve la ruta en el resultado, para que pueda editar ese archivo e invocar nuevamente con el mismo `scriptPath` para iterar |3217| `scriptPath` | `string` | Ruta a un archivo de script de flujo de trabajo en disco. Tiene precedencia sobre `script` y `name`. Claude Code persiste cada invocación de script y devuelve la ruta en el resultado, para que pueda editar ese archivo e invocar nuevamente con el mismo `scriptPath` para iterar |


3893Los campos `stdout`, `stderr`, y `backgroundTaskId` llevan:3893Los campos `stdout`, `stderr`, y `backgroundTaskId` llevan:

3894 3894 

3895| Campo | Lo que lleva |3895| Campo | Lo que lleva |

3896| ------------------ | ----------------------------------------------------------------------------------------------------------------------------- |3896| - | - |

3897| `stdout` | La salida estándar y error estándar del comando, fusionados en un flujo intercalado |3897| `stdout` | La salida estándar y error estándar del comando, fusionados en un flujo intercalado |

3898| `stderr` | Avisos que la herramienta misma añade, como un reinicio del directorio de trabajo del shell, no el error estándar del comando |3898| `stderr` | Avisos que la herramienta misma añade, como un reinicio del directorio de trabajo del shell, no el error estándar del comando |

3899| `backgroundTaskId` | Presente para comandos de fondo |3899| `backgroundTaskId` | Presente para comandos de fondo |


4231Devuelve inmediatamente después de que la herramienta acepta la invocación. El resultado final llega más tarde como una finalización de tarea. Verifique `error` antes de tratar la ejecución como iniciada: un script que falla su verificación de sintaxis devuelve `status: "async_launched"` con `error` establecido, y nunca se ejecuta.4231Devuelve inmediatamente después de que la herramienta acepta la invocación. El resultado final llega más tarde como una finalización de tarea. Verifique `error` antes de tratar la ejecución como iniciada: un script que falla su verificación de sintaxis devuelve `status: "async_launched"` con `error` establecido, y nunca se ejecuta.

4232 4232 

4233| Campo | Tipo | Descripción |4233| Campo | Tipo | Descripción |

4234| --------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |4234| - | - | - |

4235| `status` | `"async_launched" \| "remote_launched"` | La herramienta aceptó la invocación. `"async_launched"` para ejecuciones en proceso, `"remote_launched"` para ejecuciones enviadas a una sesión remota en lugar de ejecutarse en proceso |4235| `status` | `"async_launched" \| "remote_launched"` | La herramienta aceptó la invocación. `"async_launched"` para ejecuciones en proceso, `"remote_launched"` para ejecuciones enviadas a una sesión remota en lugar de ejecutarse en proceso |

4236| `taskId` | `string` | Identificador de tarea de fondo para la ejecución |4236| `taskId` | `string` | Identificador de tarea de fondo para la ejecución |

4237| `taskType` | `"local_workflow" \| "remote_agent"` | Tipo de tarea de la tarea de fondo registrada, coincidiendo con el brazo `status` |4237| `taskType` | `"local_workflow" \| "remote_agent"` | Tipo de tarea de la tarea de fondo registrada, coincidiendo con el brazo `status` |


4879Claude Code reporta uno de cuatro valores:4879Claude Code reporta uno de cuatro valores:

4880 4880 

4881| Valor | Clave en uso |4881| Valor | Clave en uso |

4882| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |4882| - | - |

4883| `ANTHROPIC_API_KEY` | La clave en la variable de entorno `ANTHROPIC_API_KEY` |4883| `ANTHROPIC_API_KEY` | La clave en la variable de entorno `ANTHROPIC_API_KEY` |

4884| `apiKeyHelper` | La clave devuelta por su comando [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) |4884| `apiKeyHelper` | La clave devuelta por su comando [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) |

4885| `/login managed key` | La clave que Claude Code almacenó cuando inició sesión con una [cuenta de Claude Console](/docs/es/authentication#claude-console-authentication) |4885| `/login managed key` | La clave que Claude Code almacenó cuando inició sesión con una [cuenta de Claude Console](/docs/es/authentication#claude-console-authentication) |


4940```4940```

4941 4941 

4942| Campo | Tipo | Descripción |4942| Campo | Tipo | Descripción |

4943| :------------------------- | :----------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |4943| :- | :- | :- |

4944| `value` | `string` | Identificador de modelo para pasar en llamadas API |4944| `value` | `string` | Identificador de modelo para pasar en llamadas API |

4945| `resolvedModel` | `string \| undefined` | ID de modelo canónico que el `value` de esta entrada se resuelve a. Una entrada de alias como `sonnet` se resuelve a un ID de modelo explícito como `claude-sonnet-5`, por lo que un host puede coincidir un ID de modelo explícito almacenado contra la entrada de alias que lo cubre. Requiere Claude Code v2.1.197 o posterior. |4945| `resolvedModel` | `string \| undefined` | ID de modelo canónico que el `value` de esta entrada se resuelve a. Una entrada de alias como `sonnet` se resuelve a un ID de modelo explícito como `claude-sonnet-5`, por lo que un host puede coincidir un ID de modelo explícito almacenado contra la entrada de alias que lo cubre. Requiere Claude Code v2.1.197 o posterior. |

4946| `displayName` | `string` | Nombre de visualización legible para humanos |4946| `displayName` | `string` | Nombre de visualización legible para humanos |


4966```4966```

4967 4967 

4968| Campo | Tipo | Descripción |4968| Campo | Tipo | Descripción |

4969| :------------ | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |4969| :- | :- | :- |

4970| `name` | `string` | Identificador de tipo de agente (por ejemplo, `"Explore"`, `"general-purpose"`) |4970| `name` | `string` | Identificador de tipo de agente (por ejemplo, `"Explore"`, `"general-purpose"`) |

4971| `description` | `string` | Descripción de cuándo usar este agente |4971| `description` | `string` | Descripción de cuándo usar este agente |

4972| `model` | `string \| undefined` | Modelo que usa este agente: un alias o ID de modelo, o `'inherit'` para el modelo del padre. Cuando es `undefined`, Claude Code elige el modelo en el [orden de modelo de subagente](/docs/es/sub-agents#choose-a-model) |4972| `model` | `string \| undefined` | Modelo que usa este agente: un alias o ID de modelo, o `'inherit'` para el modelo del padre. Cuando es `undefined`, Claude Code elige el modelo en el [orden de modelo de subagente](/docs/es/sub-agents#choose-a-model) |


4985```4985```

4986 4986 

4987| Campo | Tipo | Descripción |4987| Campo | Tipo | Descripción |

4988| :------- | :------- | :-------------------------------------------------------------------------------------------------------------------------- |4988| :- | :- | :- |

4989| `name` | `string` | El nombre bajo el cual está registrado el servidor, el mismo valor que [`mcpServerStatus()`](#query-object) reporta para él |4989| `name` | `string` | El nombre bajo el cual está registrado el servidor, el mismo valor que [`mcpServerStatus()`](#query-object) reporta para él |

4990| `source` | `string` | De dónde provino la definición del servidor: `sdk`, `plugin` o un alcance de configuración |4990| `source` | `string` | De dónde provino la definición del servidor: `sdk`, `plugin` o un alcance de configuración |

4991 4991 


5190Claude Code descarta un bloque cuyo `uri` o `name` no sea una cadena, y omite un campo opcional cuyo valor no sea del tipo listado.5190Claude Code descarta un bloque cuyo `uri` o `name` no sea una cadena, y omite un campo opcional cuyo valor no sea del tipo listado.

5191 5191 

5192| Campo | Tipo | Descripción |5192| Campo | Tipo | Descripción |

5193| :------------ | :------------------------------------- | :------------------------------------------------------------------------- |5193| :- | :- | :- |

5194| `uri` | `string` | URI del recurso, como lo devolvió el servidor |5194| `uri` | `string` | URI del recurso, como lo devolvió el servidor |

5195| `name` | `string` | Nombre que el servidor le dio al recurso |5195| `name` | `string` | Nombre que el servidor le dio al recurso |

5196| `title` | `string \| undefined` | Título de visualización, cuando el servidor estableció uno |5196| `title` | `string \| undefined` | Título de visualización, cuando el servidor estableció uno |


5778```5778```

5779 5779 

5780| Propiedad | Tipo | Predeterminado | Descripción |5780| Propiedad | Tipo | Predeterminado | Descripción |

5781| :-------------------------- | :---------------------------------------------------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |5781| :- | :- | :- | :- |

5782| `enabled` | `boolean` | `false` | Habilite el modo sandbox para la ejecución de comandos |5782| `enabled` | `boolean` | `false` | Habilite el modo sandbox para la ejecución de comandos |

5783| `failIfUnavailable` | `boolean` | `true` | Deténgase al inicio si `enabled` es `true` pero el sandbox no puede iniciarse. Establezca `false` para recurrir a la ejecución sin sandbox con una advertencia en stderr |5783| `failIfUnavailable` | `boolean` | `true` | Deténgase al inicio si `enabled` es `true` pero el sandbox no puede iniciarse. Establezca `false` para recurrir a la ejecución sin sandbox con una advertencia en stderr |

5784| `autoAllowBashIfSandboxed` | `boolean` | `true` | Auto-apruebe comandos Bash cuando el sandbox está habilitado |5784| `autoAllowBashIfSandboxed` | `boolean` | `true` | Auto-apruebe comandos Bash cuando el sandbox está habilitado |


5850```5850```

5851 5851 

5852| Propiedad | Tipo | Predeterminado | Descripción |5852| Propiedad | Tipo | Predeterminado | Descripción |

5853| :------------------------ | :--------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |5853| :- | :- | :- | :- |

5854| `allowedDomains` | `string[]` | `[]` | Nombres de dominio a los que los procesos en sandbox pueden acceder |5854| `allowedDomains` | `string[]` | `[]` | Nombres de dominio a los que los procesos en sandbox pueden acceder |

5855| `deniedDomains` | `string[]` | `[]` | Nombres de dominio a los que los procesos en sandbox no pueden acceder. Tiene prioridad sobre `allowedDomains` |5855| `deniedDomains` | `string[]` | `[]` | Nombres de dominio a los que los procesos en sandbox no pueden acceder. Tiene prioridad sobre `allowedDomains` |

5856| `strictAllowlist` | `boolean` | `false` | Niegue a los comandos en sandbox el acceso a hosts fuera de la [lista de permitidos de red](/docs/es/sandboxing#network-isolation) en lugar de solicitar. Se aplica solo a comandos en sandbox; las herramientas en proceso como WebFetch no están controladas por esto. Solo se respeta desde la configuración de usuario, administrada o CLI `--settings`; la configuración del proyecto se ignora. Requiere Claude Code v2.1.219 o posterior |5856| `strictAllowlist` | `boolean` | `false` | Niegue a los comandos en sandbox el acceso a hosts fuera de la [lista de permitidos de red](/docs/es/sandboxing#network-isolation) en lugar de solicitar. Se aplica solo a comandos en sandbox; las herramientas en proceso como WebFetch no están controladas por esto. Solo se respeta desde la configuración de usuario, administrada o CLI `--settings`; la configuración del proyecto se ignora. Requiere Claude Code v2.1.219 o posterior |


5880```5880```

5881 5881 

5882| Propiedad | Tipo | Predeterminado | Descripción |5882| Propiedad | Tipo | Predeterminado | Descripción |

5883| :----------- | :--------- | :------------- | :-------------------------------------------------------------- |5883| :- | :- | :- | :- |

5884| `allowWrite` | `string[]` | `[]` | Patrones de ruta de archivo para permitir acceso de escritura a |5884| `allowWrite` | `string[]` | `[]` | Patrones de ruta de archivo para permitir acceso de escritura a |

5885| `denyWrite` | `string[]` | `[]` | Patrones de ruta de archivo para negar acceso de escritura a |5885| `denyWrite` | `string[]` | `[]` | Patrones de ruta de archivo para negar acceso de escritura a |

5886| `denyRead` | `string[]` | `[]` | Patrones de ruta de archivo para negar acceso de lectura a |5886| `denyRead` | `string[]` | `[]` | Patrones de ruta de archivo para negar acceso de lectura a |

Details

67Su devolución de llamada recibe tres argumentos:67Su devolución de llamada recibe tres argumentos:

68 68 

69| Argumento | Descripción |69| Argumento | Descripción |

70| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |70| - | - |

71| `toolName` | El nombre de la herramienta que Claude quiere usar (por ejemplo, `"Bash"`, `"Write"`, `"Edit"`) |71| `toolName` | El nombre de la herramienta que Claude quiere usar (por ejemplo, `"Bash"`, `"Write"`, `"Edit"`) |

72| `input` | Los parámetros que Claude está pasando a la herramienta. El contenido varía según la herramienta. |72| `input` | Los parámetros que Claude está pasando a la herramienta. El contenido varía según la herramienta. |

73| `options` (TS) / `context` (Python) | Contexto adicional que incluye `suggestions` opcionales (entradas `PermissionUpdate` propuestas para evitar re-solicitar) y una señal de cancelación. En TypeScript, `signal` es un `AbortSignal`; en Python, el campo de señal está reservado para uso futuro. Consulte [`ToolPermissionContext`](/docs/es/agent-sdk/python#toolpermissioncontext) para Python. |73| `options` (TS) / `context` (Python) | Contexto adicional que incluye `suggestions` opcionales (entradas `PermissionUpdate` propuestas para evitar re-solicitar) y una señal de cancelación. En TypeScript, `signal` es un `AbortSignal`; en Python, el campo de señal está reservado para uso futuro. Consulte [`ToolPermissionContext`](/docs/es/agent-sdk/python#toolpermissioncontext) para Python. |


75El objeto `input` contiene parámetros específicos de la herramienta. Ejemplos comunes:75El objeto `input` contiene parámetros específicos de la herramienta. Ejemplos comunes:

76 76 

77| Herramienta | Campos de entrada |77| Herramienta | Campos de entrada |

78| ----------- | --------------------------------------- |78| - | - |

79| `Bash` | `command`, `description`, `timeout` |79| `Bash` | `command`, `description`, `timeout` |

80| `Write` | `file_path`, `content` |80| `Write` | `file_path`, `content` |

81| `Edit` | `file_path`, `old_string`, `new_string` |81| `Edit` | `file_path`, `old_string`, `new_string` |


213Su devolución de llamada devuelve uno de dos tipos de respuesta:213Su devolución de llamada devuelve uno de dos tipos de respuesta:

214 214 

215| Respuesta | Python | TypeScript |215| Respuesta | Python | TypeScript |

216| ------------ | ------------------------------------------ | ------------------------------------- |216| - | - | - |

217| **Permitir** | `PermissionResultAllow(updated_input=...)` | `{ behavior: "allow", updatedInput }` |217| **Permitir** | `PermissionResultAllow(updated_input=...)` | `{ behavior: "allow", updatedInput }` |

218| **Denegar** | `PermissionResultDeny(message=...)` | `{ behavior: "deny", message }` |218| **Denegar** | `PermissionResultDeny(message=...)` | `{ behavior: "deny", message }` |

219 219 


513 Construya el objeto `answers` como un registro donde cada clave es el texto `question` y cada valor es la `label` de la opción seleccionada:513 Construya el objeto `answers` como un registro donde cada clave es el texto `question` y cada valor es la `label` de la opción seleccionada:

514 514 

515 | Del objeto de pregunta | Usar como |515 | Del objeto de pregunta | Usar como |

516 | ------------------------------------------------------------------- | --------- |516 | - | - |

517 | Campo `question` (por ejemplo, `"How should I format the output?"`) | Clave |517 | Campo `question` (por ejemplo, `"How should I format the output?"`) | Clave |

518 | Campo `label` de la opción seleccionada (por ejemplo, `"Summary"`) | Valor |518 | Campo `label` de la opción seleccionada (por ejemplo, `"Summary"`) | Valor |

519 519 


555La entrada contiene las preguntas generadas por Claude en un array `questions`. Cada pregunta tiene estos campos:555La entrada contiene las preguntas generadas por Claude en un array `questions`. Cada pregunta tiene estos campos:

556 556 

557| Campo | Descripción |557| Campo | Descripción |

558| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |558| - | - |

559| `question` | El texto completo de la pregunta a mostrar |559| `question` | El texto completo de la pregunta a mostrar |

560| `header` | Etiqueta corta para la pregunta (máximo 12 caracteres) |560| `header` | Etiqueta corta para la pregunta (máximo 12 caracteres) |

561| `options` | Array de 2-4 opciones, cada una con `label` y `description`. TypeScript: opcionalmente `preview`. Vea [Vistas previas de opciones](#option-previews-typescript). |561| `options` | Array de 2-4 opciones, cada una con `label` y `description`. TypeScript: opcionalmente `preview`. Vea [Vistas previas de opciones](#option-previews-typescript). |


586`toolConfig.askUserQuestion.previewFormat` agrega un campo `preview` a cada opción para que su aplicación pueda mostrar una maqueta visual junto a la etiqueta. Sin esta configuración, Claude no genera vistas previas y el campo está ausente.586`toolConfig.askUserQuestion.previewFormat` agrega un campo `preview` a cada opción para que su aplicación pueda mostrar una maqueta visual junto a la etiqueta. Sin esta configuración, Claude no genera vistas previas y el campo está ausente.

587 587 

588| `previewFormat` | `preview` contiene |588| `previewFormat` | `preview` contiene |

589| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------ |589| :- | :- |

590| sin establecer (predeterminado) | El campo está ausente. Claude no genera vistas previas. |590| sin establecer (predeterminado) | El campo está ausente. Claude no genera vistas previas. |

591| `"markdown"` | Arte ASCII y bloques de código cercados |591| `"markdown"` | Arte ASCII y bloques de código cercados |

592| `"html"` | Un fragmento `<div>` con estilo (el SDK rechaza `<script>`, `<style>` y `<!DOCTYPE>` antes de que su callback se ejecute) |592| `"html"` | Un fragmento `<div>` con estilo (el SDK rechaza `<script>`, `<style>` y `<!DOCTYPE>` antes de que su callback se ejecute) |


629Devuelva un objeto `answers` que asigne cada campo `question` de la pregunta a la `label` de la opción seleccionada:629Devuelva un objeto `answers` que asigne cada campo `question` de la pregunta a la `label` de la opción seleccionada:

630 630 

631| Campo | Descripción |631| Campo | Descripción |

632| ----------- | ----------------------------------------------------------------------------------------------------------- |632| - | - |

633| `questions` | Pase el array de preguntas original (requerido para el procesamiento de herramientas) |633| `questions` | Pase el array de preguntas original (requerido para el procesamiento de herramientas) |

634| `answers` | Objeto donde las claves son texto de pregunta y los valores son etiquetas seleccionadas |634| `answers` | Objeto donde las claves son texto de pregunta y los valores son etiquetas seleccionadas |

635| `response` | Respuesta de texto libre opcional que el usuario escribió en lugar de responder las preguntas estructuradas |635| `response` | Respuesta de texto libre opcional que el usuario escribió en lugar de responder las preguntas estructuradas |

agent-teams.md +2 −2

Details

40</Frame>40</Frame>

41 41 

42| | Subagents | Equipos de agentes |42| | Subagents | Equipos de agentes |

43| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |43| :- | :- | :- |

44| **Contexto** | Ventana de contexto propia; los resultados regresan al llamador | Ventana de contexto propia; completamente independiente |44| **Contexto** | Ventana de contexto propia; los resultados regresan al llamador | Ventana de contexto propia; completamente independiente |

45| **Comunicación** | Devuelven un resultado al llamador. Los subagents que Claude nombró cuando los generó también pueden [enviarse mensajes entre sí](/docs/es/sub-agents#what-loads-at-startup) | Los compañeros de equipo se envían mensajes directamente |45| **Comunicación** | Devuelven un resultado al llamador. Los subagents que Claude nombró cuando los generó también pueden [enviarse mensajes entre sí](/docs/es/sub-agents#what-loads-at-startup) | Los compañeros de equipo se envían mensajes directamente |

46| **Coordinación** | El agente principal gestiona todo el trabajo | Auto-coordinación a través de mensajes, más una lista de tareas compartida para [agentes que tienen las herramientas Task](/docs/es/tools-reference#task-tool-availability) |46| **Coordinación** | El agente principal gestiona todo el trabajo | Auto-coordinación a través de mensajes, más una lista de tareas compartida para [agentes que tienen las herramientas Task](/docs/es/tools-reference#task-tool-availability) |


260Un equipo de agentes consiste en:260Un equipo de agentes consiste en:

261 261 

262| Componente | Rol |262| Componente | Rol |

263| :----------------------- | :----------------------------------------------------------------------------------------- |263| :- | :- |

264| **Líder del equipo** | La sesión principal de Claude Code que genera compañeros de equipo y coordina el trabajo |264| **Líder del equipo** | La sesión principal de Claude Code que genera compañeros de equipo y coordina el trabajo |

265| **Compañeros de equipo** | Instancias separadas de Claude Code que cada una trabaja en tareas asignadas |265| **Compañeros de equipo** | Instancias separadas de Claude Code que cada una trabaja en tareas asignadas |

266| **Lista de tareas** | Lista compartida de elementos de trabajo que los compañeros de equipo reclaman y completan |266| **Lista de tareas** | Lista compartida de elementos de trabajo que los compañeros de equipo reclaman y completan |

agent-view.md +12 −12

Details

113Cada fila comienza con un icono cuyo color y animación muestran el estado de la sesión:113Cada fila comienza con un icono cuyo color y animación muestran el estado de la sesión:

114 114 

115| Estado | El icono se muestra como | Qué significa |115| Estado | El icono se muestra como | Qué significa |

116| :---------- | :----------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |116| :- | :- | :- |

117| Working | Animado | Claude está ejecutando activamente herramientas o generando una respuesta |117| Working | Animado | Claude está ejecutando activamente herramientas o generando una respuesta |

118| Needs input | Amarillo | Claude está esperando algo que solo usted puede proporcionar: una respuesta a una pregunta, una decisión de permiso, u otro mensaje que solo usted puede responder, como un mensaje de [sandbox](/docs/es/sandboxing) para permitir un host de red o la [solicitud de entrada](/docs/es/mcp#respond-to-mcp-elicitation-requests) de un servidor MCP. Un comando que necesita una terminal adjunta, como `/install-github-app` o la lista de configuración `/mcp`, también [mantiene una sesión desatendida aquí](#attach-to-a-session) |118| Needs input | Amarillo | Claude está esperando algo que solo usted puede proporcionar: una respuesta a una pregunta, una decisión de permiso, u otro mensaje que solo usted puede responder, como un mensaje de [sandbox](/docs/es/sandboxing) para permitir un host de red o la [solicitud de entrada](/docs/es/mcp#respond-to-mcp-elicitation-requests) de un servidor MCP. Un comando que necesita una terminal adjunta, como `/install-github-app` o la lista de configuración `/mcp`, también [mantiene una sesión desatendida aquí](#attach-to-a-session) |

119| Idle | Atenuado | La sesión no tiene nada que hacer y está lista para su próximo mensaje |119| Idle | Atenuado | La sesión no tiene nada que hacer y está lista para su próximo mensaje |


124Por separado, la forma del icono muestra si el proceso subyacente se está ejecutando:124Por separado, la forma del icono muestra si el proceso subyacente se está ejecutando:

125 125 

126| Forma | Qué significa |126| Forma | Qué significa |

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

128| `✻` o `✽` animado | El proceso de sesión está vivo y responde inmediatamente |128| `✻` o `✽` animado | El proceso de sesión está vivo y responde inmediatamente |

129| `∙` | El proceso ha salido. Aún puede ver la fila, y cuando responda o se adjunte, Claude reinicia desde donde lo dejó |129| `∙` | El proceso ha salido. Aún puede ver la fila, y cuando responda o se adjunte, Claude reinicia desde donde lo dejó |

130| `✢` | Una sesión [`/loop`](/docs/es/scheduled-tasks) durmiendo entre iteraciones. La fila muestra su recuento de ejecuciones y una cuenta regresiva |130| `✢` | Una sesión [`/loop`](/docs/es/scheduled-tasks) durmiendo entre iteraciones. La fila muestra su recuento de ejecuciones y una cuenta regresiva |


176El número del pull request está coloreado por su estado:176El número del pull request está coloreado por su estado:

177 177 

178| Color | Estado del pull request |178| Color | Estado del pull request |

179| :------- | :----------------------------------------------------------------- |179| :- | :- |

180| Amarillo | Esperando verificaciones o revisión, o las verificaciones fallaron |180| Amarillo | Esperando verificaciones o revisión, o las verificaciones fallaron |

181| Verde | Las verificaciones pasaron y ninguna revisión está bloqueando |181| Verde | Las verificaciones pasaron y ninguna revisión está bloqueando |

182| Púrpura | Fusionado |182| Púrpura | Fusionado |


301Escriba en la entrada de envío para filtrar en lugar de enviar:301Escriba en la entrada de envío para filtrar en lugar de enviar:

302 302 

303| Filtro | Muestra |303| Filtro | Muestra |

304| :-------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |304| :- | :- |

305| `a:<name>` | Sesiones que ejecutan el agente nombrado |305| `a:<name>` | Sesiones que ejecutan el agente nombrado |

306| `s:<state>` | Sesiones en el estado dado, como `s:working`. También acepta `s:blocked` para todo lo que está esperando por usted |306| `s:<state>` | Sesiones en el estado dado, como `s:working`. También acepta `s:blocked` para todo lo que está esperando por usted |

307| `#<number>` o una URL de pull o merge request | La sesión que funciona en ese pull request o merge request |307| `#<number>` o una URL de pull o merge request | La sesión que funciona en ese pull request o merge request |


314Presione `?` en la vista de agentes para ver cada atajo en contexto. La tabla a continuación los resume.314Presione `?` en la vista de agentes para ver cada atajo en contexto. La tabla a continuación los resume.

315 315 

316| Atajo | Acción |316| Atajo | Acción |

317| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |317| :- | :- |

318| `↑` / `↓` | Moverse entre filas |318| `↑` / `↓` | Moverse entre filas |

319| `Enter` | Adjuntarse a la sesión seleccionada, o enviar si hay texto en la entrada |319| `Enter` | Adjuntarse a la sesión seleccionada, o enviar si hay texto en la entrada |

320| `Space` | Abrir o cerrar el panel de vista previa para la sesión seleccionada |320| `Space` | Abrir o cerrar el panel de vista previa para la sesión seleccionada |


357Prefije o mencione partes del mensaje para controlar cómo comienza la sesión:357Prefije o mencione partes del mensaje para controlar cómo comienza la sesión:

358 358 

359| Entrada | Efecto |359| Entrada | Efecto |

360| :-------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |360| :- | :- |

361| `<agent-name> <prompt>` | Si la primera palabra coincide con un nombre de [subagente](/docs/es/sub-agents) personalizado, ese subagente se ejecuta como el agente principal de la sesión con la configuración de su frontmatter |361| `<agent-name> <prompt>` | Si la primera palabra coincide con un nombre de [subagente](/docs/es/sub-agents) personalizado, ese subagente se ejecuta como el agente principal de la sesión con la configuración de su frontmatter |

362| `@<agent-name>` | Mencione un subagente personalizado en cualquier lugar del mensaje para ejecutarlo como el agente principal |362| `@<agent-name>` | Mencione un subagente personalizado en cualquier lugar del mensaje para ejecutarlo como el agente principal |

363| `@<repo>` | Mencione un repositorio para ejecutar la sesión allí. Consulte [Distribuir a un directorio específico](#dispatch-to-a-specific-directory) para ver qué repositorios se enumeran |363| `@<repo>` | Mencione un repositorio para ejecutar la sesión allí. Consulte [Distribuir a un directorio específico](#dispatch-to-a-specific-directory) para ver qué repositorios se enumeran |


721La vista de agentes acepta las mismas banderas de configuración que `claude` para cargar configuración, plugins, servidores MCP y directorios adicionales. La vista de agentes aplica `--settings` y `--plugin-dir` a sí misma y pasa cada bandera de configuración a las sesiones que distribuye desde ella, por lo que un plugin o servidor MCP que cargue de esta manera está disponible en esas sesiones.721La vista de agentes acepta las mismas banderas de configuración que `claude` para cargar configuración, plugins, servidores MCP y directorios adicionales. La vista de agentes aplica `--settings` y `--plugin-dir` a sí misma y pasa cada bandera de configuración a las sesiones que distribuye desde ella, por lo que un plugin o servidor MCP que cargue de esta manera está disponible en esas sesiones.

722 722 

723| Bandera | Efecto |723| Bandera | Efecto |

724| :----------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |724| :- | :- |

725| [`--settings <file-or-json>`](/docs/es/settings) | Anule la configuración para la vista de agentes y las sesiones distribuidas |725| [`--settings <file-or-json>`](/docs/es/settings) | Anule la configuración para la vista de agentes y las sesiones distribuidas |

726| [`--add-dir <path>`](/docs/es/permissions#additional-directories-grant-file-access-not-configuration) | Otorgue acceso a archivos a un directorio adicional |726| [`--add-dir <path>`](/docs/es/permissions#additional-directories-grant-file-access-not-configuration) | Otorgue acceso a archivos a un directorio adicional |

727| [`--plugin-dir <path>`](/docs/es/plugins/create#load-a-directory-or-archive-for-one-session) | Cargue un plugin desde un directorio local |727| [`--plugin-dir <path>`](/docs/es/plugins/create#load-a-directory-or-archive-for-one-session) | Cargue un plugin desde un directorio local |


747Cada sesión en segundo plano tiene un ID corto que puede usar desde el shell. El ID se imprime cuando inicia una sesión con `claude --bg`, y el ID de cada sesión es su nombre de directorio bajo `~/.claude/jobs/`. Estos comandos son útiles para scripting o cuando no desea abrir la vista de agentes.747Cada sesión en segundo plano tiene un ID corto que puede usar desde el shell. El ID se imprime cuando inicia una sesión con `claude --bg`, y el ID de cada sesión es su nombre de directorio bajo `~/.claude/jobs/`. Estos comandos son útiles para scripting o cuando no desea abrir la vista de agentes.

748 748 

749| Comando | Propósito |749| Comando | Propósito |

750| :--------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |750| :- | :- |

751| `claude agents` | Abrir la vista de agentes |751| `claude agents` | Abrir la vista de agentes |

752| `claude agents --cwd <path>` | Abrir la vista de agentes limitada a sesiones iniciadas bajo `<path>` |752| `claude agents --cwd <path>` | Abrir la vista de agentes limitada a sesiones iniciadas bajo `<path>` |

753| `claude agents --json` | Imprimir sesiones como un array JSON y salir. Consulte [Listar sesiones como JSON](#list-sessions-as-json) |753| `claude agents --json` | Imprimir sesiones como un array JSON y salir. Consulte [Listar sesiones como JSON](#list-sessions-as-json) |


771Cada entrada describe una sesión:771Cada entrada describe una sesión:

772 772 

773| Campo | Presente | Descripción |773| Campo | Presente | Descripción |

774| :------------------------- | :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |774| :- | :- | :- |

775| `cwd`, `kind`, `startedAt` | Siempre | El directorio de trabajo, `interactive` o `background`, y la hora de inicio en milisegundos Unix |775| `cwd`, `kind`, `startedAt` | Siempre | El directorio de trabajo, `interactive` o `background`, y la hora de inicio en milisegundos Unix |

776| `id` | Sesiones en segundo plano | ID corto, utilizable con `claude attach`, `claude logs` y `claude stop` |776| `id` | Sesiones en segundo plano | ID corto, utilizable con `claude attach`, `claude logs` y `claude stop` |

777| `state` | Sesiones en segundo plano | Uno de `working`, `blocked`, `done`, `failed` o `stopped`. Consulte [Leer el estado de la sesión desde un script](#read-session-state-from-a-script) para saber qué significa cada valor |777| `state` | Sesiones en segundo plano | Uno de `working`, `blocked`, `done`, `failed` o `stopped`. Consulte [Leer el estado de la sesión desde un script](#read-session-state-from-a-script) para saber qué significa cada valor |


786`claude agents --json` es la forma compatible para leer el estado de la sesión desde fuera de Claude Code, por ejemplo desde una barra de estado, un programador o otra sesión de Claude que supervisa el trabajo en segundo plano. Consulte `claude agents --json --all`, que sigue listando sesiones cuyo proceso ha salido, y lea el `state`, `status` y `waitingFor` de cada entrada.786`claude agents --json` es la forma compatible para leer el estado de la sesión desde fuera de Claude Code, por ejemplo desde una barra de estado, un programador o otra sesión de Claude que supervisa el trabajo en segundo plano. Consulte `claude agents --json --all`, que sigue listando sesiones cuyo proceso ha salido, y lea el `state`, `status` y `waitingFor` de cada entrada.

787 787 

788| `state` | Qué significa |788| `state` | Qué significa |

789| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |789| :- | :- |

790| `working` | Se está ejecutando un turno, o la sesión está entre pasos de trabajo que impulsa por sí sola, como una iteración de [`/loop`](/docs/es/scheduled-tasks) o una espera en CI. `status` le indica si su proceso está `busy` en este momento |790| `working` | Se está ejecutando un turno, o la sesión está entre pasos de trabajo que impulsa por sí sola, como una iteración de [`/loop`](/docs/es/scheduled-tasks) o una espera en CI. `status` le indica si su proceso está `busy` en este momento |

791| `blocked` | La sesión está esperando por usted: una pregunta que hizo, una decisión de permiso o sandbox, un error que solo usted puede aclarar como un inicio de sesión expirado, o su primer prompt si la inició sin uno. Cuando la espera es un prompt abierto en un proceso activo, `waitingFor` lo nombra |791| `blocked` | La sesión está esperando por usted: una pregunta que hizo, una decisión de permiso o sandbox, un error que solo usted puede aclarar como un inicio de sesión expirado, o su primer prompt si la inició sin uno. Cuando la espera es un prompt abierto en un proceso activo, `waitingFor` lo nombra |

792| `done` | El último turno terminó lo que pidió y la sesión está lista para su siguiente prompt, independientemente de si su proceso aún está activo |792| `done` | El último turno terminó lo que pidió y la sesión está lista para su siguiente prompt, independientemente de si su proceso aún está activo |


830El estado de la sesión se almacena en su directorio de configuración de Claude Code. Si establece [`CLAUDE_CONFIG_DIR`](/docs/es/env-vars), el supervisor usa ese directorio en lugar de `~/.claude` y se ejecuta como una instancia separada con sus propias sesiones.830El estado de la sesión se almacena en su directorio de configuración de Claude Code. Si establece [`CLAUDE_CONFIG_DIR`](/docs/es/env-vars), el supervisor usa ese directorio en lugar de `~/.claude` y se ejecuta como una instancia separada con sus propias sesiones.

831 831 

832| Ruta | Contenidos |832| Ruta | Contenidos |

833| :------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |833| :- | :- |

834| `~/.claude/daemon.log` | Registro del supervisor |834| `~/.claude/daemon.log` | Registro del supervisor |

835| `~/.claude/daemon/roster.json` | Lista de sesiones en segundo plano en ejecución, utilizada para reconectarse después de un reinicio |835| `~/.claude/daemon/roster.json` | Lista de sesiones en segundo plano en ejecución, utilizada para reconectarse después de un reinicio |

836| `~/.claude/jobs/<id>/state.json` | Estado por sesión mostrado en la vista de agentes. Léalo a través de [`claude agents --json`](#read-session-state-from-a-script) en lugar de analizar el archivo |836| `~/.claude/jobs/<id>/state.json` | Estado por sesión mostrado en la vista de agentes. Léalo a través de [`claude agents --json`](#read-session-state-from-a-script) en lugar de analizar el archivo |


1047La vista de agentes ha evolucionado rápidamente durante la vista previa de investigación. Si está en una versión anterior de Claude Code, algunos comportamientos en esta página pueden diferir; en particular, `claude agents` rechaza banderas que aún no admite con un error `unknown option`. La tabla a continuación enumera cuándo se agregó cada bandera y comportamiento.1047La vista de agentes ha evolucionado rápidamente durante la vista previa de investigación. Si está en una versión anterior de Claude Code, algunos comportamientos en esta página pueden diferir; en particular, `claude agents` rechaza banderas que aún no admite con un error `unknown option`. La tabla a continuación enumera cuándo se agregó cada bandera y comportamiento.

1048 1048 

1049| Versión | Cambio |1049| Versión | Cambio |

1050| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1050| - | - |

1051| v2.1.268 | Cuando una [eliminación se rechaza](#what-deleting-a-session-removes) porque git o su hook `WorktreeRemove` no pudieron eliminar el worktree, el mensaje nombra la causa, incluyendo cómo terminó un hook y el inicio de su stderr. Para un worktree vinculado bajo el directorio `.claude/worktrees/` del repositorio sin cambios sin confirmar en archivos rastreados, sin repositorio anidado dentro de él, y sin que el registro de otra sesión lo nombre, eliminar la sesión nuevamente elimina el directorio de todas formas, desde la vista de agentes o con `claude rm <id> --force-remove-worktree <worktree-id>`. Antes de esta versión, la fila mostraba solo `worktree could not be removed (WorktreeRemove hook failed)` o el error de git, el stderr del hook iba solo al registro de depuración, y eliminar nuevamente se rechazaba de la misma manera. |1051| v2.1.268 | Cuando una [eliminación se rechaza](#what-deleting-a-session-removes) porque git o su hook `WorktreeRemove` no pudieron eliminar el worktree, el mensaje nombra la causa, incluyendo cómo terminó un hook y el inicio de su stderr. Para un worktree vinculado bajo el directorio `.claude/worktrees/` del repositorio sin cambios sin confirmar en archivos rastreados, sin repositorio anidado dentro de él, y sin que el registro de otra sesión lo nombre, eliminar la sesión nuevamente elimina el directorio de todas formas, desde la vista de agentes o con `claude rm <id> --force-remove-worktree <worktree-id>`. Antes de esta versión, la fila mostraba solo `worktree could not be removed (WorktreeRemove hook failed)` o el error de git, el stderr del hook iba solo al registro de depuración, y eliminar nuevamente se rechazaba de la misma manera. |

1052| v2.1.268 | Después de que la primera `←` muestra `Press ← again to open agents`, o `Press ← again to go back to agents` en una sesión adjunta, [el primer presionar que llega al menos un segundo después cambia](#switch-sessions-without-leaving-the-terminal), incluso cuando los presionamientos más rápidos entre medias fueron ignorados. Antes de esta versión, cada presionar ignorado reiniciaba la espera, por lo que presionar `←` nuevamente a un ritmo constante no cambiaba hasta que pausaba durante más de un segundo. |1052| v2.1.268 | Después de que la primera `←` muestra `Press ← again to open agents`, o `Press ← again to go back to agents` en una sesión adjunta, [el primer presionar que llega al menos un segundo después cambia](#switch-sessions-without-leaving-the-terminal), incluso cuando los presionamientos más rápidos entre medias fueron ignorados. Antes de esta versión, cada presionar ignorado reiniciaba la espera, por lo que presionar `←` nuevamente a un ritmo constante no cambiaba hasta que pausaba durante más de un segundo. |

1053| v2.1.260 | Cuando [envía una sesión al segundo plano](#from-inside-a-session), el [listado de agentes](/docs/es/cross-session-messaging#see-which-sessions-claude-can-reach) de sus otras sesiones muestra la conversación una vez, como su sesión de fondo, y sus mensajes a ella ya no llegan a la terminal desde la que la movió. Antes de esta versión, esa terminal podría permanecer listada como una segunda sesión interactiva bajo el nombre de la conversación, y una sesión que había enviado un mensaje a la conversación antes del movimiento continuaba entregando a esa terminal. |1053| v2.1.260 | Cuando [envía una sesión al segundo plano](#from-inside-a-session), el [listado de agentes](/docs/es/cross-session-messaging#see-which-sessions-claude-can-reach) de sus otras sesiones muestra la conversación una vez, como su sesión de fondo, y sus mensajes a ella ya no llegan a la terminal desde la que la movió. Antes de esta versión, esa terminal podría permanecer listada como una segunda sesión interactiva bajo el nombre de la conversación, y una sesión que había enviado un mensaje a la conversación antes del movimiento continuaba entregando a esa terminal. |

agents.md +1 −1

Details

9Claude Code tiene cinco formas de trabajar en varias tareas a la vez: [subagentes](/docs/es/sub-agents), [vista de agentes](/docs/es/agent-view), [equipos de agentes](/docs/es/agent-teams), [flujos de trabajo dinámicos](/docs/es/workflows) y [proyectos](/docs/es/claude-projects). Se diferencian en cuánto se mantiene involucrado, desde dirigir cada conversación usted mismo hasta dejar que Claude coordine un grupo de trabajadores, y en si el trabajo se ejecuta en su máquina o en la nube.9Claude Code tiene cinco formas de trabajar en varias tareas a la vez: [subagentes](/docs/es/sub-agents), [vista de agentes](/docs/es/agent-view), [equipos de agentes](/docs/es/agent-teams), [flujos de trabajo dinámicos](/docs/es/workflows) y [proyectos](/docs/es/claude-projects). Se diferencian en cuánto se mantiene involucrado, desde dirigir cada conversación usted mismo hasta dejar que Claude coordine un grupo de trabajadores, y en si el trabajo se ejecuta en su máquina o en la nube.

10 10 

11| Enfoque | Lo que le proporciona | Úselo cuando |11| Enfoque | Lo que le proporciona | Úselo cuando |

12| :------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |12| :- | :- | :- |

13| [Subagentes](/docs/es/sub-agents) | Trabajadores delegados dentro de una sesión que realizan una tarea secundaria en su propio contexto y devuelven un resumen | Una tarea secundaria inundaría su conversación principal con resultados de búsqueda, registros o contenidos de archivos que no volverá a consultar |13| [Subagentes](/docs/es/sub-agents) | Trabajadores delegados dentro de una sesión que realizan una tarea secundaria en su propio contexto y devuelven un resumen | Una tarea secundaria inundaría su conversación principal con resultados de búsqueda, registros o contenidos de archivos que no volverá a consultar |

14| [Vista de agentes](/docs/es/agent-view) | Una pantalla para enviar y monitorear sesiones que se ejecutan en segundo plano, abierta con `claude agents`. Vista previa de investigación | Tiene varias tareas independientes y desea delegarlas, verificar el estado de un vistazo e intervenir solo cuando una lo necesite |14| [Vista de agentes](/docs/es/agent-view) | Una pantalla para enviar y monitorear sesiones que se ejecutan en segundo plano, abierta con `claude agents`. Vista previa de investigación | Tiene varias tareas independientes y desea delegarlas, verificar el estado de un vistazo e intervenir solo cuando una lo necesite |

15| [Equipos de agentes](/docs/es/agent-teams) | Múltiples sesiones coordinadas con una lista de tareas compartida y mensajería entre agentes, administradas por un líder. Experimental y deshabilitado por defecto | Desea que Claude divida un proyecto en partes, las asigne y mantenga a los trabajadores sincronizados |15| [Equipos de agentes](/docs/es/agent-teams) | Múltiples sesiones coordinadas con una lista de tareas compartida y mensajería entre agentes, administradas por un líder. Experimental y deshabilitado por defecto | Desea que Claude divida un proyecto en partes, las asigne y mantenga a los trabajadores sincronizados |

Details

304Para mantener los modelos predeterminados integrados y cambiar solo su prefijo preferido, establezca [`ANTHROPIC_BEDROCK_REGION_PREFIX`](#cross-region-inference-profile-prefixes) en su lugar de fijar. La diferencia se muestra en lo que el alias `opus` se resuelve a:304Para mantener los modelos predeterminados integrados y cambiar solo su prefijo preferido, establezca [`ANTHROPIC_BEDROCK_REGION_PREFIX`](#cross-region-inference-profile-prefixes) en su lugar de fijar. La diferencia se muestra en lo que el alias `opus` se resuelve a:

305 305 

306| Usted establece | El alias `opus` se resuelve a |306| Usted establece | El alias `opus` se resuelve a |

307| :------------------------------------------------------------ | :----------------------------------------------------------------------------------- |307| :- | :- |

308| `ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` | `us.anthropic.claude-opus-4-8`, el ID exacto que fijó |308| `ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` | `us.anthropic.claude-opus-4-8`, el ID exacto que fijó |

309| `ANTHROPIC_BEDROCK_REGION_PREFIX=eu` | `eu.anthropic.claude-opus-5-5`, el predeterminado integrado con su prefijo preferido |309| `ANTHROPIC_BEDROCK_REGION_PREFIX=eu` | `eu.anthropic.claude-opus-5-5`, el predeterminado integrado con su prefijo preferido |

310 310 


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

314 314 

315| Tipo de modelo | Modelo predeterminado |315| Tipo de modelo | Modelo predeterminado |

316| :-------------------- | :------------------------------------------------------------------------------------------ |316| :- | :- |

317| Modelo principal | Opus 5.5, por ejemplo `us.anthropic.claude-opus-5-5` en una región `us-*` |317| Modelo principal | Opus 5.5, por ejemplo `us.anthropic.claude-opus-5-5` en una región `us-*` |

318| Modelo pequeño/rápido | Sonnet 4.5, por ejemplo `us.anthropic.claude-sonnet-4-5-20250929-v1:0` en una región `us-*` |318| Modelo pequeño/rápido | Sonnet 4.5, por ejemplo `us.anthropic.claude-sonnet-4-5-20250929-v1:0` en una región `us-*` |

319 319 


391En la [API Invoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) de Amazon Bedrock, Claude Code resuelve sus modelos predeterminados integrados a [IDs de perfil de inferencia entre regiones](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html); para enrutar versiones de modelos a través de sus propios perfiles de inferencia, consulte [Asignar cada versión de modelo a un perfil de inferencia](#map-each-model-version-to-an-inference-profile). Esta tabla muestra el prefijo que Claude Code prefiere para cada región de AWS resuelta:391En la [API Invoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) de Amazon Bedrock, Claude Code resuelve sus modelos predeterminados integrados a [IDs de perfil de inferencia entre regiones](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html); para enrutar versiones de modelos a través de sus propios perfiles de inferencia, consulte [Asignar cada versión de modelo a un perfil de inferencia](#map-each-model-version-to-an-inference-profile). Esta tabla muestra el prefijo que Claude Code prefiere para cada región de AWS resuelta:

392 392 

393| Región de AWS | Prefijo |393| Región de AWS | Prefijo |

394| :------------------------ | :-------- |394| :- | :- |

395| `us-gov-*` (AWS GovCloud) | `us-gov.` |395| `us-gov-*` (AWS GovCloud) | `us-gov.` |

396| `us-*` | `us.` |396| `us-*` | `us.` |

397| `eu-*` | `eu.` |397| `eu-*` | `eu.` |


591Estas variables son específicas del punto final de Mantle. Vea [Variables de entorno](/docs/es/env-vars) para la lista completa.591Estas variables son específicas del punto final de Mantle. Vea [Variables de entorno](/docs/es/env-vars) para la lista completa.

592 592 

593| Variable | Propósito |593| Variable | Propósito |

594| :-------------------------------------- | :------------------------------------------------------------------------------------ |594| :- | :- |

595| `CLAUDE_CODE_USE_MANTLE` | Habilitar el punto final de Mantle. Establezca en `1` o `true`. |595| `CLAUDE_CODE_USE_MANTLE` | Habilitar el punto final de Mantle. Establezca en `1` o `true`. |

596| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Anular la URL del punto final de Mantle predeterminada |596| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Anular la URL del punto final de Mantle predeterminada |

597| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Omitir la autenticación del lado del cliente para configuraciones de proxy |597| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Omitir la autenticación del lado del cliente para configuraciones de proxy |

analytics.md +1 −1

Details

9Claude Code proporciona paneles de análisis para ayudar a las organizaciones a comprender los patrones de uso de desarrolladores, rastrear métricas de contribución y medir cómo Claude Code impacta la velocidad de ingeniería. Acceda al panel para su plan:9Claude Code proporciona paneles de análisis para ayudar a las organizaciones a comprender los patrones de uso de desarrolladores, rastrear métricas de contribución y medir cómo Claude Code impacta la velocidad de ingeniería. Acceda al panel para su plan:

10 10 

11| Plan | URL del panel | Incluye | Más información |11| Plan | URL del panel | Incluye | Más información |

12| ----------------------------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |12| - | - | - | - |

13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | Métricas de uso, métricas de contribución con integración de GitHub, tabla de clasificación, exportación de datos | [Detalles](#access-analytics-for-team-and-enterprise) |13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | Métricas de uso, métricas de contribución con integración de GitHub, tabla de clasificación, exportación de datos | [Detalles](#access-analytics-for-team-and-enterprise) |

14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | Métricas de uso, seguimiento de gastos, información del equipo | [Detalles](#access-analytics-for-api-customers) |14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | Métricas de uso, seguimiento de gastos, información del equipo | [Detalles](#access-analytics-for-api-customers) |

15 15 

artifacts.md +4 −4

Details

326Cada artefacto es una página independiente y autocontenida. Claude Code envuelve el archivo que publica en un shell de documento HTML y lo sirve bajo una Política de Seguridad de Contenido (CSP) estricta, que determina lo que la página puede hacer.326Cada artefacto es una página independiente y autocontenida. Claude Code envuelve el archivo que publica en un shell de documento HTML y lo sirve bajo una Política de Seguridad de Contenido (CSP) estricta, que determina lo que la página puede hacer.

327 327 

328| Restricción | Efecto |328| Restricción | Efecto |

329| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |329| :- | :- |

330| Solicitudes externas | La página puede cargar tipografías desde Google Fonts y scripts desde [cinco hosts CDN públicos](#allowlist-the-viewer-domain): cdnjs, unpkg, los CDN de Tailwind y jQuery, y rutas seleccionadas en jsDelivr como `/npm/`. La CSP bloquea todas las imágenes externas y todos los demás scripts, hojas de estilo y tipografías externas, y permite que las llamadas `fetch`, XHR y WebSocket lleguen solo al origen de la página y a los hosts de Google Fonts. Claude carga cualquier biblioteca que la página necesite desde uno de esos CDN, inserta en línea todo el CSS y JavaScript restante, e incrusta imágenes como URI de datos. Las [llamadas de Connector](#pull-live-data-with-mcp-connectors) se realizan a través de claude.ai, que realiza la llamada de red por sí misma. |330| Solicitudes externas | La página puede cargar tipografías desde Google Fonts y scripts desde [cinco hosts CDN públicos](#allowlist-the-viewer-domain): cdnjs, unpkg, los CDN de Tailwind y jQuery, y rutas seleccionadas en jsDelivr como `/npm/`. La CSP bloquea todas las imágenes externas y todos los demás scripts, hojas de estilo y tipografías externas, y permite que las llamadas `fetch`, XHR y WebSocket lleguen solo al origen de la página y a los hosts de Google Fonts. Claude carga cualquier biblioteca que la página necesite desde uno de esos CDN, inserta en línea todo el CSS y JavaScript restante, e incrusta imágenes como URI de datos. Las [llamadas de Connector](#pull-live-data-with-mcp-connectors) se realizan a través de claude.ai, que realiza la llamada de red por sí misma. |

331| Sin backend | Un artefacto es una página estática. No puede autenticar espectadores por sí mismo. |331| Sin backend | Un artefacto es una página estática. No puede autenticar espectadores por sí mismo. |

332| Descargas | La página no puede iniciar una descarga por sí misma. Para permitir que los espectadores guarden un archivo que genera la página, Claude declara la capacidad de descargas. Consulte [Ofrecer una descarga de archivo](#offer-a-file-download). |332| Descargas | La página no puede iniciar una descarga por sí misma. Para permitir que los espectadores guarden un archivo que genera la página, Claude declara la capacidad de descargas. Consulte [Ofrecer una descarga de archivo](#offer-a-file-download). |


347Los artefactos requieren todas las condiciones a continuación. Cuando una no se cumple, Claude escribe un archivo HTML local o dice que no puede publicar.347Los artefactos requieren todas las condiciones a continuación. Cuando una no se cumple, Claude escribe un archivo HTML local o dice que no puede publicar.

348 348 

349| Requisito | Disponible cuando |349| Requisito | Disponible cuando |

350| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |350| :- | :- |

351| Plan | Pro, Max, Team o Enterprise. En planes Pro y Max, los artefactos son privados para usted hasta que los comparta, y no se aplica ninguna gestión de administrador. En planes de Team, los artefactos están habilitados de forma predeterminada. En planes de Enterprise, un propietario [los habilita](#manage-artifacts-for-your-organization) en la configuración de administrador de claude.ai. |351| Plan | Pro, Max, Team o Enterprise. En planes Pro y Max, los artefactos son privados para usted hasta que los comparta, y no se aplica ninguna gestión de administrador. En planes de Team, los artefactos están habilitados de forma predeterminada. En planes de Enterprise, un propietario [los habilita](#manage-artifacts-for-your-organization) en la configuración de administrador de claude.ai. |

352| Autenticación | La sesión está respaldada por una cuenta de claude.ai: inicie sesión con `/login` en la CLI o la aplicación de escritorio. Las sesiones de Claude Tag están autenticadas a través de la identidad del agente, por lo que no se requiere ningún paso. Las sesiones que usan una clave API, [token de puerta de enlace](/docs/es/llm-gateway) o credencial de proveedor de nube no pueden publicar. |352| Autenticación | La sesión está respaldada por una cuenta de claude.ai: inicie sesión con `/login` en la CLI o la aplicación de escritorio. Las sesiones de Claude Tag están autenticadas a través de la identidad del agente, por lo que no se requiere ningún paso. Las sesiones que usan una clave API, [token de puerta de enlace](/docs/es/llm-gateway) o credencial de proveedor de nube no pueden publicar. |

353| Proveedor de modelo | API de Anthropic. No disponible en [Amazon Bedrock](/docs/es/amazon-bedrock), [Google Cloud's Agent Platform](/docs/es/google-vertex-ai) o [Microsoft Foundry](/docs/es/microsoft-foundry). |353| Proveedor de modelo | API de Anthropic. No disponible en [Amazon Bedrock](/docs/es/amazon-bedrock), [Google Cloud's Agent Platform](/docs/es/google-vertex-ai) o [Microsoft Foundry](/docs/es/microsoft-foundry). |


365Para desactivar los artefactos en sus propias sesiones independientemente de la configuración de su organización, use cualquiera de:365Para desactivar los artefactos en sus propias sesiones independientemente de la configuración de su organización, use cualquiera de:

366 366 

367| Dónde | Qué hacer |367| Dónde | Qué hacer |

368| :--------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |368| :- | :- |

369| [`/config`](/docs/es/commands) | Desactive la fila **Artifacts**, que escribe [`"enableArtifact": false`](/docs/es/settings-reference#enableartifact) en su configuración de usuario |369| [`/config`](/docs/es/commands) | Desactive la fila **Artifacts**, que escribe [`"enableArtifact": false`](/docs/es/settings-reference#enableartifact) en su configuración de usuario |

370| [Archivo de configuración](/docs/es/settings) | Establezca `"enableArtifact": false`. El deprecated `"disableArtifact": true` también desactiva los artefactos |370| [Archivo de configuración](/docs/es/settings) | Establezca `"enableArtifact": false`. El deprecated `"disableArtifact": true` también desactiva los artefactos |

371| [Variable de entorno](/docs/es/env-vars) | Establezca `CLAUDE_CODE_DISABLE_ARTIFACT=1` |371| [Variable de entorno](/docs/es/env-vars) | Establezca `CLAUDE_CODE_DISABLE_ARTIFACT=1` |


430La [API de Cumplimiento](https://docs.claude.com/en/api/compliance) proporciona puntos finales para enumerar los artefactos de una organización, recuperar el contenido de una versión específica y eliminar un artefacto:430La [API de Cumplimiento](https://docs.claude.com/en/api/compliance) proporciona puntos finales para enumerar los artefactos de una organización, recuperar el contenido de una versión específica y eliminar un artefacto:

431 431 

432| Método | Punto final |432| Método | Punto final |

433| :------- | :------------------------------------------------------------------ |433| :- | :- |

434| `GET` | `/v1/compliance/code/artifacts` |434| `GET` | `/v1/compliance/code/artifacts` |

435| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |435| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |

436| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |436| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |

Details

249Claude Code verifica tres fuentes en este orden y se detiene en la primera que está establecida. La tabla muestra qué establece cada fuente y dónde se clasifica contra su credencial `/login`.249Claude Code verifica tres fuentes en este orden y se detiene en la primera que está establecida. La tabla muestra qué establece cada fuente y dónde se clasifica contra su credencial `/login`.

250 250 

251| Fuente | Establecido por | Clasificación contra `/login` |251| Fuente | Establecido por | Clasificación contra `/login` |

252| :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |252| :- | :- | :- |

253| Perfil nombrado | `ANTHROPIC_PROFILE` | Arriba, cualquiera que sea el modo de autenticación que tenga el perfil |253| Perfil nombrado | `ANTHROPIC_PROFILE` | Arriba, cualquiera que sea el modo de autenticación que tenga el perfil |

254| Variables de federación | `ANTHROPIC_FEDERATION_RULE_ID` y `ANTHROPIC_ORGANIZATION_ID`, ambas establecidas | Arriba |254| Variables de federación | `ANTHROPIC_FEDERATION_RULE_ID` y `ANTHROPIC_ORGANIZATION_ID`, ambas establecidas | Arriba |

255| Perfil activo | El archivo [`active_config`](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) en su directorio de configuración, o un perfil nombrado `default` | Arriba cuando su modo de autenticación es `oidc_federation`; debajo de una credencial `/login` que funciona cuando su modo de autenticación es `user_oauth` |255| Perfil activo | El archivo [`active_config`](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) en su directorio de configuración, o un perfil nombrado `default` | Arriba cuando su modo de autenticación es `oidc_federation`; debajo de una credencial `/login` que funciona cuando su modo de autenticación es `user_oauth` |

Details

60Elija el mecanismo que se ajuste a lo firme que deba ser el límite:60Elija el mecanismo que se ajuste a lo firme que deba ser el límite:

61 61 

62| Límite | Mecanismo | Comportamiento en modo automático |62| Límite | Mecanismo | Comportamiento en modo automático |

63| :---------------------------- | :--------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |63| :- | :- | :- |

64| Solicitar antes de la acción | `permissions.ask` | Siempre solicita para un comando que coincida con una regla con alcance de contenido como la receta anterior. El clasificador no puede aprobar automáticamente una acción coincidente. |64| Solicitar antes de la acción | `permissions.ask` | Siempre solicita para un comando que coincida con una regla con alcance de contenido como la receta anterior. El clasificador no puede aprobar automáticamente una acción coincidente. |

65| Nunca ejecutar la acción | `permissions.deny` | Bloquea antes de que se consulte el clasificador. Ni el clasificador ni la intención del usuario pueden anularlo. |65| Nunca ejecutar la acción | `permissions.deny` | Bloquea antes de que se consulte el clasificador. Ni el clasificador ni la intención del usuario pueden anularlo. |

66| Límite único para esta sesión | Indíquelo en la conversación, como "no inserte hasta que revise" | El clasificador bloquea las acciones coincidentes, pero el límite se puede perder si la [compactación de contexto](/docs/es/costs#reduce-token-usage) elimina el mensaje que lo indicaba. Utilice una regla de solicitud o denegación para una garantía duradera. |66| Límite único para esta sesión | Indíquelo en la conversación, como "no inserte hasta que revise" | El clasificador bloquea las acciones coincidentes, pero el límite se puede perder si la [compactación de contexto](/docs/es/costs#reduce-token-usage) elimina el mensaje que lo indicaba. Utilice una regla de solicitud o denegación para una garantía duradera. |


74Para las reglas que se aplican en todos los proyectos, como la infraestructura de confianza o las reglas de denegación en toda la organización, utilice el bloque de configuración `autoMode`. El clasificador lee `autoMode` de los siguientes ámbitos:74Para las reglas que se aplican en todos los proyectos, como la infraestructura de confianza o las reglas de denegación en toda la organización, utilice el bloque de configuración `autoMode`. El clasificador lee `autoMode` de los siguientes ámbitos:

75 75 

76| Ámbito | Archivo | Usar para |76| Ámbito | Archivo | Usar para |

77| :------------------------------- | :-------------------------------------------------------- | :------------------------------------------------------------------- |77| :- | :- | :- |

78| Un desarrollador | `~/.claude/settings.json` | Infraestructura de confianza personal |78| Un desarrollador | `~/.claude/settings.json` | Infraestructura de confianza personal |

79| En toda la organización | [Configuración administrada](/docs/es/server-managed-settings) | Infraestructura de confianza distribuida a todos los desarrolladores |79| En toda la organización | [Configuración administrada](/docs/es/server-managed-settings) | Infraestructura de confianza distribuida a todos los desarrolladores |

80| Bandera `--settings` o Agent SDK | JSON en línea | Anulaciones por invocación para automatización |80| Bandera `--settings` o Agent SDK | JSON en línea | Anulaciones por invocación para automatización |

Details

37La verificación es cualquier cosa que devuelva una señal que Claude pueda leer en la conversación: un conjunto de pruebas, un código de salida de compilación, un linter, un script que compara la salida con una fixture, o una [captura de pantalla del navegador](/docs/es/chrome) comparada con un diseño. Ejecute [`/verify`](/docs/es/skills#run-and-verify-your-app) usted mismo después de que la verificación de Claude pase para confirmar el cambio contra la aplicación en ejecución.37La verificación es cualquier cosa que devuelva una señal que Claude pueda leer en la conversación: un conjunto de pruebas, un código de salida de compilación, un linter, un script que compara la salida con una fixture, o una [captura de pantalla del navegador](/docs/es/chrome) comparada con un diseño. Ejecute [`/verify`](/docs/es/skills#run-and-verify-your-app) usted mismo después de que la verificación de Claude pase para confirmar el cambio contra la aplicación en ejecución.

38 38 

39| Estrategia | Antes | Después |39| Estrategia | Antes | Después |

40| ------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |40| - | - | - |

41| **Proporcionar criterios de verificación** | *"implementar una función que valide direcciones de correo electrónico"* | *"escribir una función validateEmail. casos de prueba de ejemplo: [user@example.com](mailto:user@example.com) es verdadero, inválido es falso, [user@.com](mailto:user@.com) es falso. ejecutar las pruebas después de implementar"* |41| **Proporcionar criterios de verificación** | *"implementar una función que valide direcciones de correo electrónico"* | *"escribir una función validateEmail. casos de prueba de ejemplo: [user@example.com](mailto:user@example.com) es verdadero, inválido es falso, [user@.com](mailto:user@.com) es falso. ejecutar las pruebas después de implementar"* |

42| **Verificar cambios de UI visualmente** | *"hacer que el panel de control se vea mejor"* | *"\[pegar captura de pantalla] implementar este diseño. tomar una captura de pantalla del resultado y compararla con la original. listar diferencias y corregirlas"* |42| **Verificar cambios de UI visualmente** | *"hacer que el panel de control se vea mejor"* | *"\[pegar captura de pantalla] implementar este diseño. tomar una captura de pantalla del resultado y compararla con la original. listar diferencias y corregirlas"* |

43| **Abordar causas raíz, no síntomas** | *"la compilación está fallando"* | *"la compilación falla con este error: \[pegar error]. corregirlo y verificar que la compilación tenga éxito. abordar la causa raíz, no suprimir el error"* |43| **Abordar causas raíz, no síntomas** | *"la compilación está fallando"* | *"la compilación falla con este error: \[pegar error]. corregirlo y verificar que la compilación tenga éxito. abordar la causa raíz, no suprimir el error"* |


127Claude puede inferir intención, pero no puede leer su mente. Haga referencia a archivos específicos, mencione restricciones y señale patrones de ejemplo.127Claude puede inferir intención, pero no puede leer su mente. Haga referencia a archivos específicos, mencione restricciones y señale patrones de ejemplo.

128 128 

129| Estrategia | Antes | Después |129| Estrategia | Antes | Después |

130| ---------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |130| - | - | - |

131| **Delimitar la tarea.** Especifique qué archivo, qué escenario y preferencias de prueba. | *"agregar pruebas para foo.py"* | *"escribir una prueba para foo.py cubriendo el caso extremo donde el usuario ha cerrado sesión. evitar mocks."* |131| **Delimitar la tarea.** Especifique qué archivo, qué escenario y preferencias de prueba. | *"agregar pruebas para foo.py"* | *"escribir una prueba para foo.py cubriendo el caso extremo donde el usuario ha cerrado sesión. evitar mocks."* |

132| **Señalar fuentes.** Dirija a Claude a la fuente que puede responder una pregunta. | *"¿por qué ExecutionFactory tiene una API tan extraña?"* | *"revisar el historial de git de ExecutionFactory y resumir cómo su API llegó a ser así"* |132| **Señalar fuentes.** Dirija a Claude a la fuente que puede responder una pregunta. | *"¿por qué ExecutionFactory tiene una API tan extraña?"* | *"revisar el historial de git de ExecutionFactory y resumir cómo su API llegó a ser así"* |

133| **Hacer referencia a patrones existentes.** Señale a Claude los patrones en su código base. | *"agregar un widget de calendario"* | *"ver cómo se implementan los widgets existentes en la página de inicio para entender los patrones. HotDogWidget.php es un buen ejemplo. seguir el patrón para implementar un nuevo widget de calendario que permita al usuario seleccionar un mes y paginar hacia adelante/atrás para elegir un año. construir desde cero sin bibliotecas que no sean las ya utilizadas en el código base."* |133| **Hacer referencia a patrones existentes.** Señale a Claude los patrones en su código base. | *"agregar un widget de calendario"* | *"ver cómo se implementan los widgets existentes en la página de inicio para entender los patrones. HotDogWidget.php es un buen ejemplo. seguir el patrón para implementar un nuevo widget de calendario que permita al usuario seleccionar un mes y paginar hacia adelante/atrás para elegir un año. construir desde cero sin bibliotecas que no sean las ya utilizadas en el código base."* |


186Mantenlo conciso. Para cada línea, pregúntate: *"¿Causaría que Claude cometa errores si elimino esto?"* Si no, elimínalo. Los archivos CLAUDE.md inflados hacen que Claude ignore tus instrucciones reales.186Mantenlo conciso. Para cada línea, pregúntate: *"¿Causaría que Claude cometa errores si elimino esto?"* Si no, elimínalo. Los archivos CLAUDE.md inflados hacen que Claude ignore tus instrucciones reales.

187 187 

188| ✅ Incluir | ❌ Excluir |188| ✅ Incluir | ❌ Excluir |

189| -------------------------------------------------------------------------- | ---------------------------------------------------------------- |189| - | - |

190| Comandos Bash que Claude no puede adivinar | Cualquier cosa que Claude pueda descubrir leyendo código |190| Comandos Bash que Claude no puede adivinar | Cualquier cosa que Claude pueda descubrir leyendo código |

191| Reglas de estilo de código que difieren de los valores predeterminados | Convenciones de lenguaje estándar que Claude ya conoce |191| Reglas de estilo de código que difieren de los valores predeterminados | Convenciones de lenguaje estándar que Claude ya conoce |

192| Instrucciones de prueba y ejecutores de prueba preferidos | Documentación detallada de API (enlaza a documentos en su lugar) |192| Instrucciones de prueba y ejecutores de prueba preferidos | Documentación detallada de API (enlaza a documentos en su lugar) |


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

527 527 

528| Sesión A (Escritor) | Sesión B (Revisor) |528| Sesión A (Escritor) | Sesión B (Revisor) |

529| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |529| - | - |

530| `Implement a rate limiter for our API endpoints` | |530| `Implement a rate limiter for our API endpoints` | |

531| | `Review the rate limiter implementation in @src/middleware/rateLimiter.ts. Look for edge cases, race conditions, and consistency with our existing middleware patterns.` |531| | `Review the rate limiter implementation in @src/middleware/rateLimiter.ts. Look for edge cases, race conditions, and consistency with our existing middleware patterns.` |

532| `Here's the review feedback: [Session B output]. Address these issues.` | |532| `Here's the review feedback: [Session B output]. Address these issues.` | |

champion-kit.md +7 −7

Details

17El rol consiste en tres comportamientos que se refuerzan mutuamente.17El rol consiste en tres comportamientos que se refuerzan mutuamente.

18 18 

19| Comportamiento | Cómo se ve en la práctica | Por qué importa |19| Comportamiento | Cómo se ve en la práctica | Por qué importa |

20| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |20| - | - | - |

21| Comparta lo que descubre | Publique los prompts, capturas de pantalla y pequeñas victorias de su propio trabajo en los lugares donde su equipo ya lee, como un canal de ingeniería, un hilo de standup o una descripción de solicitud de extracción. | Los ejemplos extraídos de su propio código base son más persuasivos que cualquier documentación externa, porque los colegas pueden ver exactamente cómo se aplica la herramienta a los problemas que comparten con usted. |21| Comparta lo que descubre | Publique los prompts, capturas de pantalla y pequeñas victorias de su propio trabajo en los lugares donde su equipo ya lee, como un canal de ingeniería, un hilo de standup o una descripción de solicitud de extracción. | Los ejemplos extraídos de su propio código base son más persuasivos que cualquier documentación externa, porque los colegas pueden ver exactamente cómo se aplica la herramienta a los problemas que comparten con usted. |

22| Sea la persona a quien la gente pregunta | Cuando un colega pregunta cómo logró algo, responda con el prompt real que utilizó para que puedan aplicarlo directamente a su propia tarea. | Un ejemplo concreto y ejecutable elimina la brecha entre la curiosidad y un primer uso exitoso, que es donde se estancan la mayoría de los esfuerzos de adopción. |22| Sea la persona a quien la gente pregunta | Cuando un colega pregunta cómo logró algo, responda con el prompt real que utilizó para que puedan aplicarlo directamente a su propia tarea. | Un ejemplo concreto y ejecutable elimina la brecha entre la curiosidad y un primer uso exitoso, que es donde se estancan la mayoría de los esfuerzos de adopción. |

23| Amplíe el círculo | Establezca un pequeño número de hábitos recurrentes y ligeros, como un canal dedicado o un hilo semanal, para que el impulso continúe incluso cuando su atención esté en otro lugar. | La adopción que depende de una sola persona es frágil. La adopción que es llevada por hábitos compartidos continúa componiéndose por sí sola. |23| Amplíe el círculo | Establezca un pequeño número de hábitos recurrentes y ligeros, como un canal dedicado o un hilo semanal, para que el impulso continúe incluso cuando su atención esté en otro lugar. | La adopción que depende de una sola persona es frágil. La adopción que es llevada por hábitos compartidos continúa componiéndose por sí sola. |


29Establezca expectativas con usted mismo y con su líder. Las actividades a continuación están diseñadas para caber dentro de una semana laboral normal, y el rol debe seguir siendo un multiplicador de su trabajo existente en lugar de una responsabilidad de soporte adicional.29Establezca expectativas con usted mismo y con su líder. Las actividades a continuación están diseñadas para caber dentro de una semana laboral normal, y el rol debe seguir siendo un multiplicador de su trabajo existente en lugar de una responsabilidad de soporte adicional.

30 30 

31| Actividad | Tiempo por semana | Orientación |31| Actividad | Tiempo por semana | Orientación |

32| ------------------------------------------ | -------------------------- | --------------------------------------------------------------------------------------------------------------------------- |32| - | - | - |

33| Publicar victorias y prompts | Aproximadamente 15 minutos | Capture estos en el momento con una captura de pantalla y una o dos oraciones; evite convertirlos en escritos formales. |33| Publicar victorias y prompts | Aproximadamente 15 minutos | Capture estos en el momento con una captura de pantalla y una o dos oraciones; evite convertirlos en escritos formales. |

34| Responder preguntas en un canal compartido | Aproximadamente 20 minutos | Responda públicamente una vez, luego vincule a esa respuesta cuando la pregunta se repita. |34| Responder preguntas en un canal compartido | Aproximadamente 20 minutos | Responda públicamente una vez, luego vincule a esa respuesta cuando la pregunta se repita. |

35| Alojar un hilo semanal de demostración | Aproximadamente 5 minutos | Usted publica el prompt de apertura; el equipo proporciona el contenido. |35| Alojar un hilo semanal de demostración | Aproximadamente 5 minutos | Usted publica el prompt de apertura; el equipo proporciona el contenido. |


61Publique donde su equipo ya lee. El objetivo es colocar ejemplos en el camino del trabajo normal en lugar de crear un destino.61Publique donde su equipo ya lee. El objetivo es colocar ejemplos en el camino del trabajo normal en lugar de crear un destino.

62 62 

63| Ubicación | Mejor para | Formato recomendado |63| Ubicación | Mejor para | Formato recomendado |

64| ----------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |64| - | - | - |

65| Un canal `#claude-code` o de ingeniería general | Descubrimientos, prompts y momentos "hoy aprendí" | Una captura de pantalla acompañada de una o dos oraciones de contexto |65| Un canal `#claude-code` o de ingeniería general | Descubrimientos, prompts y momentos "hoy aprendí" | Una captura de pantalla acompañada de una o dos oraciones de contexto |

66| Descripciones de solicitudes de extracción | Demostrar el enfoque en código real que los revisores ya están leyendo | Una sola línea como "Claude y yo hicimos esta refactorización; feliz de explicar el enfoque." |66| Descripciones de solicitudes de extracción | Demostrar el enfoque en código real que los revisores ya están leyendo | Una sola línea como "Claude y yo hicimos esta refactorización; feliz de explicar el enfoque." |

67| Standups o actualizaciones escritas semanales | Normalizar el uso con líderes y gerentes de nivel superior | Una oración describiendo un resultado concreto |67| Standups o actualizaciones escritas semanales | Normalizar el uso con líderes y gerentes de nivel superior | Una oración describiendo un resultado concreto |


124</h3>124</h3>

125 125 

126| Pregunta | Respuesta sugerida | Recurso de seguimiento |126| Pregunta | Respuesta sugerida | Recurso de seguimiento |

127| ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |127| - | - | - |

128| "¿En qué debería intentarlo primero?" | Recomiende una tarea real pero contenida, idealmente un error o tarea que la persona ha estado posponiendo porque es tediosa en lugar de difícil. | [Common workflows](/docs/es/common-workflows) |128| "¿En qué debería intentarlo primero?" | Recomiende una tarea real pero contenida, idealmente un error o tarea que la persona ha estado posponiendo porque es tediosa en lugar de difícil. | [Common workflows](/docs/es/common-workflows) |

129| "¿Cómo confío en que toque mi código?" | Introduzca plan mode: presionar `Shift+Tab` lo cicla, Claude propone exactamente qué tiene la intención de cambiar, y nada se modifica hasta que el usuario aprueba. | [Permissions](/docs/es/permissions) |129| "¿Cómo confío en que toque mi código?" | Introduzca plan mode: presionar `Shift+Tab` lo cicla, Claude propone exactamente qué tiene la intención de cambiar, y nada se modifica hasta que el usuario aprueba. | [Permissions](/docs/es/permissions) |

130| "¿Vale la pena el esfuerzo de configuración?" | La instalación toma aproximadamente dos minutos, se ejecuta en la terminal y no requiere extensión IDE. Ejecutar `/init` una vez es suficiente para comenzar a trabajar. | [Quickstart](/docs/es/quickstart) |130| "¿Vale la pena el esfuerzo de configuración?" | La instalación toma aproximadamente dos minutos, se ejecuta en la terminal y no requiere extensión IDE. Ejecutar `/init` una vez es suficiente para comenzar a trabajar. | [Quickstart](/docs/es/quickstart) |


144</h3>144</h3>

145 145 

146| Patrón | Cómo ejecutarlo | Esfuerzo requerido |146| Patrón | Cómo ejecutarlo | Esfuerzo requerido |

147| ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |147| - | - | - |

148| Un canal dedicado | Cree un canal `#claude-code` (o un hilo recurrente en uno existente), fije el enlace [Quickstart](/docs/es/quickstart) y un ejemplo fuerte, y responda preguntas públicamente para que cada respuesta beneficie a todos los que están viendo. | Aproximadamente cinco minutos para configurar, luego ambiental |148| Un canal dedicado | Cree un canal `#claude-code` (o un hilo recurrente en uno existente), fije el enlace [Quickstart](/docs/es/quickstart) y un ejemplo fuerte, y responda preguntas públicamente para que cada respuesta beneficie a todos los que están viendo. | Aproximadamente cinco minutos para configurar, luego ambiental |

149| Un hilo semanal de demostración | Cada viernes, publique "¿Con qué te ayudó Claude esta semana?" No se requiere preparación, diapositivas o reunión; capturas de pantalla y descripciones cortas son suficientes. | Aproximadamente dos minutos por semana |149| Un hilo semanal de demostración | Cada viernes, publique "¿Con qué te ayudó Claude esta semana?" No se requiere preparación, diapositivas o reunión; capturas de pantalla y descripciones cortas son suficientes. | Aproximadamente dos minutos por semana |

150| Comparta un skill personalizado | Publique su archivo `.claude/skills/<name>/SKILL.md` más útil, por ejemplo un skill `/ship` que ejecuta pruebas y lint antes de confirmar, con una descripción de una línea. Debido a que los skills son Markdown simple, los colegas pueden adoptarlos inmediatamente. | Aproximadamente cinco minutos por skill |150| Comparta un skill personalizado | Publique su archivo `.claude/skills/<name>/SKILL.md` más útil, por ejemplo un skill `/ship` que ejecuta pruebas y lint antes de confirmar, con una descripción de una línea. Debido a que los skills son Markdown simple, los colegas pueden adoptarlos inmediatamente. | Aproximadamente cinco minutos por skill |


197El escepticismo saludable es esperado; los ingenieros deben ser cautelosos con las herramientas que tocan su código. La respuesta más efectiva rara vez es argumentar el caso general. En su lugar, reconozca la preocupación, ofrezca un breve replanteamiento y proponga una demostración concreta en el código de la persona. La mayoría de las preocupaciones se resuelven con una sola experiencia exitosa.197El escepticismo saludable es esperado; los ingenieros deben ser cautelosos con las herramientas que tocan su código. La respuesta más efectiva rara vez es argumentar el caso general. En su lugar, reconozca la preocupación, ofrezca un breve replanteamiento y proponga una demostración concreta en el código de la persona. La mayoría de las preocupaciones se resuelven con una sola experiencia exitosa.

198 198 

199| Preocupación | Respuesta sugerida | Evidencia a ofrecer |199| Preocupación | Respuesta sugerida | Evidencia a ofrecer |

200| ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |200| - | - | - |

201| "Soy más rápido sin esto." | Eso probablemente es cierto para el código que la persona escribe rutinariamente. Sugiera intentarlo en el trabajo que tienden a evitar: archivos heredados, servicios desconocidos o andamiaje de pruebas, donde el apalancamiento es mayor. | Cronometrar una tarea tediosa de ambas formas y comparar. |201| "Soy más rápido sin esto." | Eso probablemente es cierto para el código que la persona escribe rutinariamente. Sugiera intentarlo en el trabajo que tienden a evitar: archivos heredados, servicios desconocidos o andamiaje de pruebas, donde el apalancamiento es mayor. | Cronometrar una tarea tediosa de ambas formas y comparar. |

202| "No confío en que la IA toque el código de producción." | Acepte que ningún cambio debe aterrizar sin ser leído. Plan mode combinado con revisión de diff normal significa que nada se aplica que el ingeniero no haya inspeccionado, el mismo estándar que cualquier solicitud de extracción. | Demuestre plan mode en un archivo real. |202| "No confío en que la IA toque el código de producción." | Acepte que ningún cambio debe aterrizar sin ser leído. Plan mode combinado con revisión de diff normal significa que nada se aplica que el ingeniero no haya inspeccionado, el mismo estándar que cualquier solicitud de extracción. | Demuestre plan mode en un archivo real. |

203| "Hará que los ingenieros junior sean más débiles." | Usado bien, es un explicador efectivo. Anime a los ingenieros junior a pedirle a Claude que explique un archivo y sus sitios de llamada antes de pedirle que cambie nada. | Ejecute "Explicar @file y dónde se llama desde" juntos. |203| "Hará que los ingenieros junior sean más débiles." | Usado bien, es un explicador efectivo. Anime a los ingenieros junior a pedirle a Claude que explique un archivo y sus sitios de llamada antes de pedirle que cambie nada. | Ejecute "Explicar @file y dónde se llama desde" juntos. |


211Las técnicas a continuación son las que más confiablemente mueven a alguien de una primera prueba al uso diario. Fije esta tabla en un canal o compártala por su cuenta.211Las técnicas a continuación son las que más confiablemente mueven a alguien de una primera prueba al uso diario. Fije esta tabla en un canal o compártala por su cuenta.

212 212 

213| Técnica | Cómo aplicarla |213| Técnica | Cómo aplicarla |

214| ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |214| - | - |

215| Proporcione el contexto correcto | Use referencias `@file` o `@directory/`, o pegue la salida de error o registro directamente. Proporcionar contexto relevante es más efectivo que un prompt elaborado. |215| Proporcione el contexto correcto | Use referencias `@file` o `@directory/`, o pegue la salida de error o registro directamente. Proporcionar contexto relevante es más efectivo que un prompt elaborado. |

216| Revise el plan antes de la edición | Presione `Shift+Tab` para entrar en plan mode. Claude describirá los cambios previstos para su aprobación antes de ejecutarlos. |216| Revise el plan antes de la edición | Presione `Shift+Tab` para entrar en plan mode. Claude describirá los cambios previstos para su aprobación antes de ejecutarlos. |

217| Enseñe su repositorio | Ejecute `/init` para generar un archivo `CLAUDE.md`, luego agregue sus convenciones, comandos de prueba y cualquier directorio que no deba modificarse. Ver [Memory](/docs/es/memory). |217| Enseñe su repositorio | Ejecute `/init` para generar un archivo `CLAUDE.md`, luego agregue sus convenciones, comandos de prueba y cualquier directorio que no deba modificarse. Ver [Memory](/docs/es/memory). |

channels.md +2 −2

Details

316En todos los casos, ningún channel se ejecuta hasta que un usuario lo opte por la sesión con `--channels`.316En todos los casos, ningún channel se ejecuta hasta que un usuario lo opte por la sesión con `--channels`.

317 317 

318| Configuración | Propósito | Cuando no está configurado |318| Configuración | Propósito | Cuando no está configurado |

319| :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |319| :- | :- | :- |

320| `channelsEnabled` | Interruptor maestro. Debe ser `true` para que cualquier channel entregue mensajes. Bloquea todos los channels incluida la bandera de desarrollo cuando está desactivado. Consulte [Habilitar channels para su organización](#enable-channels-for-your-organization). | claude.ai Team y Enterprise: channels bloqueados. Console: channels permitidos a menos que su organización implemente configuración administrada, en cuyo caso los channels se bloquean hasta que se establezca esta clave |320| `channelsEnabled` | Interruptor maestro. Debe ser `true` para que cualquier channel entregue mensajes. Bloquea todos los channels incluida la bandera de desarrollo cuando está desactivado. Consulte [Habilitar channels para su organización](#enable-channels-for-your-organization). | claude.ai Team y Enterprise: channels bloqueados. Console: channels permitidos a menos que su organización implemente configuración administrada, en cuyo caso los channels se bloquean hasta que se establezca esta clave |

321| `allowedChannelPlugins` | Qué plugins pueden registrarse una vez que los channels están habilitados. Reemplaza la lista mantenida por Anthropic cuando se establece. | Se aplica la lista predeterminada de Anthropic |321| `allowedChannelPlugins` | Qué plugins pueden registrarse una vez que los channels están habilitados. Reemplaza la lista mantenida por Anthropic cuando se establece. | Se aplica la lista predeterminada de Anthropic |

322 322 


372Varias características de Claude Code se conectan a sistemas fuera de la terminal, cada una adecuada para un tipo diferente de trabajo:372Varias características de Claude Code se conectan a sistemas fuera de la terminal, cada una adecuada para un tipo diferente de trabajo:

373 373 

374| Característica | Qué hace | Bueno para |374| Característica | Qué hace | Bueno para |

375| --------------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------ |375| - | - | - |

376| [Claude Code en la web](/docs/es/claude-code-on-the-web) | Ejecuta tareas en una nueva sandbox en la nube, clonada desde GitHub | Delegar trabajo asincrónico independiente que verifica más tarde |376| [Claude Code en la web](/docs/es/claude-code-on-the-web) | Ejecuta tareas en una nueva sandbox en la nube, clonada desde GitHub | Delegar trabajo asincrónico independiente que verifica más tarde |

377| [Claude en Slack](/docs/es/slack) | Genera una sesión web desde una mención `@Claude` en un canal o hilo | Iniciar tareas directamente desde el contexto de conversación del equipo |377| [Claude en Slack](/docs/es/slack) | Genera una sesión web desde una mención `@Claude` en un canal o hilo | Iniciar tareas directamente desde el contexto de conversación del equipo |

378| [Servidor MCP](/docs/es/mcp) estándar | Claude lo consulta durante una tarea; nada se envía a la sesión | Dar a Claude acceso bajo demanda para leer o consultar un sistema |378| [Servidor MCP](/docs/es/mcp) estándar | Claude lo consulta durante una tarea; nada se envía a la sesión | Dar a Claude acceso bajo demanda para leer o consultar un sistema |

Details

204Un canal establece estas opciones en el constructor [`Server`](https://modelcontextprotocol.io/docs/learn/server-concepts). Los campos `instructions` y `capabilities.tools` son [MCP estándar](https://modelcontextprotocol.io/docs/learn/server-concepts); `capabilities.experimental['claude/channel']` y `capabilities.experimental['claude/channel/permission']` son las adiciones específicas del canal:204Un canal establece estas opciones en el constructor [`Server`](https://modelcontextprotocol.io/docs/learn/server-concepts). Los campos `instructions` y `capabilities.tools` son [MCP estándar](https://modelcontextprotocol.io/docs/learn/server-concepts); `capabilities.experimental['claude/channel']` y `capabilities.experimental['claude/channel/permission']` son las adiciones específicas del canal:

205 205 

206| Campo | Tipo | Descripción |206| Campo | Tipo | Descripción |

207| :------------------------------------------------------- | :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |207| :- | :- | :- |

208| `capabilities.experimental['claude/channel']` | `object` | Requerido. Siempre `{}`. La presencia registra el oyente de notificación. |208| `capabilities.experimental['claude/channel']` | `object` | Requerido. Siempre `{}`. La presencia registra el oyente de notificación. |

209| `capabilities.experimental['claude/channel/permission']` | `object` o `false` | Opcional. Establécelo en `{}` para declarar que este canal puede recibir solicitudes de retransmisión de permisos. Cuando se declara, Claude Code reenvía solicitudes de aprobación de herramientas a su canal para que pueda aprobar o denegar de forma remota. Para optar por no participar, omita la clave o establézcala en `false`. Antes de v2.1.234, Claude Code trataba `false` como declarado. Consulte [Retransmitir solicitudes de permiso](#relay-permission-prompts). |209| `capabilities.experimental['claude/channel/permission']` | `object` o `false` | Opcional. Establécelo en `{}` para declarar que este canal puede recibir solicitudes de retransmisión de permisos. Cuando se declara, Claude Code reenvía solicitudes de aprobación de herramientas a su canal para que pueda aprobar o denegar de forma remota. Para optar por no participar, omita la clave o establézcala en `false`. Antes de v2.1.234, Claude Code trataba `false` como declarado. Consulte [Retransmitir solicitudes de permiso](#relay-permission-prompts). |

210| `capabilities.tools` | `object` | Solo bidireccional. Siempre `{}`. Capacidad de herramienta MCP estándar. Consulta [Exponer una herramienta de respuesta](#expose-a-reply-tool). |210| `capabilities.tools` | `object` | Solo bidireccional. Siempre `{}`. Capacidad de herramienta MCP estándar. Consulta [Exponer una herramienta de respuesta](#expose-a-reply-tool). |


235Tu servidor emite `notifications/claude/channel` con dos parámetros:235Tu servidor emite `notifications/claude/channel` con dos parámetros:

236 236 

237| Campo | Tipo | Descripción |237| Campo | Tipo | Descripción |

238| :-------- | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |238| :- | :- | :- |

239| `content` | `string` | El cuerpo del evento. Entregado como el cuerpo de la etiqueta `<channel>`. |239| `content` | `string` | El cuerpo del evento. Entregado como el cuerpo de la etiqueta `<channel>`. |

240| `meta` | `Record<string, string>` | Opcional. Cada entrada se convierte en un atributo en la etiqueta `<channel>` para el contexto de enrutamiento como ID de chat, nombre del remitente o severidad de alerta. Las claves deben ser identificadores: solo letras, dígitos y guiones bajos. Las claves que contienen guiones u otros caracteres se descartan silenciosamente. |240| `meta` | `Record<string, string>` | Opcional. Cada entrada se convierte en un atributo en la etiqueta `<channel>` para el contexto de enrutamiento como ID de chat, nombre del remitente o severidad de alerta. Las claves deben ser identificadores: solo letras, dígitos y guiones bajos. Las claves que contienen guiones u otros caracteres se descartan silenciosamente. |

241 241 


485La notificación saliente de Claude Code es `notifications/claude/channel/permission_request`. Como la [notificación de canal](#notification-format), el transporte es MCP estándar pero el método y esquema son extensiones de Claude Code. El objeto `params` tiene cuatro campos de cadena que tu servidor formatea en la solicitud saliente:485La notificación saliente de Claude Code es `notifications/claude/channel/permission_request`. Como la [notificación de canal](#notification-format), el transporte es MCP estándar pero el método y esquema son extensiones de Claude Code. El objeto `params` tiene cuatro campos de cadena que tu servidor formatea en la solicitud saliente:

486 486 

487| Campo | Descripción |487| Campo | Descripción |

488| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |488| - | - |

489| `request_id` | Cinco letras minúsculas extraídas de `a`-`z` sin `l`, por lo que nunca se lee como `1` o `I` cuando se escribe en un teléfono. Inclúyelo en tu solicitud saliente para que pueda ser repetido en la respuesta. Claude Code solo acepta un veredicto que lleve un ID que emitió. El diálogo del terminal local no muestra este ID, por lo que tu manejador saliente es la única forma de aprenderlo. |489| `request_id` | Cinco letras minúsculas extraídas de `a`-`z` sin `l`, por lo que nunca se lee como `1` o `I` cuando se escribe en un teléfono. Inclúyelo en tu solicitud saliente para que pueda ser repetido en la respuesta. Claude Code solo acepta un veredicto que lleve un ID que emitió. El diálogo del terminal local no muestra este ID, por lo que tu manejador saliente es la única forma de aprenderlo. |

490| `tool_name` | Nombre de la herramienta que Claude quiere usar, por ejemplo `Bash` o `Write`. |490| `tool_name` | Nombre de la herramienta que Claude quiere usar, por ejemplo `Bash` o `Write`. |

491| `description` | Resumen legible por humanos de lo que hace esta llamada de herramienta específica, nunca el comando en sí. Para una llamada Bash esto es la descripción de Claude del comando; cuando el modelo no da ninguna descripción, el campo es la constante `Run shell command` y no lleva ningún detalle del comando. Renderiza `input_preview` cuando tengas espacio. |491| `description` | Resumen legible por humanos de lo que hace esta llamada de herramienta específica, nunca el comando en sí. Para una llamada Bash esto es la descripción de Claude del comando; cuando el modelo no da ninguna descripción, el campo es la constante `Run shell command` y no lleva ningún detalle del comando. Renderiza `input_preview` cuando tengas espacio. |

chrome.md +1 −1

Details

328Estos son los errores más frecuentes y cómo resolverlos:328Estos son los errores más frecuentes y cómo resolverlos:

329 329 

330| Error | Causa | Solución |330| Error | Causa | Solución |

331| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |331| - | - | - |

332| "La extensión del navegador no está conectada" | El host de mensajería nativa no puede alcanzar la extensión, o la lista de permitidos de IP de tu organización rechaza la conexión a `bridge.claudeusercontent.com` | Reinicia Chrome y Claude Code, luego ejecuta `/chrome` para reconectar. Si tu organización usa listas de permitidos de IP y el error persiste, consulta [Listas de permitidos de IP de la organización y salida de proxy](/docs/es/network-config#organization-ip-allowlists-and-proxy-egress) |332| "La extensión del navegador no está conectada" | El host de mensajería nativa no puede alcanzar la extensión, o la lista de permitidos de IP de tu organización rechaza la conexión a `bridge.claudeusercontent.com` | Reinicia Chrome y Claude Code, luego ejecuta `/chrome` para reconectar. Si tu organización usa listas de permitidos de IP y el error persiste, consulta [Listas de permitidos de IP de la organización y salida de proxy](/docs/es/network-config#organization-ip-allowlists-and-proxy-egress) |

333| La extensión muestra "No detectada" en `/chrome` | La extensión de Chrome no está instalada o está deshabilitada | Instala o habilita la extensión en `chrome://extensions` |333| La extensión muestra "No detectada" en `/chrome` | La extensión de Chrome no está instalada o está deshabilitada | Instala o habilita la extensión en `chrome://extensions` |

334| "No hay pestaña disponible" | Claude intentó actuar antes de que una pestaña estuviera lista | Pídele a Claude que cree una nueva pestaña e intente de nuevo |334| "No hay pestaña disponible" | Claude intentó actuar antes de que una pestaña estuviera lista | Pídele a Claude que cree una nueva pestaña e intente de nuevo |

Details

72Tenga estos en lugar antes de comenzar:72Tenga estos en lugar antes de comenzar:

73 73 

74| Lo que necesita | Detalles |74| Lo que necesita | Detalles |

75| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |75| - | - |

76| Claude Code v2.1.195 o posterior | El subcomando `claude gateway` y el flujo de inicio de sesión de la puerta de enlace se envían en v2.1.195. Las compilaciones públicas anteriores no las incluyen. Tanto la máquina que ejecuta el servidor de puerta de enlace como la máquina de cada desarrollador deben estar en v2.1.195 o posterior; ejecute `claude update` para obtener la última versión. La [Plataforma de Claude en AWS ascendente](/docs/es/claude-apps-gateway-config#claude-platform-on-aws) requiere Claude Code v2.1.198 o posterior en el servidor de puerta de enlace. |76| Claude Code v2.1.195 o posterior | El subcomando `claude gateway` y el flujo de inicio de sesión de la puerta de enlace se envían en v2.1.195. Las compilaciones públicas anteriores no las incluyen. Tanto la máquina que ejecuta el servidor de puerta de enlace como la máquina de cada desarrollador deben estar en v2.1.195 o posterior; ejecute `claude update` para obtener la última versión. La [Plataforma de Claude en AWS ascendente](/docs/es/claude-apps-gateway-config#claude-platform-on-aws) requiere Claude Code v2.1.198 o posterior en el servidor de puerta de enlace. |

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

78| PostgreSQL 14 o posterior | Respalda el flujo de inicio de sesión del dispositivo, donde la devolución de llamada del navegador escribe y la CLI de sondeo lee, más contadores de límite de velocidad. Cualquier Postgres administrado funciona, incluido el nivel más pequeño. Sin límites de gasto configurados, la puerta de enlace almacena algunos KB de estado de autenticación de corta duración; con [límites de gasto](/docs/es/claude-apps-gateway-spend-limits), también mantiene tablas de gasto, auditoría e identidad duraderas que deben respaldarse. TLS a través de `?sslmode=require` se recomienda. |78| PostgreSQL 14 o posterior | Respalda el flujo de inicio de sesión del dispositivo, donde la devolución de llamada del navegador escribe y la CLI de sondeo lee, más contadores de límite de velocidad. Cualquier Postgres administrado funciona, incluido el nivel más pequeño. Sin límites de gasto configurados, la puerta de enlace almacena algunos KB de estado de autenticación de corta duración; con [límites de gasto](/docs/es/claude-apps-gateway-spend-limits), también mantiene tablas de gasto, auditoría e identidad duraderas que deben respaldarse. TLS a través de `?sslmode=require` se recomienda. |


514La puerta de enlace entrega los valores [`anthropic-beta`](https://platform.claude.com/docs/es/api/beta-headers) que la CLI envía a cada ascendente, por lo que los operadores no mantienen una lista de permitidos de beta. Para Amazon Bedrock, que ignora el encabezado, la puerta de enlace mueve los valores al campo `anthropic_beta` del cuerpo de la solicitud; los otros ascendentes reciben el encabezado como se envía.514La puerta de enlace entrega los valores [`anthropic-beta`](https://platform.claude.com/docs/es/api/beta-headers) que la CLI envía a cada ascendente, por lo que los operadores no mantienen una lista de permitidos de beta. Para Amazon Bedrock, que ignora el encabezado, la puerta de enlace mueve los valores al campo `anthropic_beta` del cuerpo de la solicitud; los otros ascendentes reciben el encabezado como se envía.

515 515 

516| Característica | Estado | Notas |516| Característica | Estado | Notas |

517| ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |517| - | - | - |

518| Reenvío de inferencia (Amazon Bedrock, Claude Platform en AWS, Agent Platform de Google Cloud, Microsoft Foundry, Anthropic) | Disponible | Con traducción de modelos por ascendente y conmutación por error. El ascendente de Amazon Bedrock utiliza el punto final `bedrock-runtime` y la cadena de credenciales predeterminada de AWS; el [punto final Mantle](/docs/es/amazon-bedrock#use-the-mantle-endpoint) de Amazon Bedrock no es un ascendente compatible. El [ascendente Claude Platform en AWS](/docs/es/claude-apps-gateway-config#claude-platform-on-aws) requiere Claude Code v2.1.198 o posterior en el servidor de puerta de enlace. |518| Reenvío de inferencia (Amazon Bedrock, Claude Platform en AWS, Agent Platform de Google Cloud, Microsoft Foundry, Anthropic) | Disponible | Con traducción de modelos por ascendente y conmutación por error. El ascendente de Amazon Bedrock utiliza el punto final `bedrock-runtime` y la cadena de credenciales predeterminada de AWS; el [punto final Mantle](/docs/es/amazon-bedrock#use-the-mantle-endpoint) de Amazon Bedrock no es un ascendente compatible. El [ascendente Claude Platform en AWS](/docs/es/claude-apps-gateway-config#claude-platform-on-aws) requiere Claude Code v2.1.198 o posterior en el servidor de puerta de enlace. |

519| Acceso a modelos y configuración administrada por grupo de IdP | Disponible | El acceso a modelos se aplica del lado del servidor; la configuración administrada se entrega por grupo de IdP y se aplica por la CLI en el [nivel de configuración administrada](/docs/es/settings#settings-precedence) |519| Acceso a modelos y configuración administrada por grupo de IdP | Disponible | El acceso a modelos se aplica del lado del servidor; la configuración administrada se entrega por grupo de IdP y se aplica por la CLI en el [nivel de configuración administrada](/docs/es/settings#settings-precedence) |

520| Claude Desktop | Disponible con participación opcional | La puerta de enlace sirve la configuración de Claude Desktop en `/user/bootstrap` una vez que una política [participa con una clave `desktop`](/docs/es/claude-apps-gateway-config#claude-desktop-overlay), y Claude Desktop envía solicitudes de modelo desde sus pestañas Cowork y Code, y desde la pestaña Chat cuando la habilita, a través de la puerta de enlace. Para activar la pestaña Chat, consulte [Conectar Claude Desktop](#connect-claude-desktop). Requiere Claude Code v2.1.203 o posterior en el servidor de puerta de enlace. |520| Claude Desktop | Disponible con participación opcional | La puerta de enlace sirve la configuración de Claude Desktop en `/user/bootstrap` una vez que una política [participa con una clave `desktop`](/docs/es/claude-apps-gateway-config#claude-desktop-overlay), y Claude Desktop envía solicitudes de modelo desde sus pestañas Cowork y Code, y desde la pestaña Chat cuando la habilita, a través de la puerta de enlace. Para activar la pestaña Chat, consulte [Conectar Claude Desktop](#connect-claude-desktop). Requiere Claude Code v2.1.203 o posterior en el servidor de puerta de enlace. |

Details

46No escriba secretos como `client_secret`, `jwt_secret` o `postgres_url` directamente en `gateway.yaml`. Haga referencia a ellos con uno de los formularios a continuación, y la puerta de enlace resuelve el valor al arrancar desde una variable de entorno o un archivo:46No escriba secretos como `client_secret`, `jwt_secret` o `postgres_url` directamente en `gateway.yaml`. Haga referencia a ellos con uno de los formularios a continuación, y la puerta de enlace resuelve el valor al arrancar desde una variable de entorno o un archivo:

47 47 

48| Formulario | Se resuelve a | Usar para |48| Formulario | Se resuelve a | Usar para |

49| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- |49| - | - | - |

50| `${VAR}` | La variable de entorno `VAR`. El arranque falla si no está definida. | Variables de entorno de contenedor, AWS Secrets Manager mediante inyección de env |50| `${VAR}` | La variable de entorno `VAR`. El arranque falla si no está definida. | Variables de entorno de contenedor, AWS Secrets Manager mediante inyección de env |

51| `${file:/path}` | Contenido del archivo en esa ruta absoluta, recortado. La referencia debe ser el valor completo del campo: a diferencia de `${VAR}`, no se expande dentro de una cadena más larga, así que para una contraseña de base de datos establezca `store.password` en lugar de incrustarla en `postgres_url`. | Montajes de volumen de secreto de Kubernetes, Vault Agent, SOPS |51| `${file:/path}` | Contenido del archivo en esa ruta absoluta, recortado. La referencia debe ser el valor completo del campo: a diferencia de `${VAR}`, no se expande dentro de una cadena más larga, así que para una contraseña de base de datos establezca `store.password` en lugar de incrustarla en `postgres_url`. | Montajes de volumen de secreto de Kubernetes, Vault Agent, SOPS |

52 52 


61El bloque `listen` controla dónde sirve la puerta de enlace: la dirección de enlace y puerto, el origen visible externamente y la terminación TLS opcional.61El bloque `listen` controla dónde sirve la puerta de enlace: la dirección de enlace y puerto, el origen visible externamente y la terminación TLS opcional.

62 62 

63| Campo | Requerido | Descripción |63| Campo | Requerido | Descripción |

64| ---------------------- | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |64| - | - | - |

65| `host` | No | Dirección de enlace. Predeterminado `0.0.0.0`. |65| `host` | No | Dirección de enlace. Predeterminado `0.0.0.0`. |

66| `port` | No | Puerto de enlace. Predeterminado `8080`. |66| `port` | No | Puerto de enlace. Predeterminado `8080`. |

67| `public_url` | A menos que `host` sea loopback | El origen `https://` visible externamente, utilizado para construir el `redirect_uri` de IdP y metadatos de descubrimiento. Requerido siempre que `host` no sea una dirección loopback, ya sea que TLS termine en un proxy como ALB, Ingress o Cloud Run o en la puerta de enlace misma a través de `tls`, porque la puerta de enlace nunca deriva su propio origen de encabezados `X-Forwarded-*`; son suplantables por el cliente. El arranque falla sin él. `trusted_proxies` a continuación rige solo la resolución de IP del cliente. También es necesario para habilitar [telemetría](#telemetry), porque la puerta de enlace construye el punto final OTLP que envía a los clientes desde esta URL. |67| `public_url` | A menos que `host` sea loopback | El origen `https://` visible externamente, utilizado para construir el `redirect_uri` de IdP y metadatos de descubrimiento. Requerido siempre que `host` no sea una dirección loopback, ya sea que TLS termine en un proxy como ALB, Ingress o Cloud Run o en la puerta de enlace misma a través de `tls`, porque la puerta de enlace nunca deriva su propio origen de encabezados `X-Forwarded-*`; son suplantables por el cliente. El arranque falla sin él. `trusted_proxies` a continuación rige solo la resolución de IP del cliente. También es necesario para habilitar [telemetría](#telemetry), porque la puerta de enlace construye el punto final OTLP que envía a los clientes desde esta URL. |


77OpenID Connect (OIDC) es el protocolo SSO que la puerta de enlace utiliza con su proveedor de identidad; consulte [Configuración del proveedor de identidad](/docs/es/claude-apps-gateway-deploy#identity-provider-setup) para saber qué registrar en el lado de IdP.77OpenID Connect (OIDC) es el protocolo SSO que la puerta de enlace utiliza con su proveedor de identidad; consulte [Configuración del proveedor de identidad](/docs/es/claude-apps-gateway-deploy#identity-provider-setup) para saber qué registrar en el lado de IdP.

78 78 

79| Campo | Requerido | Descripción |79| Campo | Requerido | Descripción |

80| ------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |80| - | - | - |

81| `issuer` | Sí | Base de descubrimiento OIDC. Debe servir descubrimiento en `/.well-known/openid-configuration`. Use HTTPS en producción; la puerta de enlace acepta un emisor `http://`. Un emisor de bucle local como `http://localhost:8081` es rechazado por la [protección SSRF](/docs/es/claude-apps-gateway-deploy#threat-model-summary) a menos que `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` esté establecido en el entorno de la puerta de enlace. |81| `issuer` | Sí | Base de descubrimiento OIDC. Debe servir descubrimiento en `/.well-known/openid-configuration`. Use HTTPS en producción; la puerta de enlace acepta un emisor `http://`. Un emisor de bucle local como `http://localhost:8081` es rechazado por la [protección SSRF](/docs/es/claude-apps-gateway-deploy#threat-model-summary) a menos que `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` esté establecido en el entorno de la puerta de enlace. |

82| `client_id` / `client_secret` | Sí | De su registro de cliente OAuth |82| `client_id` / `client_secret` | Sí | De su registro de cliente OAuth |

83| `allowed_email_domains` | No | Rechace id\_tokens cuya reclamación `email` no esté en uno de estos dominios, sin distinción de mayúsculas y minúsculas. Defensa en profundidad contra configuración errónea de IdP multiinquilino. Independientemente de esta configuración, un id\_token cuya reclamación `email_verified` es explícitamente `false` siempre se rechaza. |83| `allowed_email_domains` | No | Rechace id\_tokens cuya reclamación `email` no esté en uno de estos dominios, sin distinción de mayúsculas y minúsculas. Defensa en profundidad contra configuración errónea de IdP multiinquilino. Independientemente de esta configuración, un id\_token cuya reclamación `email_verified` es explícitamente `false` siempre se rechaza. |


127Cada fila a continuación es una clase de solicitud saliente en una puerta de enlace con `HTTPS_PROXY` establecido, de forma predeterminada y mientras el egreso solo de proxy está activo.127Cada fila a continuación es una clase de solicitud saliente en una puerta de enlace con `HTTPS_PROXY` establecido, de forma predeterminada y mientras el egreso solo de proxy está activo.

128 128 

129| Solicitud saliente | Predeterminado | Egreso solo de proxy activo |129| Solicitud saliente | Predeterminado | Egreso solo de proxy activo |

130| -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |130| - | - | - |

131| Upstreams `provider: anthropic`, intercambio de tokens de Workload Identity Federation, exportaciones `telemetry.forward_to` | Resuelto y verificado localmente, luego `CONNECT` a la dirección IP verificada a través del proxy. Un recopilador de telemetría listado en `NO_PROXY` se alcanza directamente en su lugar | Nombre de host entregado al proxy |131| Upstreams `provider: anthropic`, intercambio de tokens de Workload Identity Federation, exportaciones `telemetry.forward_to` | Resuelto y verificado localmente, luego `CONNECT` a la dirección IP verificada a través del proxy. Un recopilador de telemetría listado en `NO_PROXY` se alcanza directamente en su lugar | Nombre de host entregado al proxy |

132| Descubrimiento de IdP, JWKS, token y userinfo | Directo a menos que [`oidc.use_proxy: true`](#idp-requests-through-a-forward-proxy), luego `CONNECT` a la dirección IP verificada | Nombre de host entregado al proxy, a menos que `oidc.use_proxy: false` mantenga un IdP interno directo |132| Descubrimiento de IdP, JWKS, token y userinfo | Directo a menos que [`oidc.use_proxy: true`](#idp-requests-through-a-forward-proxy), luego `CONNECT` a la dirección IP verificada | Nombre de host entregado al proxy, a menos que `oidc.use_proxy: false` mantenga un IdP interno directo |

133| Upstreams de Amazon Bedrock, Claude Platform en AWS, Agent Platform de Google Cloud y Microsoft Foundry; búsquedas de grupos de Google | Nombre de host entregado al proxy | Sin cambios |133| Upstreams de Amazon Bedrock, Claude Platform en AWS, Agent Platform de Google Cloud y Microsoft Foundry; búsquedas de grupos de Google | Nombre de host entregado al proxy | Sin cambios |


153El bloque `session` forma los tokens portadores que emite la puerta de enlace después del inicio de sesión: el secreto que los firma y cuánto tiempo viven.153El bloque `session` forma los tokens portadores que emite la puerta de enlace después del inicio de sesión: el secreto que los firma y cuánto tiempo viven.

154 154 

155| Campo | Requerido | Descripción |155| Campo | Requerido | Descripción |

156| ------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |156| - | - | - |

157| `jwt_secret` | Sí | Al menos 32 bytes de entropía, por ejemplo de `openssl rand -base64 32`. Firma los tokens portadores HS256 de la puerta de enlace. Acepta una cadena única o una matriz para rotación: el índice 0 firma y todas las entradas verifican. Para rotar, anteponga un nuevo secreto, espere `ttl_hours`, luego suelte el antiguo. |157| `jwt_secret` | Sí | Al menos 32 bytes de entropía, por ejemplo de `openssl rand -base64 32`. Firma los tokens portadores HS256 de la puerta de enlace. Acepta una cadena única o una matriz para rotación: el índice 0 firma y todas las entradas verifican. Para rotar, anteponga un nuevo secreto, espere `ttl_hours`, luego suelte el antiguo. |

158| `ttl_hours` | No | Duración del token portador de la puerta de enlace. Predeterminado `1`. El CLI se actualiza silenciosamente antes de la expiración cuando IdP emite tokens de actualización. Una duración más corta desactiva más rápido; una más larga hace menos viajes de IdP. Si su IdP no puede emitir tokens de actualización porque `offline_access` no está disponible, no hay actualización silenciosa, así que aumente esto a `8` o `12` para evitar enviar desarrolladores de vuelta al inicio de sesión del navegador cada hora. |158| `ttl_hours` | No | Duración del token portador de la puerta de enlace. Predeterminado `1`. El CLI se actualiza silenciosamente antes de la expiración cuando IdP emite tokens de actualización. Una duración más corta desactiva más rápido; una más larga hace menos viajes de IdP. Si su IdP no puede emitir tokens de actualización porque `offline_access` no está disponible, no hay actualización silenciosa, así que aumente esto a `8` o `12` para evitar enviar desarrolladores de vuelta al inicio de sesión del navegador cada hora. |

159 159 


164El bloque `store` apunta la puerta de enlace a su base de datos PostgreSQL, que contiene concesiones de dispositivos y contadores de límite de velocidad.164El bloque `store` apunta la puerta de enlace a su base de datos PostgreSQL, que contiene concesiones de dispositivos y contadores de límite de velocidad.

165 165 

166| Campo | Requerido | Descripción |166| Campo | Requerido | Descripción |

167| ------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |167| - | - | - |

168| `postgres_url` | Sí | URL `postgres://` o `postgresql://`. Requerido: el encuentro de concesión de dispositivo, donde la devolución del navegador escribe y el CLI de sondeo lee, necesita estado entre réplicas. La puerta de enlace ejecuta sus propias migraciones de esquema al arrancar y al actualizar, por lo que el rol necesita derechos para crear y alterar tablas en el esquema de destino. Consulte [Actualizaciones](/docs/es/claude-apps-gateway-deploy#upgrades) y [Postgres](/docs/es/claude-apps-gateway-deploy#postgres). |168| `postgres_url` | Sí | URL `postgres://` o `postgresql://`. Requerido: el encuentro de concesión de dispositivo, donde la devolución del navegador escribe y el CLI de sondeo lee, necesita estado entre réplicas. La puerta de enlace ejecuta sus propias migraciones de esquema al arrancar y al actualizar, por lo que el rol necesita derechos para crear y alterar tablas en el esquema de destino. Consulte [Actualizaciones](/docs/es/claude-apps-gateway-deploy#upgrades) y [Postgres](/docs/es/claude-apps-gateway-deploy#postgres). |

169| `username` | No | Anula el usuario en `postgres_url` |169| `username` | No | Anula el usuario en `postgres_url` |

170| `password` | No | Credencial de base de datos. Establézcalo aquí en lugar de en `postgres_url` para que la credencial se mantenga fuera de la URL. Acepta cualquier carácter y tiene prioridad sobre las credenciales de URL. |170| `password` | No | Credencial de base de datos. Establézcalo aquí en lugar de en `postgres_url` para que la credencial se mantenga fuera de la URL. Acepta cualquier carácter y tiene prioridad sobre las credenciales de URL. |


266La puerta de enlace añade estos encabezados a cada solicitud que reenvía a ese upstream.266La puerta de enlace añade estos encabezados a cada solicitud que reenvía a ese upstream.

267 267 

268| Encabezado | Valor |268| Encabezado | Valor |

269| ----------------------------- | ---------------------------------------------------------------------- |269| - | - |

270| `x-litellm-end-user-id` | El correo electrónico del desarrollador, cuando IdP lo proporcionó. |270| `x-litellm-end-user-id` | El correo electrónico del desarrollador, cuando IdP lo proporcionó. |

271| `x-claude-gateway-user-id` | El asunto de IdP del desarrollador, de la reclamación `sub` del token. |271| `x-claude-gateway-user-id` | El asunto de IdP del desarrollador, de la reclamación `sub` del token. |

272| `x-claude-gateway-user-email` | El correo electrónico del desarrollador, cuando IdP lo proporcionó. |272| `x-claude-gateway-user-email` | El correo electrónico del desarrollador, cuando IdP lo proporcionó. |


305Las credenciales explícitas deben ser completas: la puerta de enlace falla al arrancar cuando `aws_access_key_id` y `aws_secret_access_key` no se establecen juntos, o cuando `aws_session_token` se establece sin ellos. Antes de v2.1.207, un bloque `auth:` parcial pasó la validación.305Las credenciales explícitas deben ser completas: la puerta de enlace falla al arrancar cuando `aws_access_key_id` y `aws_secret_access_key` no se establecen juntos, o cuando `aws_session_token` se establece sin ellos. Antes de v2.1.207, un bloque `auth:` parcial pasó la validación.

306 306 

307| Configuración | Cómo |307| Configuración | Cómo |

308| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |308| - | - |

309| Permisos de IAM | Otorgue al principal de la puerta de enlace `bedrock:InvokeModel` y `bedrock:InvokeModelWithResponseStream` tanto en los ARN de perfil de inferencia como en los ARN de modelo de fundación subyacentes. Para el catálogo integrado en regiones de EE.UU.: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` y `arn:aws:bedrock:*::foundation-model/anthropic.*`. También otorgue `bedrock:CountTokens` en los ARN de modelo de fundación. La puerta de enlace lo utiliza, sin cargo, para contar los tokens de entrada de una solicitud que el cliente abandonó, por lo que [límites de gasto](#admin) se mantienen precisos. Sin él, la puerta de enlace vuelve a una solicitud de Bedrock de un token para ese conteo. |309| Permisos de IAM | Otorgue al principal de la puerta de enlace `bedrock:InvokeModel` y `bedrock:InvokeModelWithResponseStream` tanto en los ARN de perfil de inferencia como en los ARN de modelo de fundación subyacentes. Para el catálogo integrado en regiones de EE.UU.: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` y `arn:aws:bedrock:*::foundation-model/anthropic.*`. También otorgue `bedrock:CountTokens` en los ARN de modelo de fundación. La puerta de enlace lo utiliza, sin cargo, para contar los tokens de entrada de una solicitud que el cliente abandonó, por lo que [límites de gasto](#admin) se mantienen precisos. Sin él, la puerta de enlace vuelve a una solicitud de Bedrock de un token para ese conteo. |

310| Acceso a modelos | Amazon Bedrock habilita el acceso a modelos de forma predeterminada en regiones comerciales. La puerta de enlace de nivel de cuenta restante es la de Anthropic: si nadie en su cuenta de AWS la ha enviado, abra la consola de Amazon Bedrock, seleccione un modelo de Anthropic del catálogo de modelos y complete el formulario. Consulte [Enviar detalles de caso de uso](/docs/es/amazon-bedrock#1-submit-use-case-details) para el formulario de AWS Organizations y los permisos que el remitente necesita. |310| Acceso a modelos | Amazon Bedrock habilita el acceso a modelos de forma predeterminada en regiones comerciales. La puerta de enlace de nivel de cuenta restante es la de Anthropic: si nadie en su cuenta de AWS la ha enviado, abra la consola de Amazon Bedrock, seleccione un modelo de Anthropic del catálogo de modelos y complete el formulario. Consulte [Enviar detalles de caso de uso](/docs/es/amazon-bedrock#1-submit-use-case-details) para el formulario de AWS Organizations y los permisos que el remitente necesita. |

311| EKS (IRSA) | Cree un rol de IAM con la política anterior y una política de confianza para el proveedor OIDC de su clúster limitado a la cuenta de servicio de la puerta de enlace. Anote la cuenta de servicio con `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` la recoge. |311| EKS (IRSA) | Cree un rol de IAM con la política anterior y una política de confianza para el proveedor OIDC de su clúster limitado a la cuenta de servicio de la puerta de enlace. Anote la cuenta de servicio con `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` la recoge. |


341La plataforma se ejecuta en una cuenta de AWS separada de Amazon Bedrock y firma solicitudes SigV4 para su propio nombre de servicio, `aws-external-anthropic`, por lo que un rol de IAM limitado a Bedrock no lo autoriza. Una clave API en `auth.api_key` tiene prioridad cuando también se establecen credenciales SigV4. Un bloque `auth` vacío utiliza la cadena de credenciales predeterminada del SDK de AWS, la misma cadena que usa el upstream [Amazon Bedrock](#amazon-bedrock).341La plataforma se ejecuta en una cuenta de AWS separada de Amazon Bedrock y firma solicitudes SigV4 para su propio nombre de servicio, `aws-external-anthropic`, por lo que un rol de IAM limitado a Bedrock no lo autoriza. Una clave API en `auth.api_key` tiene prioridad cuando también se establecen credenciales SigV4. Un bloque `auth` vacío utiliza la cadena de credenciales predeterminada del SDK de AWS, la misma cadena que usa el upstream [Amazon Bedrock](#amazon-bedrock).

342 342 

343| Campo | Requerido | Descripción |343| Campo | Requerido | Descripción |

344| ------------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |344| - | - | - |

345| `region` | Sí | Región de AWS, letras minúsculas, dígitos e guiones. La puerta de enlace deriva el punto final de él como `https://aws-external-anthropic.<region>.api.aws`. |345| `region` | Sí | Región de AWS, letras minúsculas, dígitos e guiones. La puerta de enlace deriva el punto final de él como `https://aws-external-anthropic.<region>.api.aws`. |

346| `workspace_id` | Sí | Enviado como encabezado en cada solicitud; la plataforma lo requiere |346| `workspace_id` | Sí | Enviado como encabezado en cada solicitud; la plataforma lo requiere |

347| `auth.api_key` | No | Clave API para la plataforma, enviada como `x-api-key`. No es un token portador: los dos modos de autenticación son una clave API o SigV4. |347| `auth.api_key` | No | Clave API para la plataforma, enviada como `x-api-key`. No es un token portador: los dos modos de autenticación son una clave API o SigV4. |


373Establezca `region: global` para usar el [punto final global de Agent Platform](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) en lugar de uno regional. Google luego enruta cada solicitud a una región disponible, por lo que no rastrea la disponibilidad de modelos por región. Establecer una región específica fija cada solicitud a ella.373Establezca `region: global` para usar el [punto final global de Agent Platform](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) en lugar de uno regional. Google luego enruta cada solicitud a una región disponible, por lo que no rastrea la disponibilidad de modelos por región. Establecer una región específica fija cada solicitud a ella.

374 374 

375| Configuración | Cómo |375| Configuración | Cómo |

376| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |376| - | - |

377| Permisos de IAM | Otorgue a la cuenta de servicio de la puerta de enlace `roles/aiplatform.user` en el proyecto, o un rol personalizado con `aiplatform.endpoints.predict`. Habilite la API de Agent Platform (`aiplatform.googleapis.com`). |377| Permisos de IAM | Otorgue a la cuenta de servicio de la puerta de enlace `roles/aiplatform.user` en el proyecto, o un rol personalizado con `aiplatform.endpoints.predict`. Habilite la API de Agent Platform (`aiplatform.googleapis.com`). |

378| Acceso a modelos | En Model Garden, habilite los modelos Claude para su proyecto. Se publican en regiones específicas; consulte la tarjeta del modelo para regiones compatibles. |378| Acceso a modelos | En Model Garden, habilite los modelos Claude para su proyecto. Se publican en regiones específicas; consulte la tarjeta del modelo para regiones compatibles. |

379| GKE (Workload Identity) | Vincule una cuenta de servicio de GCP a la cuenta de servicio de Kubernetes de la puerta de enlace y anote la KSA con `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`. `auth: {}` la recoge. |379| GKE (Workload Identity) | Vincule una cuenta de servicio de GCP a la cuenta de servicio de Kubernetes de la puerta de enlace y anote la KSA con `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`. `auth: {}` la recoge. |


399`use_azure_ad: true` se resuelve a través de `DefaultAzureCredential`: Managed Identity en AKS, ACI o App Service; la CLI de Azure; o credenciales de entorno. Las claves API funcionan pero son amplias del proyecto y no se rotan automáticamente. El punto final de Foundry se deriva de `resource:`; establezca el `base_url` opcional para anularlo para nubes soberanas como Azure Government.399`use_azure_ad: true` se resuelve a través de `DefaultAzureCredential`: Managed Identity en AKS, ACI o App Service; la CLI de Azure; o credenciales de entorno. Las claves API funcionan pero son amplias del proyecto y no se rotan automáticamente. El punto final de Foundry se deriva de `resource:`; establezca el `base_url` opcional para anularlo para nubes soberanas como Azure Government.

400 400 

401| Configuración | Cómo |401| Configuración | Cómo |

402| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |402| - | - |

403| RBAC | Otorgue a la identidad de la puerta de enlace `Azure AI User` o `Cognitive Services User` en el recurso de Foundry |403| RBAC | Otorgue a la identidad de la puerta de enlace `Azure AI User` o `Cognitive Services User` en el recurso de Foundry |

404| Implementaciones | Foundry utiliza nombres de implementación elegidos por administrador, no IDs de modelo canónicos. Agregue un bloque [`models:`](#models) que asigne cada ID canónico a su nombre de implementación. |404| Implementaciones | Foundry utiliza nombres de implementación elegidos por administrador, no IDs de modelo canónicos. Agregue un bloque [`models:`](#models) que asigne cada ID canónico a su nombre de implementación. |

405| AKS (workload identity) | Federe una Managed Identity asignada por el usuario con el emisor OIDC del clúster y vincúlela a la cuenta de servicio de la puerta de enlace. `use_azure_ad: true` la recoge a través de `WorkloadIdentityCredential`. |405| AKS (workload identity) | Federe una Managed Identity asignada por el usuario con el emisor OIDC del clúster y vincúlela a la cuenta de servicio de la puerta de enlace. `use_azure_ad: true` la recoge a través de `WorkloadIdentityCredential`. |


439No cada solicitud que la puerta de enlace envía a un upstream los lleva:439No cada solicitud que la puerta de enlace envía a un upstream los lleva:

440 440 

441| Solicitud que la puerta de enlace envía a este upstream | Lleva `headers:` |441| Solicitud que la puerta de enlace envía a este upstream | Lleva `headers:` |

442| ---------------------------------------------------------------------------------- | ------------------------------------ |442| - | - |

443| `/v1/messages`, streaming o no, y `/v1/messages/count_tokens` | Sí |443| `/v1/messages`, streaming o no, y `/v1/messages/count_tokens` | Sí |

444| Una solicitud que conmutó por error desde otro upstream | Sí, solo `headers:` de este upstream |444| Una solicitud que conmutó por error desde otro upstream | Sí, solo `headers:` de este upstream |

445| Llamada `CountTokens` de Amazon Bedrock para una solicitud que el cliente abandonó | No |445| Llamada `CountTokens` de Amazon Bedrock para una solicitud que el cliente abandonó | No |


510```510```

511 511 

512| Palanca | Cómo |512| Palanca | Cómo |

513| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |513| - | - |

514| Diferentes regiones | Un upstream de Bedrock por región, cada uno con su propio `region:`. Con [`auto_include_builtin_models: true`](#models) los perfiles de inferencia entre regiones enrutan automáticamente; para implementaciones fijas de región use un bloque `models:`. |514| Diferentes regiones | Un upstream de Bedrock por región, cada uno con su propio `region:`. Con [`auto_include_builtin_models: true`](#models) los perfiles de inferencia entre regiones enrutan automáticamente; para implementaciones fijas de región use un bloque `models:`. |

515| Diferentes cuentas | Un upstream de Bedrock por cuenta, cada uno con sus propias credenciales en `auth:`. La cadena predeterminada (`auth: {}`) utiliza la identidad de la vaina; para una segunda cuenta, establezca credenciales explícitas o un token portador. |515| Diferentes cuentas | Un upstream de Bedrock por cuenta, cada uno con sus propias credenciales en `auth:`. La cadena predeterminada (`auth: {}`) utiliza la identidad de la vaina; para una segunda cuenta, establezca credenciales explícitas o un token portador. |

516| Rendimiento aprovisionado | Asigne el modelo al ARN de rendimiento aprovisionado en `models:` para el nombre de ese upstream. Otros upstreams mantienen el ID bajo demanda, por lo que la capacidad de PT se agota antes de conmutar por error. |516| Rendimiento aprovisionado | Asigne el modelo al ARN de rendimiento aprovisionado en `models:` para el nombre de ese upstream. Otros upstreams mantienen el ID bajo demanda, por lo que la capacidad de PT se agota antes de conmutar por error. |


548```548```

549 549 

550| Campo | Requerido | Descripción |550| Campo | Requerido | Descripción |

551| ------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |551| - | - | - |

552| `write_keys` | No | Array de `{id, key}`. Una `x-api-key` que coincida con una de estas puede listar, establecer y eliminar límites de gastos. Los valores de clave deben tener al menos 32 caracteres; los `id` deben ser únicos en `read_keys` y `write_keys`. |552| `write_keys` | No | Array de `{id, key}`. Una `x-api-key` que coincida con una de estas puede listar, establecer y eliminar límites de gastos. Los valores de clave deben tener al menos 32 caracteres; los `id` deben ser únicos en `read_keys` y `write_keys`. |

553| `read_keys` | No | Array de `{id, key}`. Solo lectura: cada punto final `GET`, incluida la enumeración de límites, la obtención de uno por ID y la lectura de [`/effective`](/docs/es/claude-apps-gateway-spend-limits#%2Feffective) y [`/audit`](/docs/es/claude-apps-gateway-spend-limits#%2Faudit). |553| `read_keys` | No | Array de `{id, key}`. Solo lectura: cada punto final `GET`, incluida la enumeración de límites, la obtención de uno por ID y la lectura de [`/effective`](/docs/es/claude-apps-gateway-spend-limits#%2Feffective) y [`/audit`](/docs/es/claude-apps-gateway-spend-limits#%2Faudit). |

554| `admin_groups` | No | Nombres de grupos de IdP. Un JWT de gateway cuya reclamación `groups` incluya uno de estos tiene acceso administrativo completo, lectura y escritura, y auditorías como `oidc:<sub>`. Utilice esto para administradores humanos; utilice claves API para máquinas. Una entrada vacía en esta lista detiene el gateway al iniciar. Consulte [Valores de coincidencia que detienen el gateway al iniciar](#matcher-values-that-stop-the-gateway-at-boot). |554| `admin_groups` | No | Nombres de grupos de IdP. Un JWT de gateway cuya reclamación `groups` incluya uno de estos tiene acceso administrativo completo, lectura y escritura, y auditorías como `oidc:<sub>`. Utilice esto para administradores humanos; utilice claves API para máquinas. Una entrada vacía en esta lista detiene el gateway al iniciar. Consulte [Valores de coincidencia que detienen el gateway al iniciar](#matcher-values-that-stop-the-gateway-at-boot). |


565El bloque `enforcement` controla cómo se comportan las comprobaciones de límites de gastos cuando el almacén no está disponible.565El bloque `enforcement` controla cómo se comportan las comprobaciones de límites de gastos cuando el almacén no está disponible.

566 566 

567| Campo | Requerido | Descripción |567| Campo | Requerido | Descripción |

568| ---------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |568| - | - | - |

569| `fail_closed_on_error` | No | Predeterminado `false`. La aplicación de límites de gastos falla abierta en una interrupción de Postgres, por lo que la inferencia se mantiene activa. Establezca `true` para fallar cerrado: los desarrolladores que superan el límite se bloquean, pero también todos los demás si el almacén es inaccesible. Requiere un bloque [`admin:`](#admin): la aplicación de límites de gastos solo se ejecuta cuando `admin` está configurado, y el gateway se niega a iniciar si establece esto en `true` sin uno. |569| `fail_closed_on_error` | No | Predeterminado `false`. La aplicación de límites de gastos falla abierta en una interrupción de Postgres, por lo que la inferencia se mantiene activa. Establezca `true` para fallar cerrado: los desarrolladores que superan el límite se bloquean, pero también todos los demás si el almacén es inaccesible. Requiere un bloque [`admin:`](#admin): la aplicación de límites de gastos solo se ejecuta cuando `admin` está configurado, y el gateway se niega a iniciar si establece esto en `true` sin uno. |

570 570 

571<h3 id="pricing">571<h3 id="pricing">


590```590```

591 591 

592| Campo | Requerido | Descripción |592| Campo | Requerido | Descripción |

593| ------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |593| - | - | - |

594| `multiplier` | No | Predeterminado `1`. El medidor multiplica cada cantidad medida por esto, ya sea con precio de lista o anulada, por lo que `0.85` factura el 85% del precio. Debe ser mayor que 0 y como máximo 10, y un valor superior a 1 es un [marcado](#mark-prices-up). |594| `multiplier` | No | Predeterminado `1`. El medidor multiplica cada cantidad medida por esto, ya sea con precio de lista o anulada, por lo que `0.85` factura el 85% del precio. Debe ser mayor que 0 y como máximo 10, y un valor superior a 1 es un [marcado](#mark-prices-up). |

595| `overrides` | No | Filas de `{upstream, model, input, output, cache_read, cache_write}` en USD por millón de tokens. Las cuatro tasas son obligatorias. Cada una debe ser mayor que 0 y como máximo 10000. |595| `overrides` | No | Filas de `{upstream, model, input, output, cache_read, cache_write}` en USD por millón de tokens. Las cuatro tasas son obligatorias. Cada una debe ser mayor que 0 y como máximo 10000. |

596 596 


687* Cuando el valor está presente pero no es una cadena, el gateway rechaza la solicitud con el mensaje `model must be a string`. Requiere un gateway que ejecute Claude Code v2.1.221 o posterior.687* Cuando el valor está presente pero no es una cadena, el gateway rechaza la solicitud con el mensaje `model must be a string`. Requiere un gateway que ejecute Claude Code v2.1.221 o posterior.

688 688 

689| Coincidencia | Comportamiento |689| Coincidencia | Comportamiento |

690| --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |690| - | - |

691| `match: {}` | Coincide con cada usuario autenticado. Comience con uno de estos y agregue políticas con alcance de grupo por encima más tarde. |691| `match: {}` | Coincide con cada usuario autenticado. Comience con uno de estos y agregue políticas con alcance de grupo por encima más tarde. |

692| `match: { groups: [a, b] }` | Coincide si la reclamación `groups` del JWT contiene alguno de los grupos enumerados. Sensible a mayúsculas y minúsculas: los grupos deben coincidir con el uso exacto de mayúsculas y minúsculas del IdP. |692| `match: { groups: [a, b] }` | Coincide si la reclamación `groups` del JWT contiene alguno de los grupos enumerados. Sensible a mayúsculas y minúsculas: los grupos deben coincidir con el uso exacto de mayúsculas y minúsculas del IdP. |

693| `match: { email_domain: example.com }` | Coincide con la parte después de la última `@` en la reclamación `email` del JWT, sin distinción de mayúsculas y minúsculas. Acepta un dominio por política. |693| `match: { email_domain: example.com }` | Coincide con la parte después de la última `@` en la reclamación `email` del JWT, sin distinción de mayúsculas y minúsculas. Acepta un dominio por política. |


769```769```

770 770 

771| Clave | Aplicada por | Efecto |771| Clave | Aplicada por | Efecto |

772| ------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |772| - | - | - |

773| `availableModels` | Gateway + CLI | Lista de permitidos de modelos. También se comprueba en `/v1/messages`, por lo que un cliente parcheado no puede omitirlo. |773| `availableModels` | Gateway + CLI | Lista de permitidos de modelos. También se comprueba en `/v1/messages`, por lo que un cliente parcheado no puede omitirlo. |

774| `permissions.allow` / `.deny` | CLI | Reglas de herramientas y comandos. Consulte [Permisos](/docs/es/permissions). |774| `permissions.allow` / `.deny` | CLI | Reglas de herramientas y comandos. Consulte [Permisos](/docs/es/permissions). |

775| `permissions.disableBypassPermissionsMode` | CLI | Establezca en `disable` para bloquear [`bypassPermissions`](/docs/es/permission-modes#skip-all-checks-with-bypasspermissions-mode), el modo que omite indicadores de permisos, y la bandera `--dangerously-skip-permissions` |775| `permissions.disableBypassPermissionsMode` | CLI | Establezca en `disable` para bloquear [`bypassPermissions`](/docs/es/permission-modes#skip-all-checks-with-bypasspermissions-mode), el modo que omite indicadores de permisos, y la bandera `--dangerously-skip-permissions` |


1008Cuatro bloques opcionales de nivel superior, `access_control`, `limits`, `timeouts` y `rate_limits`, ajustan la superficie HTTP. Los valores predeterminados se adaptan a la mayoría de implementaciones.1008Cuatro bloques opcionales de nivel superior, `access_control`, `limits`, `timeouts` y `rate_limits`, ajustan la superficie HTTP. Los valores predeterminados se adaptan a la mayoría de implementaciones.

1009 1009 

1010| Bloque | Clave | Predeterminado | Descripción |1010| Bloque | Clave | Predeterminado | Descripción |

1011| ---------------- | ---------------------------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1011| - | - | - | - |

1012| `access_control` | `allow_cidrs` / `deny_cidrs` | vacío | Permitir/denegar IP de entrada por dirección de cliente, después de la resolución de `trusted_proxies`. `deny_cidrs` se comprueba primero; un cliente que coincida se rechaza incluso si `allow_cidrs` también coincide. Si `allow_cidrs` no está vacío, el gateway es denegación predeterminada. `/healthz` y `/readyz` están exentos de `allow_cidrs`. Cuando un proxy de confianza envía una entrada `X-Forwarded-For` que no es una dirección IP, el cliente real es desconocido y el gateway registra una advertencia una vez nombrando qué verificar. Donde se aplica cualquiera de las listas a la solicitud, la rechaza con `403` y razón de auditoría `xff_unparseable`. Donde ninguno lo hace, sirve la solicitud y usa la dirección del proxy como dirección IP del cliente para límites de velocidad por IP y auditoría. |1012| `access_control` | `allow_cidrs` / `deny_cidrs` | vacío | Permitir/denegar IP de entrada por dirección de cliente, después de la resolución de `trusted_proxies`. `deny_cidrs` se comprueba primero; un cliente que coincida se rechaza incluso si `allow_cidrs` también coincide. Si `allow_cidrs` no está vacío, el gateway es denegación predeterminada. `/healthz` y `/readyz` están exentos de `allow_cidrs`. Cuando un proxy de confianza envía una entrada `X-Forwarded-For` que no es una dirección IP, el cliente real es desconocido y el gateway registra una advertencia una vez nombrando qué verificar. Donde se aplica cualquiera de las listas a la solicitud, la rechaza con `403` y razón de auditoría `xff_unparseable`. Donde ninguno lo hace, sirve la solicitud y usa la dirección del proxy como dirección IP del cliente para límites de velocidad por IP y auditoría. |

1013| `limits` | `max_request_bytes` | 32 MiB | Cuerpo de solicitud de entrada máximo; las solicitudes de tamaño excesivo obtienen `413` antes de que el cuerpo se almacene en búfer. Aumente para solicitudes de archivo o imagen grandes. |1013| `limits` | `max_request_bytes` | 32 MiB | Cuerpo de solicitud de entrada máximo; las solicitudes de tamaño excesivo obtienen `413` antes de que el cuerpo se almacene en búfer. Aumente para solicitudes de archivo o imagen grandes. |

1014| `limits` | `max_request_header_bytes` | sin establecer | Cuando se establece, los encabezados de tamaño excesivo devuelven `431` |1014| `limits` | `max_request_header_bytes` | sin establecer | Cuando se establece, los encabezados de tamaño excesivo devuelven `431` |


1046```1046```

1047 1047 

1048| Campo | Requerido | Descripción |1048| Campo | Requerido | Descripción |

1049| --------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1049| - | - | - |

1050| `enabled` | Sí | `true` activa el modo. `false` mantiene sus números en el archivo con el modo desactivado. El gateway se niega a iniciar si el bloque está presente sin él. |1050| `enabled` | Sí | `true` activa el modo. `false` mantiene sus números en el archivo con el modo desactivado. El gateway se niega a iniciar si el bloque está presente sin él. |

1051| `reply_tokens` | No | Predeterminado `750`. Aproximadamente cuántos tokens de texto lleva cada respuesta enlatada, un número entero de 1 a 100000. |1051| `reply_tokens` | No | Predeterminado `750`. Aproximadamente cuántos tokens de texto lleva cada respuesta enlatada, un número entero de 1 a 100000. |

1052| `reply_seconds` | No | Predeterminado `9.5`. Cuánto tiempo tarda una respuesta transmitida, de 0 a 600. `0` envía toda la respuesta a la vez. Una respuesta a una solicitud sin transmisión siempre vuelve a la vez. |1052| `reply_seconds` | No | Predeterminado `9.5`. Cuánto tiempo tarda una respuesta transmitida, de 0 a 600. `0` envía toda la respuesta a la vez. Una respuesta a una solicitud sin transmisión siempre vuelve a la vez. |

Details

240La puerta de enlace contiene cinco tablas de datos más una tabla `_migrations`, todas creadas por sus migraciones de tiempo de arranque:240La puerta de enlace contiene cinco tablas de datos más una tabla `_migrations`, todas creadas por sus migraciones de tiempo de arranque:

241 241 

242| Tabla | Contenidos | Retención |242| Tabla | Contenidos | Retención |

243| ------------------ | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |243| - | - | - |

244| `kv` | Concesiones de dispositivo (TTL de 10 minutos) y contadores de límite de velocidad | TTL por fila |244| `kv` | Concesiones de dispositivo (TTL de 10 minutos) y contadores de límite de velocidad | TTL por fila |

245| `spend` | Contadores de gasto de período a la fecha por principal, en centavos | `admin.spend_retention_months`, predeterminado 13 |245| `spend` | Contadores de gasto de período a la fecha por principal, en centavos | `admin.spend_retention_months`, predeterminado 13 |

246| `spend_limits` | Límites de gasto configurados | Hasta eliminado a través de la API |246| `spend_limits` | Límites de gasto configurados | Hasta eliminado a través de la API |


288</h3>288</h3>

289 289 

290| Datos | Ruta | Enviado a Anthropic por la puerta de enlace |290| Datos | Ruta | Enviado a Anthropic por la puerta de enlace |

291| --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |291| - | - | - |

292| Inferencia (indicaciones, finalizaciones) | CLI → puerta de enlace → su ascendente | Solo si la API de Anthropic es un ascendente configurado |292| Inferencia (indicaciones, finalizaciones) | CLI → puerta de enlace → su ascendente | Solo si la API de Anthropic es un ascendente configurado |

293| Telemetría (métricas OTLP, más [registros y trazas opcionales](/docs/es/claude-apps-gateway-config#telemetry)) | CLI → puerta de enlace → su recopilador | Nunca |293| Telemetría (métricas OTLP, más [registros y trazas opcionales](/docs/es/claude-apps-gateway-config#telemetry)) | CLI → puerta de enlace → su recopilador | Nunca |

294| Identidad (correo electrónico, grupos, sub) | IdP → puerta de enlace → JWT → CLI; el CLI lo marca en exportaciones OTLP. Si activa [`forward_user_identity`](/docs/es/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run), la puerta de enlace también envía el correo electrónico del desarrollador y el asunto de IdP como encabezados a su proxy | Nunca |294| Identidad (correo electrónico, grupos, sub) | IdP → puerta de enlace → JWT → CLI; el CLI lo marca en exportaciones OTLP. Si activa [`forward_user_identity`](/docs/es/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run), la puerta de enlace también envía el correo electrónico del desarrollador y el asunto de IdP como encabezados a su proxy | Nunca |


352El stderr de la puerta de enlace incluye el flujo de eventos de auditoría, el registro de auditoría registra identidades de desarrolladores, y el archivo de depuración registra la salida de hooks y servidores MCP de la máquina del desarrollador. Revise y redacte estos antes de publicar en un problema público.352El stderr de la puerta de enlace incluye el flujo de eventos de auditoría, el registro de auditoría registra identidades de desarrolladores, y el archivo de depuración registra la salida de hooks y servidores MCP de la máquina del desarrollador. Revise y redacte estos antes de publicar en un problema público.

353 353 

354| Síntoma | Causa | Solución |354| Síntoma | Causa | Solución |

355| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |355| - | - | - |

356| El `/login` de un desarrollador muestra el selector de cuenta estándar en lugar de la pantalla **Cloud gateway** | `forceLoginMethod` o `forceLoginGatewayUrl` no está establecido en configuraciones administradas en esa máquina | Implemente el [archivo de configuraciones administradas](/docs/es/claude-apps-gateway#set-the-gateway-url) en el dispositivo; `/login` lee la URL de la puerta de enlace desde allí |356| El `/login` de un desarrollador muestra el selector de cuenta estándar en lugar de la pantalla **Cloud gateway** | `forceLoginMethod` o `forceLoginGatewayUrl` no está establecido en configuraciones administradas en esa máquina | Implemente el [archivo de configuraciones administradas](/docs/es/claude-apps-gateway#set-the-gateway-url) en el dispositivo; `/login` lee la URL de la puerta de enlace desde allí |

357| Las solicitudes de un desarrollador fallan con `Not signed in to the Cloud gateway — run /login.` | La configuración administrada de la máquina establece `forceLoginMethod: "gateway"` o `forceLoginGatewayUrl`, y la sesión no tiene inicio de sesión de puerta de enlace. Un inicio de sesión de claude.ai sobrante no satisface el requisito. | Haga que el desarrollador ejecute `/login` y complete el inicio de sesión de la puerta de enlace. Consulte también [La política del administrador requiere un inicio de sesión de puerta de enlace en la nube](/docs/es/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |357| Las solicitudes de un desarrollador fallan con `Not signed in to the Cloud gateway — run /login.` | La configuración administrada de la máquina establece `forceLoginMethod: "gateway"` o `forceLoginGatewayUrl`, y la sesión no tiene inicio de sesión de puerta de enlace. Un inicio de sesión de claude.ai sobrante no satisface el requisito. | Haga que el desarrollador ejecute `/login` y complete el inicio de sesión de la puerta de enlace. Consulte también [La política del administrador requiere un inicio de sesión de puerta de enlace en la nube](/docs/es/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

358| Claude Desktop reporta que su configuración de arranque no se pudo obtener | `/user/bootstrap` devolvió 404: la política que coincide con el usuario no lleva una clave `desktop`, o ninguna política coincidió. El registro de auditoría de la puerta de enlace registra cada rechazo como `desktop_bootstrap.denied` con la razón. | Agregue un bloque `desktop` a la política que coincide con el usuario, o a la capa base `match: {}`; un `desktop: {}` vacío es suficiente. Consulte [superposición de Claude Desktop](/docs/es/claude-apps-gateway-config#claude-desktop-overlay). |358| Claude Desktop reporta que su configuración de arranque no se pudo obtener | `/user/bootstrap` devolvió 404: la política que coincide con el usuario no lleva una clave `desktop`, o ninguna política coincidió. El registro de auditoría de la puerta de enlace registra cada rechazo como `desktop_bootstrap.denied` con la razón. | Agregue un bloque `desktop` a la política que coincide con el usuario, o a la capa base `match: {}`; un `desktop: {}` vacío es suficiente. Consulte [superposición de Claude Desktop](/docs/es/claude-apps-gateway-config#claude-desktop-overlay). |

Details

498Para errores de arranque y inicio de sesión del gateway, consulte la tabla de [solución de problemas](/docs/es/claude-apps-gateway-deploy#troubleshooting) agnóstica de plataforma. Las entradas a continuación son específicas de AWS.498Para errores de arranque y inicio de sesión del gateway, consulte la tabla de [solución de problemas](/docs/es/claude-apps-gateway-deploy#troubleshooting) agnóstica de plataforma. Las entradas a continuación son específicas de AWS.

499 499 

500| Síntoma | Causa | Solución |500| Síntoma | Causa | Solución |

501| ------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |501| - | - | - |

502| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | El nombre del gateway se resuelve en al menos una dirección pública. Un ALB dual-stack interno publica registros AAAA de rango público, y la [verificación de red privada](/docs/es/claude-apps-gateway#prerequisites) requiere que cada dirección resuelta sea privada | Cree el ALB con `--ip-address-type ipv4`, o sirva un nombre DNS interno separado sin registro AAAA público |502| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | El nombre del gateway se resuelve en al menos una dirección pública. Un ALB dual-stack interno publica registros AAAA de rango público, y la [verificación de red privada](/docs/es/claude-apps-gateway#prerequisites) requiere que cada dirección resuelta sea privada | Cree el ALB con `--ip-address-type ipv4`, o sirva un nombre DNS interno separado sin registro AAAA público |

503| Cada solicitud de Bedrock devuelve 502; el registro muestra `Could not load credentials from any providers` | La tarea se ejecuta en el tipo de lanzamiento de ECS EC2 sin un rol de tarea, o el pod se ejecuta en un nodo de EKS sin IRSA, por lo que las credenciales provienen de metadatos de instancia, que el límite de saltos predeterminado de IMDSv2 de 1 detiene dentro de un contenedor. Ninguna pista en esta página se ve afectada: los roles de tarea de Fargate e IRSA no usan metadatos de instancia | Prefiera roles de tarea e IRSA. Donde las credenciales de instancia son inevitables, aumente el límite de saltos con `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`; la [tabla agnóstica de plataforma](/docs/es/claude-apps-gateway-deploy#troubleshooting) cubre los compromisos |503| Cada solicitud de Bedrock devuelve 502; el registro muestra `Could not load credentials from any providers` | La tarea se ejecuta en el tipo de lanzamiento de ECS EC2 sin un rol de tarea, o el pod se ejecuta en un nodo de EKS sin IRSA, por lo que las credenciales provienen de metadatos de instancia, que el límite de saltos predeterminado de IMDSv2 de 1 detiene dentro de un contenedor. Ninguna pista en esta página se ve afectada: los roles de tarea de Fargate e IRSA no usan metadatos de instancia | Prefiera roles de tarea e IRSA. Donde las credenciales de instancia son inevitables, aumente el límite de saltos con `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`; la [tabla agnóstica de plataforma](/docs/es/claude-apps-gateway-deploy#troubleshooting) cubre los compromisos |

504| Las solicitudes de Bedrock devuelven `403 AccessDeniedException` | La cuenta no ha enviado el formulario de caso de uso único de Anthropic, la suscripción automática de AWS Marketplace que comienza en la primera invocación de la cuenta aún no ha terminado, o la política del rol de tarea carece de los ARN de perfil de inferencia o modelo base | Envíe el formulario de caso de uso desde el catálogo de modelos de la consola de Bedrock; si acaba de enviarse o esta es la primera invocación de la cuenta, reintente después de unos minutos. Otorgue `bedrock:InvokeModel` y `bedrock:InvokeModelWithResponseStream` en ambas familias de ARN. |504| Las solicitudes de Bedrock devuelven `403 AccessDeniedException` | La cuenta no ha enviado el formulario de caso de uso único de Anthropic, la suscripción automática de AWS Marketplace que comienza en la primera invocación de la cuenta aún no ha terminado, o la política del rol de tarea carece de los ARN de perfil de inferencia o modelo base | Envíe el formulario de caso de uso desde el catálogo de modelos de la consola de Bedrock; si acaba de enviarse o esta es la primera invocación de la cuenta, reintente después de unos minutos. Otorgue `bedrock:InvokeModel` y `bedrock:InvokeModelWithResponseStream` en ambas familias de ARN. |

Details

151 Establezca `trusted_proxies` para que coincida con su front end. Un GKE Ingress externo de clase `gce` no está listado: aprovisiona una dirección de regla de reenvío público, que la [verificación de red privada](/docs/es/claude-apps-gateway#prerequisites) de `/login` rechaza.151 Establezca `trusted_proxies` para que coincida con su front end. Un GKE Ingress externo de clase `gce` no está listado: aprovisiona una dirección de regla de reenvío público, que la [verificación de red privada](/docs/es/claude-apps-gateway#prerequisites) de `/login` rechaza.

152 152 

153 | Front end | `trusted_proxies` |153 | Front end | `trusted_proxies` |

154 | ---------------------------------------------------------------- | ------------------------------------------------------- |154 | - | - |

155 | Cloud Run alcanzado directamente, sin equilibrador de carga | `[169.254.0.0/16]` |155 | Cloud Run alcanzado directamente, sin equilibrador de carga | `[169.254.0.0/16]` |

156 | Equilibrador de carga de aplicaciones interno frente a Cloud Run | `169.254.0.0/16` más el CIDR de su subred de solo proxy |156 | Equilibrador de carga de aplicaciones interno frente a Cloud Run | `169.254.0.0/16` más el CIDR de su subred de solo proxy |

157 | GKE Ingress interno, clase `gce-internal` | El CIDR de su subred de solo proxy |157 | GKE Ingress interno, clase `gce-internal` | El CIDR de su subred de solo proxy |


196 Cree cuatro secretos y otorgue `roles/secretmanager.secretAccessor` a la cuenta de servicio `claude-gateway`:196 Cree cuatro secretos y otorgue `roles/secretmanager.secretAccessor` a la cuenta de servicio `claude-gateway`:

197 197 

198 | Secreto | Origen |198 | Secreto | Origen |

199 | ---------------------------- | --------------------------------------------- |199 | - | - |

200 | `gateway-jwt-secret` | `openssl rand -base64 32` |200 | `gateway-jwt-secret` | `openssl rand -base64 32` |

201 | `gateway-oidc-client-secret` | Google Cloud Console → Cliente OAuth |201 | `gateway-oidc-client-secret` | Google Cloud Console → Cliente OAuth |

202 | `gateway-postgres-url` | `$GATEWAY_POSTGRES_URL` del paso de Cloud SQL |202 | `gateway-postgres-url` | `$GATEWAY_POSTGRES_URL` del paso de Cloud SQL |


313Para errores de arranque y inicio de sesión de la puerta de enlace, consulte la tabla de [solución de problemas](/docs/es/claude-apps-gateway-deploy#troubleshooting) independiente de la plataforma. Las entradas a continuación son específicas de Google Cloud.313Para errores de arranque y inicio de sesión de la puerta de enlace, consulte la tabla de [solución de problemas](/docs/es/claude-apps-gateway-deploy#troubleshooting) independiente de la plataforma. Las entradas a continuación son específicas de Google Cloud.

314 314 

315| Síntoma | Causa | Solución |315| Síntoma | Causa | Solución |

316| ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |316| - | - | - |

317| Cloud Run devuelve `403 Forbidden` antes de alcanzar el contenedor | La verificación de IAM del invocador aún está habilitada | Implemente con `--no-invoker-iam-check`, o otorgue a `allUsers` el rol `run.invoker` con `--allow-unauthenticated` |317| Cloud Run devuelve `403 Forbidden` antes de alcanzar el contenedor | La verificación de IAM del invocador aún está habilitada | Implemente con `--no-invoker-iam-check`, o otorgue a `allUsers` el rol `run.invoker` con `--allow-unauthenticated` |

318| `--no-invoker-iam-check` rechazado con `invoker_iam_disabled is not currently available` | Bloqueado por `constraints/run.managed.requireInvokerIam` | Use `--allow-unauthenticated`. Si Domain Restricted Sharing a través de `constraints/iam.allowedPolicyMemberDomains` también bloquea eso, use la ruta de GKE, que expone la puerta de enlace en la capa de red sin ningún enlace `allUsers`. |318| `--no-invoker-iam-check` rechazado con `invoker_iam_disabled is not currently available` | Bloqueado por `constraints/run.managed.requireInvokerIam` | Use `--allow-unauthenticated`. Si Domain Restricted Sharing a través de `constraints/iam.allowedPolicyMemberDomains` también bloquea eso, use la ruta de GKE, que expone la puerta de enlace en la capa de red sin ningún enlace `allUsers`. |

319| `Container manifest type … must support amd64/linux` en la implementación | La imagen se construyó en un host que no es amd64, o buildx emitió un índice de imagen OCI | Construya con `--platform=linux/amd64 --provenance=false` |319| `Container manifest type … must support amd64/linux` en la implementación | La imagen se construyó en un host que no es amd64, o buildx emitió un índice de imagen OCI | Construya con `--platform=linux/amd64 --provenance=false` |

Details

35```35```

36 36 

37| Campo | Valores | Descripción |37| Campo | Valores | Descripción |

38| ------------ | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |38| - | - | - |

39| `scope.type` | `user`, `rbac_group`, `organization` | `user` se dirige a un desarrollador por su OpenID Connect (OIDC) `sub`, el ID de usuario estable que asigna su proveedor de identidad; páselo como `scope.user_id`. `rbac_group` se dirige a un [grupo de IdP](/docs/es/claude-apps-gateway-config#managed) por nombre; páselo como `scope.rbac_group_id`. `organization` es el valor predeterminado de toda la organización. La puerta de enlace acepta los tres; el `POST` público de Anthropic es solo para usuarios hoy. |39| `scope.type` | `user`, `rbac_group`, `organization` | `user` se dirige a un desarrollador por su OpenID Connect (OIDC) `sub`, el ID de usuario estable que asigna su proveedor de identidad; páselo como `scope.user_id`. `rbac_group` se dirige a un [grupo de IdP](/docs/es/claude-apps-gateway-config#managed) por nombre; páselo como `scope.rbac_group_id`. `organization` es el valor predeterminado de toda la organización. La puerta de enlace acepta los tres; el `POST` público de Anthropic es solo para usuarios hoy. |

40| `amount` | Cadena de número entero de centavos USD, o `null` | `null` es ilimitado. `"0"` es un límite cero, que bloquea cada solicitud. |40| `amount` | Cadena de número entero de centavos USD, o `null` | `null` es ilimitado. `"0"` es un límite cero, que bloquea cada solicitud. |

41| `period` | `daily`, `weekly`, `monthly` | Un ámbito puede contener un límite por período, y cada uno se aplica de forma independiente: un desarrollador se bloquea si supera cualquiera de ellos. |41| `period` | `daily`, `weekly`, `monthly` | Un ámbito puede contener un límite por período, y cada uno se aplica de forma independiente: un desarrollador se bloquea si supera cualquiera de ellos. |


108Los puntos finales a continuación se sirven bajo `/v1/organizations/spend_limits`.108Los puntos finales a continuación se sirven bajo `/v1/organizations/spend_limits`.

109 109 

110| Método y ruta | Descripción |110| Método y ruta | Descripción |

111| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |111| - | - |

112| `GET /v1/organizations/spend_limits` | Enumera los límites configurados, opcionalmente filtrados a un `scope_type` de `organization`, `rbac_group` o `user`. Consulta: `?limit=&after_id=&before_id=&scope_type=`. |112| `GET /v1/organizations/spend_limits` | Enumera los límites configurados, opcionalmente filtrados a un `scope_type` de `organization`, `rbac_group` o `user`. Consulta: `?limit=&after_id=&before_id=&scope_type=`. |

113| `POST /v1/organizations/spend_limits` | Crea o reemplaza un límite para `{scope, period}`. |113| `POST /v1/organizations/spend_limits` | Crea o reemplaza un límite para `{scope, period}`. |

114| `GET /v1/organizations/spend_limits/{id}` | Obtiene un límite por su ID con prefijo `spl_`. |114| `GET /v1/organizations/spend_limits/{id}` | Obtiene un límite por su ID con prefijo `spl_`. |


142Los límites originados en grupos se resuelven contra esos últimos grupos vistos con el mismo desempate `group_limit_mode` que usa la aplicación, por lo que el visor muestra el límite que realmente se aplica.142Los límites originados en grupos se resuelven contra esos últimos grupos vistos con el mismo desempate `group_limit_mode` que usa la aplicación, por lo que el visor muestra el límite que realmente se aplica.

143 143 

144| Parámetro de consulta | Descripción |144| Parámetro de consulta | Descripción |

145| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |145| - | - |

146| `user_ids[]` | Repetible. Filtrar a principales específicos por OIDC `sub`. |146| `user_ids[]` | Repetible. Filtrar a principales específicos por OIDC `sub`. |

147| `period[]` | Repetible. Filtrar a filas `daily`, `weekly` o `monthly`. |147| `period[]` | Repetible. Filtrar a filas `daily`, `weekly` o `monthly`. |

148| `sort` | `spend_desc` enumera los principales con mayor gasto primero. Requiere exactamente un `period[]`. |148| `sort` | `spend_desc` enumera los principales con mayor gasto primero. Requiere exactamente un `period[]`. |


172La puerta de enlace contiene cuatro tablas relacionadas con el gasto; un barrido cada hora aplica las ventanas de retención:172La puerta de enlace contiene cuatro tablas relacionadas con el gasto; un barrido cada hora aplica las ventanas de retención:

173 173 

174| Tabla | Contenidos | Retención |174| Tabla | Contenidos | Retención |

175| ------------------ | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |175| - | - | - |

176| `spend` | Contadores hasta la fecha del período por principal en centavos | [`admin.spend_retention_months`](/docs/es/claude-apps-gateway-config#admin), predeterminado 13 |176| `spend` | Contadores hasta la fecha del período por principal en centavos | [`admin.spend_retention_months`](/docs/es/claude-apps-gateway-config#admin), predeterminado 13 |

177| `spend_limits` | Los límites configurados | Hasta eliminarse a través de la API |177| `spend_limits` | Los límites configurados | Hasta eliminarse a través de la API |

178| `admin_audit` | El registro de mutación | [`admin.audit_retention_days`](/docs/es/claude-apps-gateway-config#admin), predeterminado 365 |178| `admin_audit` | El registro de mutación | [`admin.audit_retention_days`](/docs/es/claude-apps-gateway-config#admin), predeterminado 365 |

Details

53Las sesiones en la nube necesitan acceso a sus repositorios de GitHub para clonar código e insertar ramas. Puede otorgar acceso de dos formas:53Las sesiones en la nube necesitan acceso a sus repositorios de GitHub para clonar código e insertar ramas. Puede otorgar acceso de dos formas:

54 54 

55| Método | Cómo se conecta | Repositorios que las sesiones pueden alcanzar | Mejor para |55| Método | Cómo se conecta | Repositorios que las sesiones pueden alcanzar | Mejor para |

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

57| **GitHub App** | Autorice la aplicación Claude GitHub durante la [incorporación web](/docs/es/web-quickstart) | Cualquier repositorio público, y repositorios privados en los que está instalada la aplicación Claude GitHub | Incorporación en navegador; equipos que desean [Correcciones automáticas](#auto-fix-pull-requests) |57| **GitHub App** | Autorice la aplicación Claude GitHub durante la [incorporación web](/docs/es/web-quickstart) | Cualquier repositorio público, y repositorios privados en los que está instalada la aplicación Claude GitHub | Incorporación en navegador; equipos que desean [Correcciones automáticas](#auto-fix-pull-requests) |

58| **`/web-setup`** | Ejecute `/web-setup` en su terminal para enviar su token local de CLI `gh` a su cuenta Claude | Cualquier repositorio al que pueda acceder su token `gh`, independientemente de si está instalada la aplicación | Desarrolladores individuales que ya usan `gh` |58| **`/web-setup`** | Ejecute `/web-setup` en su terminal para enviar su token local de CLI `gh` a su cuenta Claude | Cualquier repositorio al que pueda acceder su token `gh`, independientemente de si está instalada la aplicación | Desarrolladores individuales que ya usan `gh` |

59 59 


187La CLI prefija los errores con `Error: `. Una entrega fallida se envuelve como `failed to send message to cloud session <id>: <reason>`.187La CLI prefija los errores con `Error: `. Una entrega fallida se envuelve como `failed to send message to cloud session <id>: <reason>`.

188 188 

189| Mensaje | Qué significa |189| Mensaje | Qué significa |

190| --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |190| - | - |

191| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code está configurado para un proveedor de terceros. El mensaje nombra el proveedor con la etiqueta que usa su configuración, como `Amazon Bedrock` o `Google Vertex AI`. Elimine la configuración de ese proveedor, por ejemplo desestableciendo `CLAUDE_CODE_USE_BEDROCK`, e inicie sesión con una cuenta de Anthropic (`claude auth login`). |191| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code está configurado para un proveedor de terceros. El mensaje nombra el proveedor con la etiqueta que usa su configuración, como `Amazon Bedrock` o `Google Vertex AI`. Elimine la configuración de ese proveedor, por ejemplo desestableciendo `CLAUDE_CODE_USE_BEDROCK`, e inicie sesión con una cuenta de Anthropic (`claude auth login`). |

192| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | La política de organización `allow_remote_sessions` está deshabilitada. |192| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | La política de organización `allow_remote_sessions` está deshabilitada. |

193| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code no pudo obtener la política de su organización, por lo que rechaza el envío en lugar de asumir que las sesiones en la nube están permitidas. Verifique su conexión de red e intente de nuevo. |193| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code no pudo obtener la política de su organización, por lo que rechaza el envío en lugar de asumir que las sesiones en la nube están permitidas. Verifique su conexión de red e intente de nuevo. |


218Teleport verifica estos requisitos antes de reanudar una sesión. Si algún requisito no se cumple, verá un error o se le pedirá que resuelva el problema.218Teleport verifica estos requisitos antes de reanudar una sesión. Si algún requisito no se cumple, verá un error o se le pedirá que resuelva el problema.

219 219 

220| Requisito | Detalles |220| Requisito | Detalles |

221| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |221| - | - |

222| Estado de git limpio | Su directorio de trabajo no debe tener cambios sin confirmar. Teleport le pide que guarde los cambios si es necesario. |222| Estado de git limpio | Su directorio de trabajo no debe tener cambios sin confirmar. Teleport le pide que guarde los cambios si es necesario. |

223| Repositorio correcto | Debe ejecutar `--teleport` desde un checkout del mismo repositorio, no desde una bifurcación. Si lo ejecuta desde un checkout de un repositorio diferente, Claude Code muestra un error que nombra tanto el repositorio de la sesión como el repositorio de su checkout. Antes de v2.1.219, el error no nombraba el repositorio de su checkout. Si Claude Code no puede analizar su remoto en un nombre de host, por ejemplo un alias de host SSH como `git@work:owner/repo.git`, le pide que confirme, y acepta el checkout cuando el propietario del remoto y el nombre del repositorio coinciden con el repositorio de la sesión. |223| Repositorio correcto | Debe ejecutar `--teleport` desde un checkout del mismo repositorio, no desde una bifurcación. Si lo ejecuta desde un checkout de un repositorio diferente, Claude Code muestra un error que nombra tanto el repositorio de la sesión como el repositorio de su checkout. Antes de v2.1.219, el error no nombraba el repositorio de su checkout. Si Claude Code no puede analizar su remoto en un nombre de host, por ejemplo un alias de host SSH como `git@work:owner/repo.git`, le pide que confirme, y acepta el checkout cuando el propietario del remoto y el nombre del repositorio coinciden con el repositorio de la sesión. |

224| Rama disponible | La rama de la sesión en la nube debe haber sido insertada en el remoto. Teleport la obtiene y verifica automáticamente. |224| Rama disponible | La rama de la sesión en la nube debe haber sido insertada en el remoto. Teleport la obtiene y verifica automáticamente. |


257Para la gestión de contexto específicamente:257Para la gestión de contexto específicamente:

258 258 

259| Comando | Funciona en sesiones en la nube | Notas |259| Comando | Funciona en sesiones en la nube | Notas |

260| :--------- | :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------- |260| :- | :- | :- |

261| `/compact` | Sí | Resume la conversación para liberar contexto. Acepta instrucciones de enfoque opcionales como `/compact keep the test output` |261| `/compact` | Sí | Resume la conversación para liberar contexto. Acepta instrucciones de enfoque opcionales como `/compact keep the test output` |

262| `/context` | Sí | Muestra lo que está actualmente en la ventana de contexto |262| `/context` | Sí | Muestra lo que está actualmente en la ventana de contexto |

263| `/clear` | No | Inicie una nueva sesión desde la barra lateral en su lugar |263| `/clear` | No | Inicie una nueva sesión desde la barra lateral en su lugar |

Details

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

1452 1452 

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

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

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

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

1457| `AGENTS.md` | Raíz del proyecto, `.claude/`, o cualquier directorio | Instrucciones del proyecto que usted escribe para agentes de codificación de IA. Claude Code puede [cargarlo](/docs/es/memory#agents-md) por su cuenta o junto con `CLAUDE.md`. |1457| `AGENTS.md` | Raíz del proyecto, `.claude/`, o cualquier directorio | Instrucciones del proyecto que usted escribe para agentes de codificación de IA. Claude Code puede [cargarlo](/docs/es/memory#agents-md) por su cuenta o junto con `CLAUDE.md`. |


1466Diferentes tipos de personalización viven en diferentes archivos. Use esta tabla para encontrar dónde pertenece un cambio.1466Diferentes tipos de personalización viven en diferentes archivos. Use esta tabla para encontrar dónde pertenece un cambio.

1467 1467 

1468| Usted quiere | Editar | Alcance | Referencia |1468| Usted quiere | Editar | Alcance | Referencia |

1469| :------------------------------------------------------------- | :-------------------------------------- | :---------------- | :-------------------------------------------------- |1469| :- | :- | :- | :- |

1470| Dar a Claude contexto del proyecto y convenciones | `CLAUDE.md` | proyecto o global | [Memory](/docs/es/memory) |1470| Dar a Claude contexto del proyecto y convenciones | `CLAUDE.md` | proyecto o global | [Memory](/docs/es/memory) |

1471| Permitir o bloquear llamadas de herramientas específicas | `settings.json` `permissions` o `hooks` | proyecto o global | [Permissions](/docs/es/permissions), [Hooks](/docs/es/hooks) |1471| Permitir o bloquear llamadas de herramientas específicas | `settings.json` `permissions` o `hooks` | proyecto o global | [Permissions](/docs/es/permissions), [Hooks](/docs/es/hooks) |

1472| Ejecutar un script antes o después de llamadas de herramientas | `settings.json` `hooks` | proyecto o global | [Hooks](/docs/es/hooks) |1472| Ejecutar un script antes o después de llamadas de herramientas | `settings.json` `hooks` | proyecto o global | [Hooks](/docs/es/hooks) |


1497Haga clic en un nombre de archivo para abrir ese nodo en el explorador anterior.1497Haga clic en un nombre de archivo para abrir ese nodo en el explorador anterior.

1498 1498 

1499| Archivo | Alcance | Confirmar | Qué hace | Referencia |1499| Archivo | Alcance | Confirmar | Qué hace | Referencia |

1500| --------------------------------------------------- | ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |1500| - | - | - | - | - |

1501| [`CLAUDE.md`](#ce-claude-md) | Proyecto y global | ✓ | Instrucciones cargadas cada sesión | [Memoria](/docs/es/memory) |1501| [`CLAUDE.md`](#ce-claude-md) | Proyecto y global | ✓ | Instrucciones cargadas cada sesión | [Memoria](/docs/es/memory) |

1502| [`rules/*.md`](#ce-rules) | Proyecto y global | ✓ | Instrucciones con alcance temático, opcionalmente restringidas por ruta | [Reglas](/docs/es/memory#organize-rules-with-claude/rules/) |1502| [`rules/*.md`](#ce-rules) | Proyecto y global | ✓ | Instrucciones con alcance temático, opcionalmente restringidas por ruta | [Reglas](/docs/es/memory#organize-rules-with-claude/rules/) |

1503| [`settings.json`](#ce-settings-json) | Proyecto y global | ✓ | Permisos, hooks, variables de entorno, valores predeterminados de modelo | [Configuración](/docs/es/settings) |1503| [`settings.json`](#ce-settings-json) | Proyecto y global | ✓ | Permisos, hooks, variables de entorno, valores predeterminados de modelo | [Configuración](/docs/es/settings) |


1522Las skills, archivos de comandos, subagentes, estilos de salida y reglas leen su configuración desde [frontmatter](/docs/es/glossary#frontmatter) YAML en la parte superior del archivo, y cada uno acepta su propio conjunto de campos. Esta tabla enumera los nombres de los campos para cada archivo y vincula a la referencia que los describe.1522Las skills, archivos de comandos, subagentes, estilos de salida y reglas leen su configuración desde [frontmatter](/docs/es/glossary#frontmatter) YAML en la parte superior del archivo, y cada uno acepta su propio conjunto de campos. Esta tabla enumera los nombres de los campos para cada archivo y vincula a la referencia que los describe.

1523 1523 

1524| Archivo | Campos de frontmatter | Referencia |1524| Archivo | Campos de frontmatter | Referencia |

1525| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |1525| - | - | - |

1526| `skills/<name>/SKILL.md` | `name`, `description`, `when_to_use`, `argument-hint`, `arguments`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `disallowed-tools`, `model`, `effort`, `context`, `agent`, `background`, `hooks`, `paths`, `shell`, `metadata`, `license`, `compatibility` | [Frontmatter de skill](/docs/es/skills#frontmatter-reference) |1526| `skills/<name>/SKILL.md` | `name`, `description`, `when_to_use`, `argument-hint`, `arguments`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `disallowed-tools`, `model`, `effort`, `context`, `agent`, `background`, `hooks`, `paths`, `shell`, `metadata`, `license`, `compatibility` | [Frontmatter de skill](/docs/es/skills#frontmatter-reference) |

1527| `commands/*.md` | Los campos de skill excepto `name` y `paths` | [Frontmatter de skill](/docs/es/skills#frontmatter-reference) |1527| `commands/*.md` | Los campos de skill excepto `name` y `paths` | [Frontmatter de skill](/docs/es/skills#frontmatter-reference) |

1528| `agents/*.md` | `name`, `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `maxTurns`, `skills`, `mcpServers`, `hooks`, `memory`, `background`, `effort`, `isolation`, `color`, `initialPrompt`, `omitClaudeMd`, `experimental` | [Frontmatter de subagente](/docs/es/sub-agents#supported-frontmatter-fields) |1528| `agents/*.md` | `name`, `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `maxTurns`, `skills`, `mcpServers`, `hooks`, `memory`, `background`, `effort`, `isolation`, `color`, `initialPrompt`, `omitClaudeMd`, `experimental` | [Frontmatter de subagente](/docs/es/sub-agents#supported-frontmatter-fields) |


1550Claude Code elimina los archivos en las rutas a continuación una vez que tienen más de [`cleanupPeriodDays`](/docs/es/settings-reference#cleanupperioddays), siempre que pueda determinar de forma segura el período de retención. El valor predeterminado es 30 días y el mínimo es 1; establecer `0` falla con un error de validación. El mismo límite de edad se aplica a la eliminación automática de [worktrees huérfanos](/docs/es/worktrees#clean-up-subagent-and-background-session-worktrees).1550Claude Code elimina los archivos en las rutas a continuación una vez que tienen más de [`cleanupPeriodDays`](/docs/es/settings-reference#cleanupperioddays), siempre que pueda determinar de forma segura el período de retención. El valor predeterminado es 30 días y el mínimo es 1; establecer `0` falla con un error de validación. El mismo límite de edad se aplica a la eliminación automática de [worktrees huérfanos](/docs/es/worktrees#clean-up-subagent-and-background-session-worktrees).

1551 1551 

1552| Ruta bajo `~/.claude/` | Contenidos |1552| Ruta bajo `~/.claude/` | Contenidos |

1553| ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1553| - | - |

1554| `projects/<project>/<session>.jsonl` | Transcripción de conversación completa: cada mensaje, llamada de herramienta y resultado de herramienta |1554| `projects/<project>/<session>.jsonl` | Transcripción de conversación completa: cada mensaje, llamada de herramienta y resultado de herramienta |

1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Una transcripción anterior para la sesión que Claude Code apartó en lugar de sobrescribir o eliminar. No aparece en el selector de sesiones |1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Una transcripción anterior para la sesión que Claude Code apartó en lugar de sobrescribir o eliminar. No aparece en el selector de sesiones |

1556| `projects/<project>/<session>/subagents/` | Transcripciones de conversación de [subagente](/docs/es/sub-agents), eliminadas con la transcripción de sesión principal cuando vence |1556| `projects/<project>/<session>/subagents/` | Transcripciones de conversación de [subagente](/docs/es/sub-agents), eliminadas con la transcripción de sesión principal cuando vence |


1589El barrido de limpieza de retención no elimina las rutas a continuación. Claude Code los mantiene hasta que los elimine, aparte de los dos cachés que elimina cuando cierra sesión.1589El barrido de limpieza de retención no elimina las rutas a continuación. Claude Code los mantiene hasta que los elimine, aparte de los dos cachés que elimina cuando cierra sesión.

1590 1590 

1591| Ruta bajo `~/.claude/` | Contenidos |1591| Ruta bajo `~/.claude/` | Contenidos |

1592| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1592| - | - |

1593| `history.jsonl` | Cada prompt que ha escrito, con marca de tiempo y ruta del proyecto. Utilizado para recuperación de flecha hacia arriba, búsqueda de historial `Ctrl+R` y finalización de comando shell `!`. |1593| `history.jsonl` | Cada prompt que ha escrito, con marca de tiempo y ruta del proyecto. Utilizado para recuperación de flecha hacia arriba, búsqueda de historial `Ctrl+R` y finalización de comando shell `!`. |

1594| `stats-cache.json` | Conteos de tokens y costos agregados mostrados por `/usage` |1594| `stats-cache.json` | Conteos de tokens y costos agregados mostrados por `/usage` |

1595| `remote-settings.json` | Copia en caché de [configuración administrada por servidor](/docs/es/server-managed-settings) para su organización, o `{}` cuando su organización no ha configurado ninguna. Solo presente cuando la sesión [las obtiene](/docs/es/server-managed-settings#platform-availability). Claude Code verifica actualizaciones al inicio y cada hora durante una sesión. Claude Code lo elimina cuando cierra sesión. |1595| `remote-settings.json` | Copia en caché de [configuración administrada por servidor](/docs/es/server-managed-settings) para su organización, o `{}` cuando su organización no ha configurado ninguna. Solo presente cuando la sesión [las obtiene](/docs/es/server-managed-settings#platform-availability). Claude Code verifica actualizaciones al inicio y cada hora durante una sesión. Claude Code lo elimina cuando cierra sesión. |


1678También puede eliminar cualquiera de las rutas de datos de aplicación anteriores manualmente, aparte de los [archivos de estado a mantener](#state-files-to-keep). Las nuevas sesiones no se ven afectadas. La tabla a continuación muestra qué pierde para sesiones pasadas.1678También puede eliminar cualquiera de las rutas de datos de aplicación anteriores manualmente, aparte de los [archivos de estado a mantener](#state-files-to-keep). Las nuevas sesiones no se ven afectadas. La tabla a continuación muestra qué pierde para sesiones pasadas.

1679 1679 

1680| Eliminar | Pierde |1680| Eliminar | Pierde |

1681| -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1681| - | - |

1682| `~/.claude/projects/` | Reanudar, continuar y rebobinar para sesiones pasadas, y memoria automática para cada proyecto |1682| `~/.claude/projects/` | Reanudar, continuar y rebobinar para sesiones pasadas, y memoria automática para cada proyecto |

1683| `~/.claude/history.jsonl` | Recuperación de prompt de flecha hacia arriba, búsqueda de historial `Ctrl+R` y finalización de comando shell `!` |1683| `~/.claude/history.jsonl` | Recuperación de prompt de flecha hacia arriba, búsqueda de historial `Ctrl+R` y finalización de comando shell `!` |

1684| `~/.claude/paste-cache/` | Texto pegado en prompts recordados; vea [pegar contenido grande](/docs/es/terminal-config#paste-large-content) |1684| `~/.claude/paste-cache/` | Texto pegado en prompts recordados; vea [pegar contenido grande](/docs/es/terminal-config#paste-large-content) |

Details

220La pestaña **Threads** del panel agrupa hilos por estado:220La pestaña **Threads** del panel agrupa hilos por estado:

221 221 

222| Grupo | Qué contiene |222| Grupo | Qué contiene |

223| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |223| :- | :- |

224| **Ready for review** | Hilos cuya solicitud de extracción está abierta y esperando revisión |224| **Ready for review** | Hilos cuya solicitud de extracción está abierta y esperando revisión |

225| **Waiting on you** | Hilos que necesitan su respuesta o aprobación, o que fallaron |225| **Waiting on you** | Hilos que necesitan su respuesta o aprobación, o que fallaron |

226| **Working** | Hilos aún en ejecución |226| **Working** | Hilos aún en ejecución |


284La memoria del proyecto, las instrucciones del proyecto y los repositorios, archivos y entorno del proyecto llevan contexto entre hilos. Usted establece cada uno una sola vez.284La memoria del proyecto, las instrucciones del proyecto y los repositorios, archivos y entorno del proyecto llevan contexto entre hilos. Usted establece cada uno una sola vez.

285 285 

286| Contexto | Lo que lleva | Cómo lo establece |286| Contexto | Lo que lleva | Cómo lo establece |

287| :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |287| :- | :- | :- |

288| Memoria del proyecto | Notas que Claude mantiene sobre el proyecto, como requisitos, decisiones y trampas, almacenadas como archivos. Cada hilo en la nube lee el archivo de índice `MEMORY.md` cuando comienza y abre los otros archivos cuando los necesita | Pida a Claude en la conversación del proyecto o en cualquier hilo en la nube que recuerde un requisito, una decisión o una trampa, o que olvide uno. Lea, edite y elimine los archivos en **Configuración del proyecto > Memoria** |288| Memoria del proyecto | Notas que Claude mantiene sobre el proyecto, como requisitos, decisiones y trampas, almacenadas como archivos. Cada hilo en la nube lee el archivo de índice `MEMORY.md` cuando comienza y abre los otros archivos cuando los necesita | Pida a Claude en la conversación del proyecto o en cualquier hilo en la nube que recuerde un requisito, una decisión o una trampa, o que olvide uno. Lea, edite y elimine los archivos en **Configuración del proyecto > Memoria** |

289| Instrucciones del proyecto | Texto enviado a cada nuevo hilo y a Claude en la conversación del proyecto, hasta 16.000 caracteres. [Escribir instrucciones del proyecto](#write-project-instructions) cubre qué poner en él | **Configuración del proyecto > Memoria > Instrucciones del proyecto**, o pida a Claude que cambie las instrucciones |289| Instrucciones del proyecto | Texto enviado a cada nuevo hilo y a Claude en la conversación del proyecto, hasta 16.000 caracteres. [Escribir instrucciones del proyecto](#write-project-instructions) cubre qué poner en él | **Configuración del proyecto > Memoria > Instrucciones del proyecto**, o pida a Claude que cambie las instrucciones |

290| Repositorios, archivos y entorno | Los repositorios que cada hilo en la nube clona, las carpetas y archivos que puede leer en `/mnt/project-files`, y el entorno en la nube en el que se ejecuta | Repositorios y entorno en **Configuración del proyecto > Entorno**, o pida a Claude en la conversación que agregue un repositorio al proyecto. Archivos y carpetas desde **Agregar** en la pestaña **Biblioteca** en **Descripción general** |290| Repositorios, archivos y entorno | Los repositorios que cada hilo en la nube clona, las carpetas y archivos que puede leer en `/mnt/project-files`, y el entorno en la nube en el que se ejecuta | Repositorios y entorno en **Configuración del proyecto > Entorno**, o pida a Claude en la conversación que agregue un repositorio al proyecto. Archivos y carpetas desde **Agregar** en la pestaña **Biblioteca** en **Descripción general** |


338Cada hilo en la nube clona cada repositorio en el proyecto y carga `CLAUDE.md` y skills de todos ellos. Las reglas de permisos, hooks y `env` vienen solo del `.claude/settings.json` en el directorio en el que comienza el hilo: dentro del repositorio cuando el proyecto tiene uno, y encima de los clones cuando tiene varios, donde no se lee el archivo de ningún repositorio para ellos.338Cada hilo en la nube clona cada repositorio en el proyecto y carga `CLAUDE.md` y skills de todos ellos. Las reglas de permisos, hooks y `env` vienen solo del `.claude/settings.json` en el directorio en el que comienza el hilo: dentro del repositorio cuando el proyecto tiene uno, y encima de los clones cuando tiene varios, donde no se lee el archivo de ningún repositorio para ellos.

339 339 

340| En cada repositorio | Un repositorio | Varios repositorios |340| En cada repositorio | Un repositorio | Varios repositorios |

341| :--------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------- |341| :- | :- | :- |

342| `CLAUDE.md` | Se carga cuando comienza el hilo | Se carga desde cada repositorio cuando comienza el hilo |342| `CLAUDE.md` | Se carga cuando comienza el hilo | Se carga desde cada repositorio cuando comienza el hilo |

343| Skills, agentes y comandos bajo `.claude/` | Se cargan | Se cargan desde cada repositorio |343| Skills, agentes y comandos bajo `.claude/` | Se cargan | Se cargan desde cada repositorio |

344| Plugins habilitados en `.claude/settings.json` | No se cargan. Agregue el plugin en **Configuración del proyecto > Plugins** en su lugar | No se cargan. Agregue el plugin en **Configuración del proyecto > Plugins** en su lugar |344| Plugins habilitados en `.claude/settings.json` | No se cargan. Agregue el plugin en **Configuración del proyecto > Plugins** en su lugar | No se cargan. Agregue el plugin en **Configuración del proyecto > Plugins** en su lugar |


376Los cambios se guardan a medida que los realizas; un campo de texto que estés editando, como el objetivo o las instrucciones, muestra **Save changes** y **Discard** hasta que lo dejes. Los cambios en instrucciones, repositorios, plugins, y entorno en **Project settings** llegan a hilos nuevos, no a hilos ya en ejecución.376Los cambios se guardan a medida que los realizas; un campo de texto que estés editando, como el objetivo o las instrucciones, muestra **Save changes** y **Discard** hasta que lo dejes. Los cambios en instrucciones, repositorios, plugins, y entorno en **Project settings** llegan a hilos nuevos, no a hilos ya en ejecución.

377 377 

378| Configuración | Sección | Qué controla |378| Configuración | Sección | Qué controla |

379| :---------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------- |379| :- | :- | :- |

380| Nombre, icono y objetivo | General | El nombre e icono del proyecto en la barra lateral, y su objetivo de una línea |380| Nombre, icono y objetivo | General | El nombre e icono del proyecto en la barra lateral, y su objetivo de una línea |

381| Modelo coordinador y esfuerzo | General | El modelo y [nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) para Claude en la conversación del proyecto |381| Modelo coordinador y esfuerzo | General | El modelo y [nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) para Claude en la conversación del proyecto |

382| Modelo de hilo y esfuerzo | General | El modelo y nivel de esfuerzo para hilos |382| Modelo de hilo y esfuerzo | General | El modelo y nivel de esfuerzo para hilos |


520Estos mensajes nombran su propia causa. La tabla da el próximo paso para cada uno.520Estos mensajes nombran su propia causa. La tabla da el próximo paso para cada uno.

521 521 

522| Mensaje | Qué hacer |522| Mensaje | Qué hacer |

523| :-------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |523| :- | :- |

524| "Unable to connect to repository" con "Claude couldn't reach GitHub to fetch your repository" | Espera un momento, luego envía otro mensaje para reintentar |524| "Unable to connect to repository" con "Claude couldn't reach GitHub to fetch your repository" | Espera un momento, luego envía otro mensaje para reintentar |

525| "Unable to connect to repository" con "Claude couldn't access your repository or environment" | Tu cuenta de GitHub necesita acceso de inserción al repositorio, y el entorno aún debe existir. Verifica ambos en **Project settings > Environment**, luego reintentar |525| "Unable to connect to repository" con "Claude couldn't access your repository or environment" | Tu cuenta de GitHub necesita acceso de inserción al repositorio, y el entorno aún debe existir. Verifica ambos en **Project settings > Environment**, luego reintentar |

526| "Couldn't show the setup proposal" | La aplicación que tienes abierta es más antigua que las **Setup recommendations** que Claude envió. Actualiza la página o reinicia la aplicación de escritorio, o pídele a Claude que proponga la configuración de nuevo |526| "Couldn't show the setup proposal" | La aplicación que tienes abierta es más antigua que las **Setup recommendations** que Claude envió. Actualiza la página o reinicia la aplicación de escritorio, o pídele a Claude que proponga la configuración de nuevo |

Details

140El plugin de seguridad de Claude es la capa de escaneo profundo bajo demanda en una pila de defensa en profundidad, junto con el [plugin de orientación de seguridad](/docs/es/security-guidance), [`/security-review`](/docs/es/commands#all-commands), [Code Review](/docs/es/code-review), el producto administrado [Claude Security](https://claude.com/product/claude-security), y tus escáneres existentes:140El plugin de seguridad de Claude es la capa de escaneo profundo bajo demanda en una pila de defensa en profundidad, junto con el [plugin de orientación de seguridad](/docs/es/security-guidance), [`/security-review`](/docs/es/commands#all-commands), [Code Review](/docs/es/code-review), el producto administrado [Claude Security](https://claude.com/product/claude-security), y tus escáneres existentes:

141 141 

142| Etapa | Herramienta | Qué cubre |142| Etapa | Herramienta | Qué cubre |

143| :----------------------------- | :----------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |143| :- | :- | :- |

144| En sesión | [Plugin de orientación de seguridad](/docs/es/security-guidance) | Vulnerabilidades comunes en código que Claude escribe, corregidas en la misma sesión |144| En sesión | [Plugin de orientación de seguridad](/docs/es/security-guidance) | Vulnerabilidades comunes en código que Claude escribe, corregidas en la misma sesión |

145| Bajo demanda, paso único | [`/security-review`](/docs/es/commands#all-commands) | Un paso de seguridad único en la rama actual |145| Bajo demanda, paso único | [`/security-review`](/docs/es/commands#all-commands) | Un paso de seguridad único en la rama actual |

146| Bajo demanda, escaneo profundo | Plugin de seguridad de Claude | Escaneo multiagente de un repositorio o diff, con hallazgos revisados independientemente y parches |146| Bajo demanda, escaneo profundo | Plugin de seguridad de Claude | Escaneo multiagente de un repositorio o diff, con hallazgos revisados independientemente y parches |

Details

13Puede iniciar sesiones, canalizar contenido, reanudar conversaciones y administrar actualizaciones con estos comandos:13Puede iniciar sesiones, canalizar contenido, reanudar conversaciones y administrar actualizaciones con estos comandos:

14 14 

15| Comando | Descripción | Ejemplo |15| Comando | Descripción | Ejemplo |

16| :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- |16| :- | :- | :- |

17| `claude` | Iniciar sesión interactiva | `claude` |17| `claude` | Iniciar sesión interactiva | `claude` |

18| `claude "query"` | Iniciar sesión interactiva con indicación inicial | `claude "explain this project"` |18| `claude "query"` | Iniciar sesión interactiva con indicación inicial | `claude "explain this project"` |

19| `claude -p "query"` | Consultar a través de SDK, luego salir | `claude -p "explain this function"` |19| `claude -p "query"` | Consultar a través de SDK, luego salir | `claude -p "explain this function"` |


60Personaliza el comportamiento de Claude Code con estas banderas de línea de comandos. `claude --help` no enumera todas las banderas, por lo que la ausencia de una bandera en `--help` no significa que no esté disponible.60Personaliza el comportamiento de Claude Code con estas banderas de línea de comandos. `claude --help` no enumera todas las banderas, por lo que la ausencia de una bandera en `--help` no significa que no esté disponible.

61 61 

62| Bandera | Descripción | Ejemplo |62| Bandera | Descripción | Ejemplo |

63| :---------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |63| :- | :- | :- |

64| `--add-dir` | Añade directorios de trabajo adicionales para que Claude lea y edite archivos. Otorga acceso a archivos; Claude Code [no descubre](/docs/es/permissions#additional-directories-grant-file-access-not-configuration) la mayoría de la configuración de `.claude/` desde estos directorios. Valida que cada ruta exista como un directorio. No puedes añadir la mayoría de [rutas de red](/docs/es/errors#working-directory-is-a-network-path), como `\\server\share`. Para persistir estos directorios entre sesiones, establece [`permissions.additionalDirectories`](/docs/es/settings-reference#permissions-additionaldirectories) en la configuración | `claude --add-dir ../apps ../lib` |64| `--add-dir` | Añade directorios de trabajo adicionales para que Claude lea y edite archivos. Otorga acceso a archivos; Claude Code [no descubre](/docs/es/permissions#additional-directories-grant-file-access-not-configuration) la mayoría de la configuración de `.claude/` desde estos directorios. Valida que cada ruta exista como un directorio. No puedes añadir la mayoría de [rutas de red](/docs/es/errors#working-directory-is-a-network-path), como `\\server\share`. Para persistir estos directorios entre sesiones, establece [`permissions.additionalDirectories`](/docs/es/settings-reference#permissions-additionaldirectories) en la configuración | `claude --add-dir ../apps ../lib` |

65| `--advisor <model>` | Habilita la [herramienta advisor](/docs/es/advisor) del lado del servidor para esta sesión con un alias de modelo, `fable`, `opus`, u `sonnet`, o un ID de modelo completo. Tiene prioridad sobre la configuración `advisorModel` para la sesión. `fable` requiere [acceso a Fable](/docs/es/advisor#choose-an-advisor-model) | `claude --advisor opus` |65| `--advisor <model>` | Habilita la [herramienta advisor](/docs/es/advisor) del lado del servidor para esta sesión con un alias de modelo, `fable`, `opus`, u `sonnet`, o un ID de modelo completo. Tiene prioridad sobre la configuración `advisorModel` para la sesión. `fable` requiere [acceso a Fable](/docs/es/advisor#choose-an-advisor-model) | `claude --advisor opus` |

66| `--agent` | Especifica un agente para la sesión actual (anula la configuración `agent`) | `claude --agent my-custom-agent` |66| `--agent` | Especifica un agente para la sesión actual (anula la configuración `agent`) | `claude --agent my-custom-agent` |


148Claude Code proporciona cinco banderas para personalizar el indicador del sistema. Cuatro establecen su texto, y con `--system-prompt-snapshot` controlas si una conversación mantiene el texto con el que comenzó. Las cinco funcionan tanto en modos interactivos como no interactivos.148Claude Code proporciona cinco banderas para personalizar el indicador del sistema. Cuatro establecen su texto, y con `--system-prompt-snapshot` controlas si una conversación mantiene el texto con el que comenzó. Las cinco funcionan tanto en modos interactivos como no interactivos.

149 149 

150| Bandera | Comportamiento | Ejemplo |150| Bandera | Comportamiento | Ejemplo |

151| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |151| :- | :- | :- |

152| `--system-prompt` | Reemplaza el indicador predeterminado completo | `claude --system-prompt "You are a Python expert"` |152| `--system-prompt` | Reemplaza el indicador predeterminado completo | `claude --system-prompt "You are a Python expert"` |

153| `--system-prompt-file` | Reemplaza con contenido del archivo | `claude --system-prompt-file ./prompts/review.txt` |153| `--system-prompt-file` | Reemplaza con contenido del archivo | `claude --system-prompt-file ./prompts/review.txt` |

154| `--append-system-prompt` | Añade al indicador predeterminado | `claude --append-system-prompt "Always use TypeScript"` |154| `--append-system-prompt` | Añade al indicador predeterminado | `claude --append-system-prompt "Always use TypeScript"` |

Details

218El campo **Network access** en el [diálogo de entorno](#configure-your-environment) toma uno de cuatro niveles:218El campo **Network access** en el [diálogo de entorno](#configure-your-environment) toma uno de cuatro niveles:

219 219 

220| Nivel | Conexiones salientes |220| Nivel | Conexiones salientes |

221| :---------- | :------------------------------------------------------------------------------------------------------------- |221| :- | :- |

222| **None** | Sin acceso a la red saliente a través de la red de la sesión |222| **None** | Sin acceso a la red saliente a través de la red de la sesión |

223| **Trusted** | Solo [dominios en la lista permitida](#default-allowed-domains): registros de paquetes, GitHub, SDK en la nube |223| **Trusted** | Solo [dominios en la lista permitida](#default-allowed-domains): registros de paquetes, GitHub, SDK en la nube |

224| **Full** | Cualquier dominio |224| **Full** | Cualquier dominio |


294Las sesiones en la nube comienzan desde un clon nuevo de su repositorio. Cualquier cosa que confirme en el repositorio está disponible. Cualquier cosa que haya instalado o configurado solo en su propia máquina no está disponible en la sesión. La política de su organización llega por separado a través de [configuración administrada por servidor](/docs/es/server-managed-settings).294Las sesiones en la nube comienzan desde un clon nuevo de su repositorio. Cualquier cosa que confirme en el repositorio está disponible. Cualquier cosa que haya instalado o configurado solo en su propia máquina no está disponible en la sesión. La política de su organización llega por separado a través de [configuración administrada por servidor](/docs/es/server-managed-settings).

295 295 

296| | Disponible en sesiones en la nube | Por qué |296| | Disponible en sesiones en la nube | Por qué |

297| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |297| :- | :- | :- |

298| Su `CLAUDE.md` del repositorio | Sí | Parte del clon |298| Su `CLAUDE.md` del repositorio | Sí | Parte del clon |

299| Sus hooks `.claude/settings.json` del repositorio y reglas de permisos | Sí, en una sesión con un repositorio | Parte del clon. Una sesión con varios repositorios, incluido un hilo de [proyecto](/docs/es/claude-projects#what-threads-pick-up-from-your-repositories), comienza por encima de los clones y no los lee |299| Sus hooks `.claude/settings.json` del repositorio y reglas de permisos | Sí, en una sesión con un repositorio | Parte del clon. Una sesión con varios repositorios, incluido un hilo de [proyecto](/docs/es/claude-projects#what-threads-pick-up-from-your-repositories), comienza por encima de los clones y no los lee |

300| Sus servidores MCP `.mcp.json` del repositorio | Sí, en una sesión con un repositorio | Parte del clon, encontrado desde el directorio de trabajo de la sesión |300| Sus servidores MCP `.mcp.json` del repositorio | Sí, en una sesión con un repositorio | Parte del clon, encontrado desde el directorio de trabajo de la sesión |


321Las sesiones en la nube vienen con tiempos de ejecución de lenguaje comunes, herramientas de compilación y bases de datos preinstaladas. La tabla a continuación resume lo que se incluye por categoría.321Las sesiones en la nube vienen con tiempos de ejecución de lenguaje comunes, herramientas de compilación y bases de datos preinstaladas. La tabla a continuación resume lo que se incluye por categoría.

322 322 

323| Categoría | Incluido |323| Categoría | Incluido |

324| :----------------- | :--------------------------------------------------------------------- |324| :- | :- |

325| **Python** | Python 3.x con pip, poetry, uv, black, mypy, pytest, ruff |325| **Python** | Python 3.x con pip, poetry, uv, black, mypy, pytest, ruff |

326| **Node.js** | 20, 21 y 22, con npm, yarn, pnpm, bun¹, eslint, prettier, chromedriver |326| **Node.js** | 20, 21 y 22, con npm, yarn, pnpm, bun¹, eslint, prettier, chromedriver |

327| **Ruby** | 3.1, 3.2, 3.3 con gem, bundler, rbenv |327| **Ruby** | 3.1, 3.2, 3.3 con gem, bundler, rbenv |


469Los scripts de configuración y los hooks SessionStart se ejecutan en un orden fijo cuando comienza una sesión en la nube. La tabla compara dónde los configura, cuándo se ejecutan y dónde se ejecutan.469Los scripts de configuración y los hooks SessionStart se ejecutan en un orden fijo cuando comienza una sesión en la nube. La tabla compara dónde los configura, cuándo se ejecutan y dónde se ejecutan.

470 470 

471| | Scripts de configuración | Hooks SessionStart |471| | Scripts de configuración | Hooks SessionStart |

472| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |472| - | - | - |

473| **Dónde los configura** | El diálogo de entorno en [claude.ai/code](https://claude.ai/code), más la página **Entornos en la nube** del administrador para [entornos compartidos](#organization-shared-environments) | Un [archivo de configuración](/docs/es/settings#where-settings-live) como su `.claude/settings.json` del repositorio; consulte [Qué se transfiere de su configuración](#what-carries-over-from-your-setup) para ver qué archivos llegan a una sesión en la nube |473| **Dónde los configura** | El diálogo de entorno en [claude.ai/code](https://claude.ai/code), más la página **Entornos en la nube** del administrador para [entornos compartidos](#organization-shared-environments) | Un [archivo de configuración](/docs/es/settings#where-settings-live) como su `.claude/settings.json` del repositorio; consulte [Qué se transfiere de su configuración](#what-carries-over-from-your-setup) para ver qué archivos llegan a una sesión en la nube |

474| **Cuándo se ejecutan** | Antes de que se lance Claude Code, omitido cuando existe un [entorno en caché](#environment-caching) | Después de que se lance Claude Code, en cada sesión incluyendo reanudadas |474| **Cuándo se ejecutan** | Antes de que se lance Claude Code, omitido cuando existe un [entorno en caché](#environment-caching) | Después de que se lance Claude Code, en cada sesión incluyendo reanudadas |

475| **Dónde se ejecutan** | Solo sesiones en la nube | Sesiones locales y en la nube |475| **Dónde se ejecutan** | Solo sesiones en la nube | Sesiones locales y en la nube |

code-review.md +4 −4

Details

43Cada hallazgo se etiqueta con un nivel de severidad:43Cada hallazgo se etiqueta con un nivel de severidad:

44 44 

45| Marcador | Severidad | Significado |45| Marcador | Severidad | Significado |

46| :------- | :----------- | :--------------------------------------------------------------------------- |46| :- | :- | :- |

47| 🔴 | Importante | Un error que debe corregirse antes de fusionar |47| 🔴 | Importante | Un error que debe corregirse antes de fusionar |

48| 🟡 | Nit | Un problema menor, vale la pena corregir pero no bloqueante |48| 🟡 | Nit | Un problema menor, vale la pena corregir pero no bloqueante |

49| 🟣 | Preexistente | Un error que existe en la base de código pero no fue introducido por este PR |49| 🟣 | Preexistente | Un error que existe en la base de código pero no fue introducido por este PR |


67Más allá de los comentarios de revisión en línea, cada revisión completa la ejecución de verificación **Claude Code Review** que aparece junto a sus verificaciones de CI. Expanda su enlace **Details** para ver un resumen de cada hallazgo en un solo lugar, ordenado por severidad:67Más allá de los comentarios de revisión en línea, cada revisión completa la ejecución de verificación **Claude Code Review** que aparece junto a sus verificaciones de CI. Expanda su enlace **Details** para ver un resumen de cada hallazgo en un solo lugar, ordenado por severidad:

68 68 

69| Severidad | Archivo:Línea | Problema |69| Severidad | Archivo:Línea | Problema |

70| ------------- | ------------------------- | ------------------------------------------------------------------------------------------------------- |70| - | - | - |

71| 🔴 Importante | `src/auth/session.ts:142` | La actualización de token corre una carrera con el cierre de sesión, dejando sesiones obsoletas activas |71| 🔴 Importante | `src/auth/session.ts:142` | La actualización de token corre una carrera con el cierre de sesión, dejando sesiones obsoletas activas |

72| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry` devuelve silenciosamente 0 en entrada malformada |72| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry` devuelve silenciosamente 0 en entrada malformada |

73 73 


137Los comandos de comentario inician una revisión bajo demanda. Funcionan independientemente del disparador configurado del repositorio, por lo que puede usarlos para optar por PR específicos en revisión en modo Manual o para obtener una re-revisión inmediata en otros modos.137Los comandos de comentario inician una revisión bajo demanda. Funcionan independientemente del disparador configurado del repositorio, por lo que puede usarlos para optar por PR específicos en revisión en modo Manual o para obtener una re-revisión inmediata en otros modos.

138 138 

139| Comando | Lo que hace |139| Comando | Lo que hace |

140| :---------------------- | :------------------------------------------------------------------------------- |140| :- | :- |

141| `@claude review` | Inicia una única revisión sin suscribir el PR a futuras inserciones |141| `@claude review` | Inicia una única revisión sin suscribir el PR a futuras inserciones |

142| `@claude review always` | Inicia una revisión y suscribe el PR a revisiones activadas por push en adelante |142| `@claude review always` | Inicia una revisión y suscribe el PR a revisiones activadas por push en adelante |

143| `@claude review once` | Lo mismo que `@claude review`: inicia una única revisión sin suscribir |143| `@claude review once` | Lo mismo que `@claude review`: inicia una única revisión sin suscribir |


267Vaya a [claude.ai/analytics/code-review](https://claude.ai/analytics/code-review) para ver la actividad de Code Review en toda su organización. El panel muestra:267Vaya a [claude.ai/analytics/code-review](https://claude.ai/analytics/code-review) para ver la actividad de Code Review en toda su organización. El panel muestra:

268 268 

269| Sección | Lo que muestra |269| Sección | Lo que muestra |

270| :------------------- | :-------------------------------------------------------------------------------------------------------------- |270| :- | :- |

271| PRs reviewed | Conteo diario de solicitudes de extracción revisadas durante el rango de tiempo seleccionado |271| PRs reviewed | Conteo diario de solicitudes de extracción revisadas durante el rango de tiempo seleccionado |

272| Cost weekly | Gasto semanal en Code Review |272| Cost weekly | Gasto semanal en Code Review |

273| Feedback | Conteo de comentarios de revisión que se resolvieron automáticamente porque un desarrollador abordó el problema |273| Feedback | Conteo de comentarios de revisión que se resolvieron automáticamente porque un desarrollador abordó el problema |

commands.md +1 −1

Details

52</Note>52</Note>

53 53 

54| Comando | Propósito |54| Comando | Propósito |

55| :----------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |55| :- | :- |

56| `/add-dir <path>` | Agrega un directorio de trabajo para acceso a archivos durante la sesión actual. Escribe una ruta parcial para ver sugerencias de directorios coincidentes; presiona `Tab` para aceptar una. La mayoría de la configuración de `.claude/` [no se descubre](/docs/es/permissions#additional-directories-grant-file-access-not-configuration) desde el directorio agregado. No puedes agregar la mayoría de [rutas de red](/docs/es/errors#working-directory-is-a-network-path), como `\\server\share`. Después de una adición exitosa, tus [hooks `DirectoryAdded`](/docs/es/hooks#directoryadded) se ejecutan. Cuando lo ejecutas mientras Claude está respondiendo, Claude Code te pide que confirmes el directorio de inmediato, y una vez que confirmes, la siguiente llamada de herramienta de Claude en el mismo turno puede acceder a él. Antes de v2.1.234, Claude Code ponía en cola el comando hasta que el turno terminaba |56| `/add-dir <path>` | Agrega un directorio de trabajo para acceso a archivos durante la sesión actual. Escribe una ruta parcial para ver sugerencias de directorios coincidentes; presiona `Tab` para aceptar una. La mayoría de la configuración de `.claude/` [no se descubre](/docs/es/permissions#additional-directories-grant-file-access-not-configuration) desde el directorio agregado. No puedes agregar la mayoría de [rutas de red](/docs/es/errors#working-directory-is-a-network-path), como `\\server\share`. Después de una adición exitosa, tus [hooks `DirectoryAdded`](/docs/es/hooks#directoryadded) se ejecutan. Cuando lo ejecutas mientras Claude está respondiendo, Claude Code te pide que confirmes el directorio de inmediato, y una vez que confirmes, la siguiente llamada de herramienta de Claude en el mismo turno puede acceder a él. Antes de v2.1.234, Claude Code ponía en cola el comando hasta que el turno terminaba |

57| `/advisor [model\|off]` | Habilita o deshabilita la [herramienta de asesor](/docs/es/advisor), que consulta un segundo modelo para obtener orientación en momentos clave durante una tarea. Acepta `fable`, `opus`, `sonnet`, o un ID de modelo completo. `fable` requiere [acceso a Fable](/docs/es/advisor#choose-an-advisor-model). Sin un argumento, abre un selector. En una sesión sin terminal interactiva, o sobre [Remote Control](/docs/es/remote-control#limitations), pasa el modelo u `off` como argumento; sin argumento allí, el comando imprime el asesor actual como texto. Estos formularios requieren Claude Code v2.1.260 o posterior |57| `/advisor [model\|off]` | Habilita o deshabilita la [herramienta de asesor](/docs/es/advisor), que consulta un segundo modelo para obtener orientación en momentos clave durante una tarea. Acepta `fable`, `opus`, `sonnet`, o un ID de modelo completo. `fable` requiere [acceso a Fable](/docs/es/advisor#choose-an-advisor-model). Sin un argumento, abre un selector. En una sesión sin terminal interactiva, o sobre [Remote Control](/docs/es/remote-control#limitations), pasa el modelo u `off` como argumento; sin argumento allí, el comando imprime el asesor actual como texto. Estos formularios requieren Claude Code v2.1.260 o posterior |

58| `/agents` | A partir de v2.1.198, ejecutar `/agents` imprime un recordatorio para pedirle a Claude que cree o gestione [subagentes](/docs/es/sub-agents), o para editar `.claude/agents/` o `~/.claude/agents/` directamente. En v2.1.197 y anteriores, abre una interfaz interactiva para crear y gestionar configuraciones de subagentes |58| `/agents` | A partir de v2.1.198, ejecutar `/agents` imprime un recordatorio para pedirle a Claude que cree o gestione [subagentes](/docs/es/sub-agents), o para editar `.claude/agents/` o `~/.claude/agents/` directamente. En v2.1.197 y anteriores, abre una interfaz interactiva para crear y gestionar configuraciones de subagentes |

Details

430Elija una opción de programación según dónde desee que se ejecute la tarea:430Elija una opción de programación según dónde desee que se ejecute la tarea:

431 431 

432| Opción | Dónde se ejecuta | Mejor para |432| Opción | Dónde se ejecuta | Mejor para |

433| :-------------------------------------------------------------- | :------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |433| :- | :- | :- |

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

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

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

Details

25Trabaje en esta lista de verificación antes de que salga el anuncio. Cada elemento cierra una brecha que de otro modo se convierte en un hilo de soporte en el día del lanzamiento.25Trabaje en esta lista de verificación antes de que salga el anuncio. Cada elemento cierra una brecha que de otro modo se convierte en un hilo de soporte en el día del lanzamiento.

26 26 

27| Elemento | Por qué importa |27| Elemento | Por qué importa |

28| ----------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |28| - | - |

29| Canal `#claude-code` creado y vinculado en el mensaje | Proporciona un lugar donde las preguntas pueden llegar |29| Canal `#claude-code` creado y vinculado en el mensaje | Proporciona un lugar donde las preguntas pueden llegar |

30| Comando de instalación probado en al menos una máquina en su entorno | Detecta problemas de proxy o firewall antes de que todos los golpeen a la vez |30| Comando de instalación probado en al menos una máquina en su entorno | Detecta problemas de proxy o firewall antes de que todos los golpeen a la vez |

31| Enlace de seguridad y manejo de datos listo ([Uso de datos](/docs/es/data-usage) o su equivalente interno) | "¿Dónde va mi código?" será la primera respuesta |31| Enlace de seguridad y manejo de datos listo ([Uso de datos](/docs/es/data-usage) o su equivalente interno) | "¿Dónde va mi código?" será la primera respuesta |


239```239```

240 240 

241| Modelo | Mejor para |241| Modelo | Mejor para |

242| ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |242| - | - |

243| Fable | Las tareas más difíciles y de mayor duración. Solo opción: selecciónelo con `/model fable`. El contenido de ciberseguridad o biología [se retrocede a Opus](/docs/es/model-config#automatic-model-fallback) |243| Fable | Las tareas más difíciles y de mayor duración. Solo opción: selecciónelo con `/model fable`. El contenido de ciberseguridad o biología [se retrocede a Opus](/docs/es/model-config#automatic-model-fallback) |

244| Opus | Refactores a gran escala, depuración compleja, decisiones de arquitectura, cambios de alto riesgo. En Opus 5.5 y Opus 5, el contenido de ciberseguridad o biología desencadena [retroceso automático de modelo o un rechazo](/docs/es/model-config#automatic-model-fallback) |244| Opus | Refactores a gran escala, depuración compleja, decisiones de arquitectura, cambios de alto riesgo. En Opus 5.5 y Opus 5, el contenido de ciberseguridad o biología desencadena [retroceso automático de modelo o un rechazo](/docs/es/model-config#automatic-model-fallback) |

245| Sonnet | Trabajo de características cotidianas, corrección de errores, pruebas, documentación, revisión de código. Predeterminado recomendado. |245| Sonnet | Trabajo de características cotidianas, corrección de errores, pruebas, documentación, revisión de código. Predeterminado recomendado. |


530Respuestas de una línea para las preguntas que le harán con más frecuencia.530Respuestas de una línea para las preguntas que le harán con más frecuencia.

531 531 

532| Pregunta | Respuesta |532| Pregunta | Respuesta |

533| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |533| - | - |

534| "¿Funciona en VS Code?" | Sí. Hay una extensión de VS Code y un complemento de JetBrains con las mismas características, integradas en su editor. [VS Code →](/docs/es/vs-code) |534| "¿Funciona en VS Code?" | Sí. Hay una extensión de VS Code y un complemento de JetBrains con las mismas características, integradas en su editor. [VS Code →](/docs/es/vs-code) |

535| "¿Tengo que configurar algo primero?" | No. Instale, luego ejecute `claude` en cualquier repositorio. Ejecute `/init` una vez y está listo. [Inicio rápido →](/docs/es/quickstart) |535| "¿Tengo que configurar algo primero?" | No. Instale, luego ejecute `claude` en cualquier repositorio. Ejecute `/init` una vez y está listo. [Inicio rápido →](/docs/es/quickstart) |

536| "¿Dónde va mi código?" | El CLI se ejecuta en su terminal y envía contexto a la API de Anthropic para inferencia, sin servidores de terceros. Bajo su plan Enterprise, su código e indicaciones no se utilizan para entrenar modelos. [Uso de datos →](/docs/es/data-usage) |536| "¿Dónde va mi código?" | El CLI se ejecuta en su terminal y envía contexto a la API de Anthropic para inferencia, sin servidores de terceros. Bajo su plan Enterprise, su código e indicaciones no se utilizan para entrenar modelos. [Uso de datos →](/docs/es/data-usage) |


545Comparta estos indicadores de inicio con ingenieros que han instalado pero no están seguros de qué preguntar. Cada uno está redactado de la manera en que se escribiría en una sesión real; reemplace las piezas entre corchetes con archivos de su propio repositorio.545Comparta estos indicadores de inicio con ingenieros que han instalado pero no están seguros de qué preguntar. Cada uno está redactado de la manera en que se escribiría en una sesión real; reemplace las piezas entre corchetes con archivos de su propio repositorio.

546 546 

547| Tarea | Indicación |547| Tarea | Indicación |

548| ----------------------------- | ----------------------------------------------------------------------------------------------- |548| - | - |

549| Arreglar un error | "las pruebas en \[archivo] están fallando, averigua por qué y arréglalo" |549| Arreglar un error | "las pruebas en \[archivo] están fallando, averigua por qué y arréglalo" |

550| Entender código | "camina conmigo a través de cómo funciona \[módulo], luego dime dónde está el punto de entrada" |550| Entender código | "camina conmigo a través de cómo funciona \[módulo], luego dime dónde está el punto de entrada" |

551| Refactor seguro | "refactoriza \[módulo] a \[objetivo], usa modo plan para que pueda revisar primero" |551| Refactor seguro | "refactoriza \[módulo] a \[objetivo], usa modo plan para que pueda revisar primero" |

computer-use.md +2 −2

Details

91Las aplicaciones con amplio alcance muestran una advertencia adicional en el mensaje para que sepa qué otorga aprobarlas:91Las aplicaciones con amplio alcance muestran una advertencia adicional en el mensaje para que sepa qué otorga aprobarlas:

92 92 

93| Advertencia | Se aplica a |93| Advertencia | Se aplica a |

94| :----------------------------------------- | :------------------------------------------------------- |94| :- | :- |

95| Equivalente a acceso shell | Terminal, iTerm, VS Code, Warp y otras terminales e IDEs |95| Equivalente a acceso shell | Terminal, iTerm, VS Code, Warp y otras terminales e IDEs |

96| Puede leer o escribir cualquier archivo | Finder |96| Puede leer o escribir cualquier archivo | Finder |

97| Puede cambiar la configuración del sistema | System Settings |97| Puede cambiar la configuración del sistema | System Settings |


208Las superficies CLI y Desktop comparten el mismo motor de computer use, con algunas diferencias:208Las superficies CLI y Desktop comparten el mismo motor de computer use, con algunas diferencias:

209 209 

210| Característica | Desktop | CLI |210| Característica | Desktop | CLI |

211| :------------------------------ | :----------------------------------------------------------- | :--------------------------------- |211| :- | :- | :- |

212| Plataformas | macOS y Windows | Solo macOS |212| Plataformas | macOS y Windows | Solo macOS |

213| Habilitar | Alternar en **Settings > General** (bajo **Desktop app**) | Habilitar `computer-use` en `/mcp` |213| Habilitar | Alternar en **Settings > General** (bajo **Desktop app**) | Habilitar `computer-use` en `/mcp` |

214| Lista de aplicaciones denegadas | Configurable en Settings | Aún no disponible |214| Lista de aplicaciones denegadas | Configurable en Settings | Aún no disponible |

Details

1598Cuando una sesión larga se compacta, Claude Code resume el historial de conversación para que quepa en la ventana de contexto. A partir de v2.1.198, la solicitud de resumen hereda la configuración de [pensamiento extendido](/docs/es/model-config#extended-thinking) de su sesión, por lo que razona con el pensamiento habilitado cuando su sesión lo tiene habilitado y se mantiene desactivado en caso contrario. El pensamiento afecta solo cómo se produce el resumen; la configuración de su sesión permanece sin cambios después. Lo que sucede con cada tipo de contenido depende de cómo se cargó:1598Cuando una sesión larga se compacta, Claude Code resume el historial de conversación para que quepa en la ventana de contexto. A partir de v2.1.198, la solicitud de resumen hereda la configuración de [pensamiento extendido](/docs/es/model-config#extended-thinking) de su sesión, por lo que razona con el pensamiento habilitado cuando su sesión lo tiene habilitado y se mantiene desactivado en caso contrario. El pensamiento afecta solo cómo se produce el resumen; la configuración de su sesión permanece sin cambios después. Lo que sucede con cada tipo de contenido depende de cómo se cargó:

1599 1599 

1600| Mecanismo | Después de la compactación |1600| Mecanismo | Después de la compactación |

1601| :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------- |1601| :- | :- |

1602| Prompt del sistema y estilo de salida | Ambos siguen aplicándose |1602| Prompt del sistema y estilo de salida | Ambos siguen aplicándose |

1603| CLAUDE.md de raíz del proyecto y reglas sin alcance | Re-inyectadas desde el disco |1603| CLAUDE.md de raíz del proyecto y reglas sin alcance | Re-inyectadas desde el disco |

1604| Memoria automática | Re-inyectada desde el disco |1604| Memoria automática | Re-inyectada desde el disco |

costs.md +3 −3

Details

107[Los créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) le permiten continuar trabajando después del límite de uso de su plan. Para administrarlos, ejecute `/usage-credits` después de iniciar sesión con su suscripción de claude.ai a través de `/login`; el comando no está disponible con autenticación de clave de API. En organizaciones Enterprise de autoservicio, pruebas de Enterprise y organizaciones Enterprise facturadas a través de AWS Marketplace, el comando requiere Claude Code v2.1.248 o posterior; las versiones anteriores lo rechazan con [`Unknown command: /usage-credits`](/docs/es/errors#unknown-command). Lo que abre depende de su rol:107[Los créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) le permiten continuar trabajando después del límite de uso de su plan. Para administrarlos, ejecute `/usage-credits` después de iniciar sesión con su suscripción de claude.ai a través de `/login`; el comando no está disponible con autenticación de clave de API. En organizaciones Enterprise de autoservicio, pruebas de Enterprise y organizaciones Enterprise facturadas a través de AWS Marketplace, el comando requiere Claude Code v2.1.248 o posterior; las versiones anteriores lo rechazan con [`Unknown command: /usage-credits`](/docs/es/errors#unknown-command). Lo que abre depende de su rol:

108 108 

109| Su rol | Lo que hace `/usage-credits` |109| Su rol | Lo que hace `/usage-credits` |

110| :----------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |110| :- | :- |

111| Suscriptor de Pro o Max | Abre [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai en el navegador. En su sección **Usage credits** puede activar o desactivar créditos de uso y verificar su saldo de crédito, el gasto de este mes y su límite de gasto mensual |111| Suscriptor de Pro o Max | Abre [**Settings > Usage**](https://claude.ai/settings/usage) en claude.ai en el navegador. En su sección **Usage credits** puede activar o desactivar créditos de uso y verificar su saldo de crédito, el gasto de este mes y su límite de gasto mensual |

112| Miembro de Team o Enterprise con acceso de facturación | Abre la configuración de uso de su organización, [**Admin settings > Usage**](https://claude.ai/admin-settings/usage), en el navegador |112| Miembro de Team o Enterprise con acceso de facturación | Abre la configuración de uso de su organización, [**Admin settings > Usage**](https://claude.ai/admin-settings/usage), en el navegador |

113| Miembro de Team o Enterprise sin acceso de facturación | Le pide que confirme, luego envía una solicitud a los administradores de su organización. Antes de v2.1.211, Claude Code enviaba la solicitud sin un paso de confirmación |113| Miembro de Team o Enterprise sin acceso de facturación | Le pide que confirme, luego envía una solicitud a los administradores de su organización. Antes de v2.1.211, Claude Code enviaba la solicitud sin un paso de confirmación |


127La tabla asigna cada configuración a dónde ve el gasto, dónde lo limita y cómo extrae números por usuario. En un plan individual Pro o Max no tiene organización que administrar, así que rastree su propio gasto de créditos de uso, incluido [modo rápido](/docs/es/fast-mode#see-where-fast-mode-spend-appears), en [Agregar créditos de uso a su suscripción](#add-usage-credits-to-your-subscription).127La tabla asigna cada configuración a dónde ve el gasto, dónde lo limita y cómo extrae números por usuario. En un plan individual Pro o Max no tiene organización que administrar, así que rastree su propio gasto de créditos de uso, incluido [modo rápido](/docs/es/fast-mode#see-where-fast-mode-spend-appears), en [Agregar créditos de uso a su suscripción](#add-usage-credits-to-your-subscription).

128 128 

129| Su configuración | Ver gasto | Limitar gasto | Informes por usuario |129| Su configuración | Ver gasto | Limitar gasto | Informes por usuario |

130| :--------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |130| :- | :- | :- | :- |

131| [Claude for Teams o Enterprise](#claude-for-teams-and-enterprise) | [Informe de gasto en análisis de org](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) | Límites de gasto en configuración de administrador | [CSV de informe de gasto](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans); [API de Análisis Enterprise](https://platform.claude.com/docs/en/api/admin/analytics) en Enterprise |131| [Claude for Teams o Enterprise](#claude-for-teams-and-enterprise) | [Informe de gasto en análisis de org](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) | Límites de gasto en configuración de administrador | [CSV de informe de gasto](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans); [API de Análisis Enterprise](https://platform.claude.com/docs/en/api/admin/analytics) en Enterprise |

132| [Consola de Claude (API)](#claude-console) | [Página de uso de Consola](https://platform.claude.com/usage) | Límites de gasto del espacio de trabajo | [Panel de Consola](https://platform.claude.com/claude-code), [API de Análisis de Claude Code](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) |132| [Consola de Claude (API)](#claude-console) | [Página de uso de Consola](https://platform.claude.com/usage) | Límites de gasto del espacio de trabajo | [Panel de Consola](https://platform.claude.com/claude-code), [API de Análisis de Claude Code](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) |

133| [Amazon Bedrock, Plataforma de Agentes de Google Cloud, o Microsoft Foundry](#cloud-providers) | Su consola de facturación en la nube | Controles de presupuesto de su nube | [OpenTelemetry](/docs/es/monitoring-usage) o una [puerta de enlace LLM](/docs/es/llm-gateway) |133| [Amazon Bedrock, Plataforma de Agentes de Google Cloud, o Microsoft Foundry](#cloud-providers) | Su consola de facturación en la nube | Controles de presupuesto de su nube | [OpenTelemetry](/docs/es/monitoring-usage) o una [puerta de enlace LLM](/docs/es/llm-gateway) |


190Al configurar Claude Code para equipos, considere estas recomendaciones de Tokens Por Minuto (TPM) y Solicitudes Por Minuto (RPM) por usuario según el tamaño de su organización:190Al configurar Claude Code para equipos, considere estas recomendaciones de Tokens Por Minuto (TPM) y Solicitudes Por Minuto (RPM) por usuario según el tamaño de su organización:

191 191 

192| Tamaño del equipo | TPM por usuario | RPM por usuario |192| Tamaño del equipo | TPM por usuario | RPM por usuario |

193| ----------------- | --------------- | --------------- |193| - | - | - |

194| 1-5 usuarios | 200k-300k | 5-7 |194| 1-5 usuarios | 200k-300k | 5-7 |

195| 5-20 usuarios | 100k-150k | 2.5-3.5 |195| 5-20 usuarios | 100k-150k | 2.5-3.5 |

196| 20-50 usuarios | 50k-75k | 1.25-1.75 |196| 20-50 usuarios | 50k-75k | 1.25-1.75 |

Details

172Cómo viaja un mensaje, y si pasa por servidores de Anthropic, depende de dónde se ejecuta la sesión de destino:172Cómo viaja un mensaje, y si pasa por servidores de Anthropic, depende de dónde se ejecuta la sesión de destino:

173 173 

174| Dónde se ejecuta la otra sesión | Cómo viaja el mensaje |174| Dónde se ejecuta la otra sesión | Cómo viaja el mensaje |

175| :----------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- |175| :- | :- |

176| En esta máquina | Sobre un socket por sesión en macOS y Linux, o una tubería con nombre por sesión en Windows nativo, nunca a través de servidores de Anthropic |176| En esta máquina | Sobre un socket por sesión en macOS y Linux, o una tubería con nombre por sesión en Windows nativo, nunca a través de servidores de Anthropic |

177| En otra de tus máquinas | A través de servidores de Anthropic, llegando sobre la conexión [Control Remoto](/docs/es/remote-control) de esa máquina |177| En otra de tus máquinas | A través de servidores de Anthropic, llegando sobre la conexión [Control Remoto](/docs/es/remote-control) de esa máquina |

178| En [Claude Code en la web](/docs/es/claude-code-on-the-web) | A través de servidores de Anthropic, directamente a la sesión en la nube |178| En [Claude Code en la web](/docs/es/claude-code-on-the-web) | A través de servidores de Anthropic, directamente a la sesión en la nube |


233Establece [`crossSessionInbound`](/docs/es/settings-reference#crosssessioninbound) para elegir qué hace una sesión con los mensajes que llegan de tus otras sesiones:233Establece [`crossSessionInbound`](/docs/es/settings-reference#crosssessioninbound) para elegir qué hace una sesión con los mensajes que llegan de tus otras sesiones:

234 234 

235| Valor | Comportamiento |235| Valor | Comportamiento |

236| :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |236| :- | :- |

237| `accept` | Claude Code entrega cada mensaje a Claude |237| `accept` | Claude Code entrega cada mensaje a Claude |

238| `hold` | Claude Code muestra un aviso para cada mensaje y no lo entrega. Si un `accept` se aplica después, según las [reglas de precedencia](/docs/es/settings-reference#crosssessioninbound), Claude Code libera los mensajes retenidos |238| `hold` | Claude Code muestra un aviso para cada mensaje y no lo entrega. Si un `accept` se aplica después, según las [reglas de precedencia](/docs/es/settings-reference#crosssessioninbound), Claude Code libera los mensajes retenidos |

239| `refuse` | Claude Code descarta cada mensaje sin entregarlo |239| `refuse` | Claude Code descarta cada mensaje sin entregarlo |

data-usage.md +2 −2

Details

96El cifrado en reposo depende de su proveedor de modelo:96El cifrado en reposo depende de su proveedor de modelo:

97 97 

98| Proveedor | Cifrado en reposo |98| Proveedor | Cifrado en reposo |

99| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |99| - | - |

100| Anthropic API | Cifrado de disco a nivel de infraestructura (AES-256). Habilite [Zero Data Retention](/docs/es/zero-data-retention) para no persistencia del lado del servidor. |100| Anthropic API | Cifrado de disco a nivel de infraestructura (AES-256). Habilite [Zero Data Retention](/docs/es/zero-data-retention) para no persistencia del lado del servidor. |

101| Amazon Bedrock | AES-256 con claves administradas por AWS. Claves administradas por el cliente disponibles a través de AWS KMS. |101| Amazon Bedrock | AES-256 con claves administradas por AWS. Claves administradas por el cliente disponibles a través de AWS KMS. |

102| Google Cloud's Agent Platform | Claves de cifrado administradas por Google. CMEK disponible. |102| Google Cloud's Agent Platform | Claves de cifrado administradas por Google. CMEK disponible. |


145De forma predeterminada, los informes de errores, la telemetría y los informes de errores se desactivan cuando se utiliza Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform en AWS. Las encuestas de calidad de sesión y la verificación de seguridad del dominio WebFetch son excepciones y se ejecutan independientemente del proveedor. En una sesión de [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway) con sesión iniciada, los análisis de uso, los informes de errores y las calificaciones de encuestas a Anthropic se desactivan mediante la credencial de la puerta de enlace en sí, sin ninguna configuración para volver a habilitarlos. Puede optar por no participar en todo el tráfico no esencial, incluyendo encuestas, a la vez estableciendo `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Esta variable no afecta la verificación de WebFetch o la instalación automática del marketplace de plugins oficial; cada una tiene su propio opt-out: `skipWebFetchPreflight` en [configuración](/docs/es/settings) para WebFetch, y `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` para el marketplace. Aquí están los comportamientos predeterminados completos:145De forma predeterminada, los informes de errores, la telemetría y los informes de errores se desactivan cuando se utiliza Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o Claude Platform en AWS. Las encuestas de calidad de sesión y la verificación de seguridad del dominio WebFetch son excepciones y se ejecutan independientemente del proveedor. En una sesión de [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway) con sesión iniciada, los análisis de uso, los informes de errores y las calificaciones de encuestas a Anthropic se desactivan mediante la credencial de la puerta de enlace en sí, sin ninguna configuración para volver a habilitarlos. Puede optar por no participar en todo el tráfico no esencial, incluyendo encuestas, a la vez estableciendo `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Esta variable no afecta la verificación de WebFetch o la instalación automática del marketplace de plugins oficial; cada una tiene su propio opt-out: `skipWebFetchPreflight` en [configuración](/docs/es/settings) para WebFetch, y `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` para el marketplace. Aquí están los comportamientos predeterminados completos:

146 146 

147| Servicio | Claude API | Google Cloud's Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform en AWS |147| Servicio | Claude API | Google Cloud's Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform en AWS |

148| -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |148| - | - | - | - | - | - |

149| **Métricas** | Activado de forma predeterminada.<br />`DISABLE_TELEMETRY=1` para desactivar. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |149| **Métricas** | Activado de forma predeterminada.<br />`DISABLE_TELEMETRY=1` para desactivar. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |

150| **Informes de errores** | Activado para inicios de sesión Pro y Max en v2.1.198+, de lo contrario desactivado.<br />`DISABLE_ERROR_REPORTING=1` para desactivar. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |150| **Informes de errores** | Activado para inicios de sesión Pro y Max en v2.1.198+, de lo contrario desactivado.<br />`DISABLE_ERROR_REPORTING=1` para desactivar. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |

151| **Claude API (informes `/feedback`)** | Activado de forma predeterminada.<br />`DISABLE_FEEDBACK_COMMAND=1` para desactivar. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |151| **Claude API (informes `/feedback`)** | Activado de forma predeterminada.<br />`DISABLE_FEEDBACK_COMMAND=1` para desactivar. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_VERTEX` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_BEDROCK` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_FOUNDRY` debe ser 1. | Desactivado de forma predeterminada.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS` debe ser 1. |

Details

19Para obtener detalles sobre una categoría específica, continúe con el comando dedicado:19Para obtener detalles sobre una categoría específica, continúe con el comando dedicado:

20 20 

21| Comando | Muestra |21| Comando | Muestra |

22| :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |22| :- | :- |

23| `/memory` | Ubicaciones de archivos de memoria en los ámbitos de usuario y proyecto con la opción de abrir cada uno en su editor, más acceso a la carpeta de memoria automática y el botón de alternancia de memoria automática |23| `/memory` | Ubicaciones de archivos de memoria en los ámbitos de usuario y proyecto con la opción de abrir cada uno en su editor, más acceso a la carpeta de memoria automática y el botón de alternancia de memoria automática |

24| `/skills` | Skills disponibles de fuentes de proyecto, usuario y plugin |24| `/skills` | Skills disponibles de fuentes de proyecto, usuario y plugin |

25| `/hooks` | Configuraciones de hook activas |25| `/hooks` | Configuraciones de hook activas |


105La mayoría de las sorpresas de configuración se remontan a un pequeño conjunto de reglas de ubicación y sintaxis. Verifique estos antes de asumir un error:105La mayoría de las sorpresas de configuración se remontan a un pequeño conjunto de reglas de ubicación y sintaxis. Verifique estos antes de asumir un error:

106 106 

107| Síntoma | Causa | Solución |107| Síntoma | Causa | Solución |

108| :------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |108| :- | :- | :- |

109| Hook nunca se dispara | `matcher` es una matriz JSON en lugar de una cadena | Use una cadena única con `\|` para coincidir con múltiples herramientas, por ejemplo `"Edit\|Write"`. Consulte [patrones de matcher](/docs/es/hooks#matcher-patterns). |109| Hook nunca se dispara | `matcher` es una matriz JSON en lugar de una cadena | Use una cadena única con `\|` para coincidir con múltiples herramientas, por ejemplo `"Edit\|Write"`. Consulte [patrones de matcher](/docs/es/hooks#matcher-patterns). |

110| Hook nunca se dispara | `matcher` usa `,` como separador en una versión anterior a v2.1.191 | Claude Code v2.1.191 o posterior trata `,` como un separador de lista como `\|`. Las versiones anteriores evalúan una coma como un carácter literal, por lo que `"Edit,Write"` no coincide con nada. Use `\|` en su lugar, o actualice Claude Code. |110| Hook nunca se dispara | `matcher` usa `,` como separador en una versión anterior a v2.1.191 | Claude Code v2.1.191 o posterior trata `,` como un separador de lista como `\|`. Las versiones anteriores evalúan una coma como un carácter literal, por lo que `"Edit,Write"` no coincide con nada. Use `\|` en su lugar, o actualice Claude Code. |

111| Hook nunca se dispara | El valor `matcher` está en minúsculas, por ejemplo `"bash"` | La coincidencia distingue mayúsculas de minúsculas. Los nombres de herramientas están capitalizados: `Bash`, `Edit`, `Write`, `Read`. |111| Hook nunca se dispara | El valor `matcher` está en minúsculas, por ejemplo `"bash"` | La coincidencia distingue mayúsculas de minúsculas. Los nombres de herramientas están capitalizados: `Bash`, `Edit`, `Write`, `Read`. |

desktop.md +8 −8

Details

85Para establecer un modo predeterminado para nuevas sesiones locales, agregue `permissions.defaultMode` a su [archivo de configuración](/docs/es/settings#where-settings-live). La aplicación de escritorio lee los mismos archivos de configuración que la CLI. Un modo que selecciona en el selector se recuerda por carpeta y tiene prioridad sobre `defaultMode` para esa carpeta, excepto Plan, que se aplica solo a la sesión actual.85Para establecer un modo predeterminado para nuevas sesiones locales, agregue `permissions.defaultMode` a su [archivo de configuración](/docs/es/settings#where-settings-live). La aplicación de escritorio lee los mismos archivos de configuración que la CLI. Un modo que selecciona en el selector se recuerda por carpeta y tiene prioridad sobre `defaultMode` para esa carpeta, excepto Plan, que se aplica solo a la sesión actual.

86 86 

87| Modo | Clave de configuración | Comportamiento |87| Modo | Clave de configuración | Comportamiento |

88| ---------------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |88| - | - | - |

89| **Manual** | `default` | Claude pregunta antes de editar archivos o ejecutar comandos. Usted ve una diferencia y puede aceptar o rechazar cada cambio. |89| **Manual** | `default` | Claude pregunta antes de editar archivos o ejecutar comandos. Usted ve una diferencia y puede aceptar o rechazar cada cambio. |

90| **Accept edits** | `acceptEdits` | Claude acepta automáticamente ediciones de archivos y comandos comunes del sistema de archivos como `mkdir`, `touch` y `mv`, pero aún pregunta antes de ejecutar otros comandos de terminal. Use esto cuando confíe en cambios de archivos y desee una iteración más rápida. |90| **Accept edits** | `acceptEdits` | Claude acepta automáticamente ediciones de archivos y comandos comunes del sistema de archivos como `mkdir`, `touch` y `mv`, pero aún pregunta antes de ejecutar otros comandos de terminal. Use esto cuando confíe en cambios de archivos y desee una iteración más rápida. |

91| **Plan** | `plan` | Claude lee archivos y ejecuta comandos para explorar, luego propone un plan sin editar su código fuente. Bueno para tareas complejas donde desea revisar el enfoque primero. |91| **Plan** | `plan` | Claude lee archivos y ejecuta comandos para explorar, luego propone un plan sin editar su código fuente. Bueno para tareas complejas donde desea revisar el enfoque primero. |


245Los modos de vista controlan cuánto detalle aparece en la transcripción del chat. Cambie de modo desde el menú desplegable **Transcript view** junto al botón de envío, o presione **Ctrl+O** en macOS o Windows para ciclar a través de ellos. El modo Thinking aparece en el menú desplegable solo después de que Claude ha producido pensamiento en la sesión que está viendo.245Los modos de vista controlan cuánto detalle aparece en la transcripción del chat. Cambie de modo desde el menú desplegable **Transcript view** junto al botón de envío, o presione **Ctrl+O** en macOS o Windows para ciclar a través de ellos. El modo Thinking aparece en el menú desplegable solo después de que Claude ha producido pensamiento en la sesión que está viendo.

246 246 

247| Modo | Lo que muestra |247| Modo | Lo que muestra |

248| ------------ | --------------------------------------------------------------------------------------------------------------- |248| - | - |

249| **Normal** | Llamadas de herramientas contraídas en resúmenes, con respuestas de texto completo |249| **Normal** | Llamadas de herramientas contraídas en resúmenes, con respuestas de texto completo |

250| **Thinking** | Llamadas de herramientas contraídas en resúmenes, más el pensamiento de Claude |250| **Thinking** | Llamadas de herramientas contraídas en resúmenes, más el pensamiento de Claude |

251| **Verbose** | Cada llamada de herramienta, lectura de archivo y paso intermedio que Claude toma, más el pensamiento de Claude |251| **Verbose** | Cada llamada de herramienta, lectura de archivo y paso intermedio que Claude toma, más el pensamiento de Claude |


259Presione **Cmd+/** en macOS o **Ctrl+/** en Windows para ver todos los atajos disponibles en la pestaña Code. En Windows, use **Ctrl** en lugar de **Cmd** para los atajos a continuación. El ciclismo de sesiones, el alternador de terminal y el alternador de modo de vista usan **Ctrl** en todas las plataformas.259Presione **Cmd+/** en macOS o **Ctrl+/** en Windows para ver todos los atajos disponibles en la pestaña Code. En Windows, use **Ctrl** en lugar de **Cmd** para los atajos a continuación. El ciclismo de sesiones, el alternador de terminal y el alternador de modo de vista usan **Ctrl** en todas las plataformas.

260 260 

261| Atajo | Acción |261| Atajo | Acción |

262| ------------------------------------- | --------------------------------------- |262| - | - |

263| `Cmd` `/` | Mostrar atajos de teclado |263| `Cmd` `/` | Mostrar atajos de teclado |

264| `Cmd` `N` | Nueva sesión |264| `Cmd` `N` | Nueva sesión |

265| `Cmd` `W` | Cerrar sesión |265| `Cmd` `W` | Cerrar sesión |


354El aviso también muestra qué nivel de control obtiene Claude para esa aplicación. Estos niveles se fijan por categoría de aplicación y no se pueden cambiar:354El aviso también muestra qué nivel de control obtiene Claude para esa aplicación. Estos niveles se fijan por categoría de aplicación y no se pueden cambiar:

355 355 

356| Nivel | Lo que Claude puede hacer | Se aplica a |356| Nivel | Lo que Claude puede hacer | Se aplica a |

357| :----------- | :------------------------------------------------------------------- | :---------------------------------- |357| :- | :- | :- |

358| View only | Ver la aplicación en capturas de pantalla | Navegadores, plataformas de trading |358| View only | Ver la aplicación en capturas de pantalla | Navegadores, plataformas de trading |

359| Click only | Hacer clic y desplazarse, pero no escribir ni usar atajos de teclado | Terminales, IDE |359| Click only | Hacer clic y desplazarse, pero no escribir ni usar atajos de teclado | Terminales, IDE |

360| Full control | Hacer clic, escribir, arrastrar y usar atajos de teclado | Todo lo demás |360| Full control | Hacer clic, escribir, arrastrar y usar atajos de teclado | Todo lo demás |


566Cada entrada en el array `configurations` acepta los siguientes campos:566Cada entrada en el array `configurations` acepta los siguientes campos:

567 567 

568| Campo | Tipo | Descripción |568| Campo | Tipo | Descripción |

569| ------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |569| - | - | - |

570| `name` | string | Un identificador único para este servidor |570| `name` | string | Un identificador único para este servidor |

571| `runtimeExecutable` | string | El comando a ejecutar, como `npm`, `yarn` o `node` |571| `runtimeExecutable` | string | El comando a ejecutar, como `npm`, `yarn` o `node` |

572| `runtimeArgs` | string\[] | Argumentos pasados a `runtimeExecutable`, como `["run", "dev"]` |572| `runtimeArgs` | string\[] | Argumentos pasados a `runtimeExecutable`, como `["run", "dev"]` |


841La configuración administrada anula la configuración del proyecto y usuario y se aplica a las sesiones de Claude Code en Desktop. Puede establecer estas claves en el archivo de [configuración administrada](/docs/es/managed-settings) de su organización o enviarlas de forma remota a través de la consola de administración.841La configuración administrada anula la configuración del proyecto y usuario y se aplica a las sesiones de Claude Code en Desktop. Puede establecer estas claves en el archivo de [configuración administrada](/docs/es/managed-settings) de su organización o enviarlas de forma remota a través de la consola de administración.

842 842 

843| Clave | Descripción |843| Clave | Descripción |

844| ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |844| - | - |

845| `permissions.disableBypassPermissionsMode` | establezca en `"disable"` para evitar que los usuarios habiliten el modo bypass permissions. |845| `permissions.disableBypassPermissionsMode` | establezca en `"disable"` para evitar que los usuarios habiliten el modo bypass permissions. |

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

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


974Esta tabla muestra el equivalente de la aplicación de escritorio para banderas de CLI comunes. Las banderas no listadas no tienen equivalente de escritorio porque están diseñadas para scripting o automatización.974Esta tabla muestra el equivalente de la aplicación de escritorio para banderas de CLI comunes. Las banderas no listadas no tienen equivalente de escritorio porque están diseñadas para scripting o automatización.

975 975 

976| CLI | Equivalente de Desktop |976| CLI | Equivalente de Desktop |

977| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |977| - | - |

978| `--model sonnet` | Menú desplegable de modelo junto al botón de envío |978| `--model sonnet` | Menú desplegable de modelo junto al botón de envío |

979| `--resume`, `--continue` | Haga clic en una sesión en la barra lateral, o escriba `/resume` en el cuadro de solicitud para retomar una sesión que inició desde la CLI |979| `--resume`, `--continue` | Haga clic en una sesión en la barra lateral, o escriba `/resume` en el cuadro de solicitud para retomar una sesión que inició desde la CLI |

980| `--permission-mode` | Selector de modo junto al botón de envío |980| `--permission-mode` | Selector de modo junto al botón de envío |


1019Esta tabla compara capacidades principales entre la CLI y Desktop. Para una lista completa de banderas de CLI, consulte la [referencia de CLI](/docs/es/cli-reference).1019Esta tabla compara capacidades principales entre la CLI y Desktop. Para una lista completa de banderas de CLI, consulte la [referencia de CLI](/docs/es/cli-reference).

1020 1020 

1021| Característica | CLI | Desktop |1021| Característica | CLI | Desktop |

1022| ------------------------------------------------------- | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1022| - | - | - |

1023| Modos de permisos | Todos los modos incluyendo `dontAsk` | Manual, Aceptar ediciones, Plan y Auto. Bypass permissions aparece en el selector de modo una vez habilitado: a través del botón de alternancia de Configuración en planes Pro y Max, o a través de la política de la organización en planes Team y Enterprise |1023| Modos de permisos | Todos los modos incluyendo `dontAsk` | Manual, Aceptar ediciones, Plan y Auto. Bypass permissions aparece en el selector de modo una vez habilitado: a través del botón de alternancia de Configuración en planes Pro y Max, o a través de la política de la organización en planes Team y Enterprise |

1024| [Proveedores de terceros](/docs/es/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API de Anthropic de forma predeterminada. Para enrutamiento de puerta de enlace, consulte [conectar la aplicación de escritorio a una puerta de enlace](/docs/es/llm-gateway-connect#desktop-app). Para ejecutar la pestaña Code en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o una puerta de enlace LLM autohospedada, consulte [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview). |1024| [Proveedores de terceros](/docs/es/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API de Anthropic de forma predeterminada. Para enrutamiento de puerta de enlace, consulte [conectar la aplicación de escritorio a una puerta de enlace](/docs/es/llm-gateway-connect#desktop-app). Para ejecutar la pestaña Code en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o una puerta de enlace LLM autohospedada, consulte [Claude Desktop en 3P](https://claude.com/docs/third-party/claude-desktop/overview). |

1025| [MCP servers](/docs/es/mcp) | Configurar en archivos de configuración | UI de Connectors para sesiones locales y SSH, o archivos de configuración |1025| [MCP servers](/docs/es/mcp) | Configurar en archivos de configuración | UI de Connectors para sesiones locales y SSH, o archivos de configuración |

Details

17Claude Code ofrece tres formas de programar trabajo recurrente o puntual:17Claude Code ofrece tres formas de programar trabajo recurrente o puntual:

18 18 

19| | [Cloud](/docs/es/routines) | [Desktop](/docs/es/desktop-scheduled-tasks) | [`/loop`](/docs/es/scheduled-tasks) |19| | [Cloud](/docs/es/routines) | [Desktop](/docs/es/desktop-scheduled-tasks) | [`/loop`](/docs/es/scheduled-tasks) |

20| :-------------------------- | :-------------------------------------------------------- | :------------------------------------------------ | :--------------------------------------------------------------------------- |20| :- | :- | :- | :- |

21| Se ejecuta en | Cloud, administrado por Anthropic de forma predeterminada | Su máquina | Su máquina |21| Se ejecuta en | Cloud, administrado por Anthropic de forma predeterminada | Su máquina | Su máquina |

22| Requiere máquina encendida | No | Sí | Sí |22| Requiere máquina encendida | No | Sí | Sí |

23| Requiere sesión abierta | No | No | Sí |23| Requiere sesión abierta | No | No | Sí |


43En Claude Desktop anterior a 1.1.5368, las tareas programadas locales no están disponibles. En la [**pestaña Code**](/docs/es/desktop), haga clic en **Routines** en la barra lateral o en el menú **More** de la barra lateral, luego haga clic en **New routine** y elija **Local**. Configure estos campos:43En Claude Desktop anterior a 1.1.5368, las tareas programadas locales no están disponibles. En la [**pestaña Code**](/docs/es/desktop), haga clic en **Routines** en la barra lateral o en el menú **More** de la barra lateral, luego haga clic en **New routine** y elija **Local**. Configure estos campos:

44 44 

45| Campo | Descripción |45| Campo | Descripción |

46| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |46| - | - |

47| Name | Identificador de la tarea. Se convierte a kebab-case en minúsculas y se utiliza como nombre de carpeta en disco. Debe ser único en todas sus tareas. |47| Name | Identificador de la tarea. Se convierte a kebab-case en minúsculas y se utiliza como nombre de carpeta en disco. Debe ser único en todas sus tareas. |

48| Description | Resumen breve que se muestra en la lista de tareas. |48| Description | Resumen breve que se muestra en la lista de tareas. |

49| Instructions | Lo que Claude debe hacer cuando se ejecute la tarea. Escriba esto de la misma manera que escribiría cualquier mensaje en el cuadro de solicitud. La entrada de instrucciones incluye selectores para el modo de permiso y el modelo, y debajo selecciona la carpeta de trabajo y si desea ejecutar en un worktree aislado. |49| Instructions | Lo que Claude debe hacer cuando se ejecute la tarea. Escriba esto de la misma manera que escribiría cualquier mensaje en el cuadro de solicitud. La entrada de instrucciones incluye selectores para el modo de permiso y el modelo, y debajo selecciona la carpeta de trabajo y si desea ejecutar en un worktree aislado. |

devcontainer.md +1 −1

Details

191La configuración de referencia consta de tres archivos. Ninguno de ellos es requerido cuando agregas Claude Code a tu propio contenedor de desarrollo a través de la característica, pero muestran una forma de combinar las piezas.191La configuración de referencia consta de tres archivos. Ninguno de ellos es requerido cuando agregas Claude Code a tu propio contenedor de desarrollo a través de la característica, pero muestran una forma de combinar las piezas.

192 192 

193| Archivo | Propósito |193| Archivo | Propósito |

194| ---------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |194| - | - |

195| [`devcontainer.json`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/devcontainer.json) | Montajes de volumen, capacidades `runArgs`, extensiones de VS Code y `containerEnv` |195| [`devcontainer.json`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/devcontainer.json) | Montajes de volumen, capacidades `runArgs`, extensiones de VS Code y `containerEnv` |

196| [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/Dockerfile) | Imagen base, herramientas de desarrollo e instalación de Claude Code |196| [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/Dockerfile) | Imagen base, herramientas de desarrollo e instalación de Claude Code |

197| [`init-firewall.sh`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/init-firewall.sh) | Limita el tráfico de red saliente a los destinos que permite el script |197| [`init-firewall.sh`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/init-firewall.sh) | Limita el tráfico de red saliente a los destinos que permite el script |

env-vars.md +2 −2

Details

96El archivo que elija controla a quién se aplican las variables:96El archivo que elija controla a quién se aplican las variables:

97 97 

98| Archivo | Se aplica a |98| Archivo | Se aplica a |

99| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |99| :- | :- |

100| `~/.claude/settings.json` | Usted, en cada proyecto |100| `~/.claude/settings.json` | Usted, en cada proyecto |

101| `.claude/settings.json` | Todos los que trabajan en el proyecto, registrado en el control de fuente |101| `.claude/settings.json` | Todos los que trabajan en el proyecto, registrado en el control de fuente |

102| `.claude/settings.local.json` | Usted, solo en este proyecto, ignorado por git cuando Claude Code guarda una configuración en él; agréguelo a su gitignore si lo crea manualmente |102| `.claude/settings.local.json` | Usted, solo en este proyecto, ignorado por git cuando Claude Code guarda una configuración en él; agréguelo a su gitignore si lo crea manualmente |


142</Note>142</Note>

143 143 

144| Variable | Propósito |144| Variable | Propósito |

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

146| `ANTHROPIC_API_KEY` | Clave de API enviada como encabezado `X-Api-Key`. Cuando se establece, esta clave se usa en lugar de su suscripción a Claude Pro, Max, Team o Enterprise incluso si ha iniciado sesión. En modo no interactivo (`-p`), la clave siempre se usa cuando está presente. En modo interactivo, se le solicita que apruebe la clave una vez antes de que anule su suscripción. Para usar su suscripción en su lugar, ejecute `unset ANTHROPIC_API_KEY` |146| `ANTHROPIC_API_KEY` | Clave de API enviada como encabezado `X-Api-Key`. Cuando se establece, esta clave se usa en lugar de su suscripción a Claude Pro, Max, Team o Enterprise incluso si ha iniciado sesión. En modo no interactivo (`-p`), la clave siempre se usa cuando está presente. En modo interactivo, se le solicita que apruebe la clave una vez antes de que anule su suscripción. Para usar su suscripción en su lugar, ejecute `unset ANTHROPIC_API_KEY` |

147| `ANTHROPIC_AUTH_TOKEN` | Valor personalizado para el encabezado `Authorization` (el valor que establezca aquí tendrá el prefijo `Bearer `) |147| `ANTHROPIC_AUTH_TOKEN` | Valor personalizado para el encabezado `Authorization` (el valor que establezca aquí tendrá el prefijo `Bearer `) |

148| `ANTHROPIC_AWS_API_KEY` | Clave de API del espacio de trabajo para [Claude Platform on AWS](/docs/es/claude-platform-on-aws), generada en la Consola de AWS. Se envía como `x-api-key` y tiene precedencia sobre AWS SigV4 |148| `ANTHROPIC_AWS_API_KEY` | Clave de API del espacio de trabajo para [Claude Platform on AWS](/docs/es/claude-platform-on-aws), generada en la Consola de AWS. Se envía como `x-api-key` y tiene precedencia sobre AWS SigV4 |

errors.md +2 −2

Details

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

22 22 

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

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

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

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

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


366Puede ajustar el comportamiento de reintentos con estas variables de entorno:366Puede ajustar el comportamiento de reintentos con estas variables de entorno:

367 367 

368| Variable | Predeterminado | Efecto |368| Variable | Predeterminado | Efecto |

369| :---------------------------------------------------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |369| :- | :- | :- |

370| [`CLAUDE_CODE_MAX_RETRIES`](/docs/es/env-vars) | 10 | Número de intentos de reintento. Limitado a 15 a partir de v2.1.186; a partir de v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` aumenta el predeterminado y elimina el límite. Redúzcalo para que los fallos aparezcan más rápido en scripts. |370| [`CLAUDE_CODE_MAX_RETRIES`](/docs/es/env-vars) | 10 | Número de intentos de reintento. Limitado a 15 a partir de v2.1.186; a partir de v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` aumenta el predeterminado y elimina el límite. Redúzcalo para que los fallos aparezcan más rápido en scripts. |

371| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/es/env-vars) | sin establecer | Establézcalo en `1` en sesiones desatendidas como trabajos de CI para reintentar errores de capacidad `429` y `529` indefinidamente en lugar de fallar después de `CLAUDE_CODE_MAX_RETRIES` intentos. Claude Code falla de inmediato en un `429` que reporta un límite de gasto o créditos de uso agotados, incluso uno de un [límite de gasto de puerta de enlace](#spend-limit-reached) que se reinicia en un horario. Antes de v2.1.239, el vigilante reintentaba estos indefinidamente. Para solicitudes de modo rápido, vea [Handle rate limits](/docs/es/fast-mode#handle-rate-limits). En v2.1.199 o posterior, también aumenta el recuento de reintentos predeterminado para otros errores transitorios, como errores del servidor, tiempos de espera y conexiones perdidas, a 300, aproximadamente tres horas de retroceso, y elimina el límite de 15 en `CLAUDE_CODE_MAX_RETRIES` si establece esa variable explícitamente. |371| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/es/env-vars) | sin establecer | Establézcalo en `1` en sesiones desatendidas como trabajos de CI para reintentar errores de capacidad `429` y `529` indefinidamente en lugar de fallar después de `CLAUDE_CODE_MAX_RETRIES` intentos. Claude Code falla de inmediato en un `429` que reporta un límite de gasto o créditos de uso agotados, incluso uno de un [límite de gasto de puerta de enlace](#spend-limit-reached) que se reinicia en un horario. Antes de v2.1.239, el vigilante reintentaba estos indefinidamente. Para solicitudes de modo rápido, vea [Handle rate limits](/docs/es/fast-mode#handle-rate-limits). En v2.1.199 o posterior, también aumenta el recuento de reintentos predeterminado para otros errores transitorios, como errores del servidor, tiempos de espera y conexiones perdidas, a 300, aproximadamente tres horas de retroceso, y elimina el límite de 15 en `CLAUDE_CODE_MAX_RETRIES` si establece esa variable explícitamente. |

372| [`API_TIMEOUT_MS`](/docs/es/env-vars) | 600000 | Tiempo de espera por solicitud en milisegundos. Aumente para redes lentas o proxies. También limita cuánto tiempo Claude Code espera los encabezados de respuesta, descrito en [No response from API](#no-response-from-api). |372| [`API_TIMEOUT_MS`](/docs/es/env-vars) | 600000 | Tiempo de espera por solicitud en milisegundos. Aumente para redes lentas o proxies. También limita cuánto tiempo Claude Code espera los encabezados de respuesta, descrito en [No response from API](#no-response-from-api). |

fast-mode.md +2 −2

Details

79El modo rápido tiene precios por token más altos que el Opus estándar:79El modo rápido tiene precios por token más altos que el Opus estándar:

80 80 

81| Modelo | Entrada (MTok) | Salida (MTok) |81| Modelo | Entrada (MTok) | Salida (MTok) |

82| -------- | -------------- | ------------- |82| - | - | - |

83| Opus 5.5 | \$8 | \$40 |83| Opus 5.5 | \$8 | \$40 |

84| Opus 5 | \$10 | \$50 |84| Opus 5 | \$10 | \$50 |

85| Opus 4.8 | \$10 | \$50 |85| Opus 4.8 | \$10 | \$50 |


121El modo rápido y el nivel de esfuerzo afectan la velocidad de respuesta, pero de manera diferente:121El modo rápido y el nivel de esfuerzo afectan la velocidad de respuesta, pero de manera diferente:

122 122 

123| Configuración | Efecto |123| Configuración | Efecto |

124| ------------------------------ | -------------------------------------------------------------------------------------------------------- |124| - | - |

125| **Modo rápido** | Misma calidad de modelo, latencia más baja, costo más alto |125| **Modo rápido** | Misma calidad de modelo, latencia más baja, costo más alto |

126| **Nivel de esfuerzo más bajo** | Menos tiempo de pensamiento, respuestas más rápidas, calidad potencialmente más baja en tareas complejas |126| **Nivel de esfuerzo más bajo** | Menos tiempo de pensamiento, respuestas más rápidas, calidad potencialmente más baja en tareas complejas |

127 127 

Details

304Si se autentica a través de Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o una clave API de la Consola de Anthropic, esta sección no se aplica a usted. Cuando inicia sesión con una cuenta de claude.ai, su plan determina cuál de las características a continuación está disponible.304Si se autentica a través de Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o una clave API de la Consola de Anthropic, esta sección no se aplica a usted. Cuando inicia sesión con una cuenta de claude.ai, su plan determina cuál de las características a continuación está disponible.

305 305 

306| Característica | Pro | Max | Team | Enterprise |306| Característica | Pro | Max | Team | Enterprise |

307| :-------------------------------------------------------------------------- | :-- | :-- | :--------------------------- | :-------------------------------- |307| :- | :- | :- | :- | :- |

308| [Cloud sessions](/docs/es/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |308| [Cloud sessions](/docs/es/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |

309| [Routines](/docs/es/routines) | ✓ | ✓ | ✓ | ✓ |309| [Routines](/docs/es/routines) | ✓ | ✓ | ✓ | ✓ |

310| [Remote Control](/docs/es/remote-control) | ✓ | ✓ | Habilitado por administrador | Habilitado por administrador |310| [Remote Control](/docs/es/remote-control) | ✓ | ✓ | Habilitado por administrador | Habilitado por administrador |

Details

40Las características van desde contexto siempre activo que Claude ve en cada sesión, hasta capacidades bajo demanda que usted o Claude pueden invocar, hasta automatización en segundo plano que se ejecuta en eventos específicos. La tabla a continuación muestra qué está disponible y cuándo tiene sentido cada uno.40Las características van desde contexto siempre activo que Claude ve en cada sesión, hasta capacidades bajo demanda que usted o Claude pueden invocar, hasta automatización en segundo plano que se ejecuta en eventos específicos. La tabla a continuación muestra qué está disponible y cuándo tiene sentido cada uno.

41 41 

42| Característica | Qué hace | Cuándo usarlo | Ejemplo |42| Característica | Qué hace | Cuándo usarlo | Ejemplo |

43| -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |43| - | - | - | - |

44| **CLAUDE.md** | Contexto persistente cargado en cada conversación | Convenciones de proyecto, reglas "siempre haz X" | "Usa pnpm, no npm. Ejecuta pruebas antes de hacer commit." |44| **CLAUDE.md** | Contexto persistente cargado en cada conversación | Convenciones de proyecto, reglas "siempre haz X" | "Usa pnpm, no npm. Ejecuta pruebas antes de hacer commit." |

45| **[Output style](/docs/es/output-styles)** | Instrucciones que establecen el rol, tono y formato de respuesta de Claude para toda una sesión | Una voz, longitud o formato que desea en cada respuesta, o Claude trabajando como algo diferente a un ingeniero de software | El estilo Concise integrado para respuestas más cortas; un estilo personalizado que responde cada pregunta con un diagrama primero |45| **[Output style](/docs/es/output-styles)** | Instrucciones que establecen el rol, tono y formato de respuesta de Claude para toda una sesión | Una voz, longitud o formato que desea en cada respuesta, o Claude trabajando como algo diferente a un ingeniero de software | El estilo Concise integrado para respuestas más cortas; un estilo personalizado que responde cada pregunta con un diagrama primero |

46| **Skill** | Instrucciones, conocimiento y flujos de trabajo que Claude puede usar | Contenido reutilizable, documentos de referencia, tareas repetibles | `/deploy` ejecuta su lista de verificación de implementación; skill de documentos API con patrones de endpoint |46| **Skill** | Instrucciones, conocimiento y flujos de trabajo que Claude puede usar | Contenido reutilizable, documentos de referencia, tareas repetibles | `/deploy` ejecuta su lista de verificación de implementación; skill de documentos API con patrones de endpoint |


61No necesita configurar todo de antemano. Cada característica tiene un desencadenante reconocible, y la mayoría de los equipos las agregan en aproximadamente este orden:61No necesita configurar todo de antemano. Cada característica tiene un desencadenante reconocible, y la mayoría de los equipos las agregan en aproximadamente este orden:

62 62 

63| Desencadenante | Agregar |63| Desencadenante | Agregar |

64| :---------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------- |64| :- | :- |

65| Claude se equivoca en una convención o comando dos veces | Agréguelo a [CLAUDE.md](/docs/es/memory) |65| Claude se equivoca en una convención o comando dos veces | Agréguelo a [CLAUDE.md](/docs/es/memory) |

66| Sigue pidiendo a Claude que sea más breve, que explique más, o que responda en el mismo formato | Establezca un [output style](/docs/es/output-styles) |66| Sigue pidiendo a Claude que sea más breve, que explique más, o que responda en el mismo formato | Establezca un [output style](/docs/es/output-styles) |

67| Sigue escribiendo el mismo prompt para iniciar una tarea | Guárdelo como una [skill](/docs/es/skills) invocable por el usuario |67| Sigue escribiendo el mismo prompt para iniciar una tarea | Guárdelo como una [skill](/docs/es/skills) invocable por el usuario |


88 * **Subagents** son trabajadores aislados que se ejecutan separadamente de su conversación principal88 * **Subagents** son trabajadores aislados que se ejecutan separadamente de su conversación principal

89 89 

90 | Aspecto | Skill | Subagent |90 | Aspecto | Skill | Subagent |

91 | -------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------ |91 | - | - | - |

92 | **Qué es** | Instrucciones, conocimiento o flujos de trabajo reutilizables | Trabajador aislado con su propio contexto |92 | **Qué es** | Instrucciones, conocimiento o flujos de trabajo reutilizables | Trabajador aislado con su propio contexto |

93 | **Beneficio clave** | Compartir contenido entre contextos | Aislamiento de contexto. El trabajo ocurre por separado, solo devuelve resumen |93 | **Beneficio clave** | Compartir contenido entre contextos | Aislamiento de contexto. El trabajo ocurre por separado, solo devuelve resumen |

94 | **Impacto de [ventana de contexto](/docs/es/context-window)** | Se agrega a su ventana principal | Usa una ventana separada con sus propios tokens de entrada y salida |94 | **Impacto de [ventana de contexto](/docs/es/context-window)** | Se agrega a su ventana principal | Usa una ventana separada con sus propios tokens de entrada y salida |


105 Ambos almacenan instrucciones, pero se cargan de manera diferente y sirven propósitos diferentes.105 Ambos almacenan instrucciones, pero se cargan de manera diferente y sirven propósitos diferentes.

106 106 

107 | Aspecto | CLAUDE.md | Skill |107 | Aspecto | CLAUDE.md | Skill |

108 | ---------------------------------------- | ----------------------------- | ---------------------------------------------------- |108 | - | - | - |

109 | **Se carga** | Cada sesión, automáticamente | Bajo demanda |109 | **Se carga** | Cada sesión, automáticamente | Bajo demanda |

110 | **Puede incluir archivos** | Sí, con importaciones `@path` | Sí, con importaciones `@path` |110 | **Puede incluir archivos** | Sí, con importaciones `@path` | Sí, con importaciones `@path` |

111 | **Puede desencadenar flujos de trabajo** | No | Sí, con `/<name>` |111 | **Puede desencadenar flujos de trabajo** | No | Sí, con `/<name>` |


122 Ambos dan a Claude instrucciones permanentes. CLAUDE.md contiene lo que Claude debe saber, y un output style establece cómo Claude responde.122 Ambos dan a Claude instrucciones permanentes. CLAUDE.md contiene lo que Claude debe saber, y un output style establece cómo Claude responde.

123 123 

124 | Aspecto | CLAUDE.md | Output style |124 | Aspecto | CLAUDE.md | Output style |

125 | -------------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |125 | - | - | - |

126 | **Contiene** | Hechos y reglas sobre su proyecto | Un rol, tono y formato de respuesta |126 | **Contiene** | Hechos y reglas sobre su proyecto | Un rol, tono y formato de respuesta |

127 | **Cambio** | Siempre cargado | Uno activo a la vez; [cambie estilos](/docs/es/output-styles#change-your-output-style) cuando quiera |127 | **Cambio** | Siempre cargado | Uno activo a la vez; [cambie estilos](/docs/es/output-styles#change-your-output-style) cuando quiera |

128 | **Mejor para** | Comandos de compilación, convenciones, reglas "nunca hagas X" | Respuestas más cortas, explicaciones junto con código, un rol no ingenieril |128 | **Mejor para** | Comandos de compilación, convenciones, reglas "nunca hagas X" | Respuestas más cortas, explicaciones junto con código, un rol no ingenieril |


138 Los tres almacenan instrucciones, pero se cargan de manera diferente:138 Los tres almacenan instrucciones, pero se cargan de manera diferente:

139 139 

140 | Aspecto | CLAUDE.md | `.claude/rules/` | Skill |140 | Aspecto | CLAUDE.md | `.claude/rules/` | Skill |

141 | -------------- | ------------------------------------------------ | ---------------------------------------------------- | ---------------------------------------------------- |141 | - | - | - | - |

142 | **Se carga** | Cada sesión | Cada sesión, o cuando se abren archivos coincidentes | Bajo demanda, cuando se invoca o es relevante |142 | **Se carga** | Cada sesión | Cada sesión, o cuando se abren archivos coincidentes | Bajo demanda, cuando se invoca o es relevante |

143 | **Alcance** | Proyecto completo | Puede estar limitado a rutas de archivo | Específico de tarea |143 | **Alcance** | Proyecto completo | Puede estar limitado a rutas de archivo | Específico de tarea |

144 | **Mejor para** | Convenciones y comandos de compilación centrales | Directrices específicas del idioma o directorio | Material de referencia, flujos de trabajo repetibles |144 | **Mejor para** | Convenciones y comandos de compilación centrales | Directrices específicas del idioma o directorio | Material de referencia, flujos de trabajo repetibles |


167 MCP conecta Claude a servicios externos. Las skills extienden lo que Claude sabe, incluyendo cómo usar esos servicios de manera efectiva.167 MCP conecta Claude a servicios externos. Las skills extienden lo que Claude sabe, incluyendo cómo usar esos servicios de manera efectiva.

168 168 

169 | Aspecto | MCP | Skill |169 | Aspecto | MCP | Skill |

170 | --------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |170 | - | - | - |

171 | **Qué es** | Protocolo para conectar a servicios externos | Conocimiento, flujos de trabajo y material de referencia |171 | **Qué es** | Protocolo para conectar a servicios externos | Conocimiento, flujos de trabajo y material de referencia |

172 | **Proporciona** | Herramientas y acceso a datos | Conocimiento, flujos de trabajo, material de referencia |172 | **Proporciona** | Herramientas y acceso a datos | Conocimiento, flujos de trabajo, material de referencia |

173 | **Ejemplos** | Integración de Slack, consultas de base de datos, control de navegador | Lista de verificación de revisión de código, flujo de trabajo de implementación, guía de estilo de API |173 | **Ejemplos** | Integración de Slack, consultas de base de datos, control de navegador | Lista de verificación de revisión de código, flujo de trabajo de implementación, guía de estilo de API |


183 Claude Code ejecuta un hook en un evento del ciclo de vida; carga una skill en contexto para que Claude la aplique.183 Claude Code ejecuta un hook en un evento del ciclo de vida; carga una skill en contexto para que Claude la aplique.

184 184 

185 | Aspecto | Hook | Skill |185 | Aspecto | Hook | Skill |

186 | --------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |186 | - | - | - |

187 | **Se ejecuta** | Un comando shell, solicitud HTTP, llamada a herramienta MCP, prompt LLM o subagent | Instrucciones que Claude lee y sigue |187 | **Se ejecuta** | Un comando shell, solicitud HTTP, llamada a herramienta MCP, prompt LLM o subagent | Instrucciones que Claude lee y sigue |

188 | **Desencadenado por** | [Eventos del ciclo de vida](/docs/es/hooks#hook-events) como `PostToolUse` o `SessionStart` | Usted escribiendo `/<name>`, o Claude haciendo coincidir la descripción con su tarea |188 | **Desencadenado por** | [Eventos del ciclo de vida](/docs/es/hooks#hook-events) como `PostToolUse` o `SessionStart` | Usted escribiendo `/<name>`, o Claude haciendo coincidir la descripción con su tarea |

189 | **Determinismo** | Siempre se dispara en su evento; el desencadenante está garantizado | Claude interpreta las instrucciones; el resultado puede variar |189 | **Determinismo** | Siempre se dispara en su evento; el desencadenante está garantizado | Claude interpreta las instrucciones; el resultado puede variar |


220Por ejemplo, podría usar CLAUDE.md para convenciones de proyecto, una skill para su flujo de trabajo de implementación, MCP para conectar a su base de datos y un hook para ejecutar linting después de cada edición. Cada característica maneja lo que hace mejor.220Por ejemplo, podría usar CLAUDE.md para convenciones de proyecto, una skill para su flujo de trabajo de implementación, MCP para conectar a su base de datos y un hook para ejecutar linting después de cada edición. Cada característica maneja lo que hace mejor.

221 221 

222| Patrón | Cómo funciona | Ejemplo |222| Patrón | Cómo funciona | Ejemplo |

223| ---------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |223| - | - | - |

224| **Skill + MCP** | MCP proporciona la conexión; una skill enseña a Claude cómo usarla bien | MCP se conecta a su base de datos, una skill documenta su esquema y patrones de consulta |224| **Skill + MCP** | MCP proporciona la conexión; una skill enseña a Claude cómo usarla bien | MCP se conecta a su base de datos, una skill documenta su esquema y patrones de consulta |

225| **Skill + Subagent** | Una skill genera subagents para trabajo paralelo | La skill `/audit` inicia subagents de seguridad, rendimiento y estilo que trabajan en contexto aislado |225| **Skill + Subagent** | Una skill genera subagents para trabajo paralelo | La skill `/audit` inicia subagents de seguridad, rendimiento y estilo que trabajan en contexto aislado |

226| **CLAUDE.md + Skills** | CLAUDE.md contiene reglas siempre activas; las skills contienen material de referencia cargado bajo demanda | CLAUDE.md dice "sigue nuestras convenciones de API," una skill contiene la guía de estilo de API completa |226| **CLAUDE.md + Skills** | CLAUDE.md contiene reglas siempre activas; las skills contienen material de referencia cargado bajo demanda | CLAUDE.md dice "sigue nuestras convenciones de API," una skill contiene la guía de estilo de API completa |


239Cada característica tiene una estrategia de carga y costo de contexto diferentes:239Cada característica tiene una estrategia de carga y costo de contexto diferentes:

240 240 

241| Característica | Cuándo se carga | Qué se carga | Costo de contexto |241| Característica | Cuándo se carga | Qué se carga | Costo de contexto |

242| -------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |242| - | - | - | - |

243| **CLAUDE.md** | Inicio de sesión | Contenido completo | Cada solicitud |243| **CLAUDE.md** | Inicio de sesión | Contenido completo | Cada solicitud |

244| **Estilos de salida** | Inicio de sesión, y nuevamente cuando cambia de estilos | Las instrucciones completas del estilo activo; nada para el estilo Predeterminado | Cada solicitud |244| **Estilos de salida** | Inicio de sesión, y nuevamente cuando cambia de estilos | Las instrucciones completas del estilo activo; nada para el estilo Predeterminado | Cada solicitud |

245| **Skills** | Inicio de sesión + cuando se usa | Descripciones al inicio, contenido completo cuando se usa | Bajo (descripciones cada solicitud)\* |245| **Skills** | Inicio de sesión + cuando se usa | Descripciones al inicio, contenido completo cuando se usa | Bajo (descripciones cada solicitud)\* |

fullscreen.md +4 −4

Details

57Las [sesiones en segundo plano](/docs/es/agent-view) adjuntas se renderizan a pantalla completa, y otras sesiones en [modo de lector de pantalla](/docs/es/accessibility) utilizan el renderizador clásico. De lo contrario, Claude Code lo inicia en el renderizador de la primera fila de esta tabla que coincida con su configuración:57Las [sesiones en segundo plano](/docs/es/agent-view) adjuntas se renderizan a pantalla completa, y otras sesiones en [modo de lector de pantalla](/docs/es/accessibility) utilizan el renderizador clásico. De lo contrario, Claude Code lo inicia en el renderizador de la primera fila de esta tabla que coincida con su configuración:

58 58 

59| Su situación | Renderizador en el que inicia |59| Su situación | Renderizador en el que inicia |

60| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------ |60| :- | :- |

61| Estableció [`CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`](/docs/es/env-vars) o `CLAUDE_CODE_NO_FLICKER=0` | Clásico |61| Estableció [`CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`](/docs/es/env-vars) o `CLAUDE_CODE_NO_FLICKER=0` | Clásico |

62| Estableció `CLAUDE_CODE_NO_FLICKER=1` | Pantalla completa |62| Estableció `CLAUDE_CODE_NO_FLICKER=1` | Pantalla completa |

63| Claude Code [desactivó pantalla completa después de un inicio de pantalla completa fallido](#fullscreen-renderer-didnt-finish-starting) en esta máquina | Clásico |63| Claude Code [desactivó pantalla completa después de un inicio de pantalla completa fallido](#fullscreen-renderer-didnt-finish-starting) en esta máquina | Clásico |


85Debido a que la conversación vive en el búfer de pantalla alternativa en lugar del desplazamiento de su terminal, algunas cosas funcionan de manera diferente:85Debido a que la conversación vive en el búfer de pantalla alternativa en lugar del desplazamiento de su terminal, algunas cosas funcionan de manera diferente:

86 86 

87| Antes | Ahora | Detalles |87| Antes | Ahora | Detalles |

88| :-------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------- |88| :- | :- | :- |

89| `Cmd+f` o búsqueda de tmux para encontrar texto | `Ctrl+o` para modo de transcripción, luego `/` para buscar o `[` para escribir en el desplazamiento | [Buscar y revisar la conversación](#search-and-review-the-conversation) |89| `Cmd+f` o búsqueda de tmux para encontrar texto | `Ctrl+o` para modo de transcripción, luego `/` para buscar o `[` para escribir en el desplazamiento | [Buscar y revisar la conversación](#search-and-review-the-conversation) |

90| Clic y arrastre nativo de la terminal para seleccionar y copiar | Selección en la aplicación, se copia automáticamente al soltar el ratón | [Usar el ratón](#use-the-mouse) |90| Clic y arrastre nativo de la terminal para seleccionar y copiar | Selección en la aplicación, se copia automáticamente al soltar el ratón | [Usar el ratón](#use-the-mouse) |

91| `Cmd`-clic para abrir una URL | `Cmd`-clic en macOS, `Ctrl`-clic en otros lugares | [Usar el ratón](#use-the-mouse) |91| `Cmd`-clic para abrir una URL | `Cmd`-clic en macOS, `Ctrl`-clic en otros lugares | [Usar el ratón](#use-the-mouse) |


135El renderizado a pantalla completa maneja el desplazamiento dentro de la aplicación. Utilice estos atajos de teclado para navegar:135El renderizado a pantalla completa maneja el desplazamiento dentro de la aplicación. Utilice estos atajos de teclado para navegar:

136 136 

137| Atajo de teclado | Acción |137| Atajo de teclado | Acción |

138| :--------------- | :------------------------------------------------------------- |138| :- | :- |

139| `PgUp` / `PgDn` | Desplazarse hacia arriba o hacia abajo media pantalla |139| `PgUp` / `PgDn` | Desplazarse hacia arriba o hacia abajo media pantalla |

140| `Ctrl+Home` | Saltar al inicio de la conversación |140| `Ctrl+Home` | Saltar al inicio de la conversación |

141| `Ctrl+End` | Saltar al último mensaje y reactivar el seguimiento automático |141| `Ctrl+End` | Saltar al último mensaje y reactivar el seguimiento automático |


208El modo de transcripción obtiene navegación y búsqueda de estilo `less`:208El modo de transcripción obtiene navegación y búsqueda de estilo `less`:

209 209 

210| Tecla | Acción |210| Tecla | Acción |

211| :---------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |211| :- | :- |

212| `/` | Abrir búsqueda. Escriba para encontrar coincidencias, `Enter` para aceptar, `Esc` para cancelar y restaurar su posición de desplazamiento |212| `/` | Abrir búsqueda. Escriba para encontrar coincidencias, `Enter` para aceptar, `Esc` para cancelar y restaurar su posición de desplazamiento |

213| `n` / `N` | Saltar a la siguiente o anterior coincidencia. Funciona después de haber cerrado la barra de búsqueda |213| `n` / `N` | Saltar a la siguiente o anterior coincidencia. Funciona después de haber cerrado la barra de búsqueda |

214| `j` / `k` o `↑` / `↓` | Desplazarse una línea |214| `j` / `k` o `↑` / `↓` | Desplazarse una línea |

Details

136Cuando instala la aplicación, otorga los siguientes permisos:136Cuando instala la aplicación, otorga los siguientes permisos:

137 137 

138| Permiso | Acceso |138| Permiso | Acceso |

139| ---------------- | ------------------- |139| - | - |

140| Actions | Lectura y escritura |140| Actions | Lectura y escritura |

141| Checks | Lectura y escritura |141| Checks | Lectura y escritura |

142| Contents | Lectura y escritura |142| Contents | Lectura y escritura |


399Estas son las entradas más comúnmente usadas. Cada una se asigna a una clave `with:` en el paso `anthropics/claude-code-action`.399Estas son las entradas más comúnmente usadas. Cada una se asigna a una clave `with:` en el paso `anthropics/claude-code-action`.

400 400 

401| Parámetro | Descripción | Requerido |401| Parámetro | Descripción | Requerido |

402| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |402| - | - | - |

403| `prompt` | Instrucciones para Claude, como texto sin formato o una invocación de [skill](/docs/es/skills). Cuando se omite, Claude responde a la [frase de disparo](#interactive-and-automation-modes) en su lugar | No |403| `prompt` | Instrucciones para Claude, como texto sin formato o una invocación de [skill](/docs/es/skills). Cuando se omite, Claude responde a la [frase de disparo](#interactive-and-automation-modes) en su lugar | No |

404| `claude_args` | Argumentos de CLI pasados a Claude Code | No |404| `claude_args` | Argumentos de CLI pasados a Claude Code | No |

405| `anthropic_api_key` | Clave API de Claude | Para la API de Claude, a menos que use `claude_code_oauth_token` o [federación de identidad de carga de trabajo](#set-up-for-an-organization). No se usa para Bedrock, Agent Platform o Foundry |405| `anthropic_api_key` | Clave API de Claude | Para la API de Claude, a menos que use `claude_code_oauth_token` o [federación de identidad de carga de trabajo](#set-up-for-an-organization). No se usa para Bedrock, Agent Platform o Foundry |

Details

101 En el repositorio donde se ejecuta Claude Code GitHub Action, agregue los secretos para su proveedor, más los dos secretos de la aplicación si creó una aplicación personalizada de GitHub en el primer paso. Consulte la guía de GitHub sobre [uso de secretos en GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).101 En el repositorio donde se ejecuta Claude Code GitHub Action, agregue los secretos para su proveedor, más los dos secretos de la aplicación si creó una aplicación personalizada de GitHub en el primer paso. Consulte la guía de GitHub sobre [uso de secretos en GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).

102 102 

103 | Secreto | Necesario para | Valor |103 | Secreto | Necesario para | Valor |

104 | -------------------------------- | ---------------------------------- | ----------------------------------------------------------- |104 | - | - | - |

105 | `AWS_ROLE_TO_ASSUME` | Amazon Bedrock | El ARN del rol de IAM |105 | `AWS_ROLE_TO_ASSUME` | Amazon Bedrock | El ARN del rol de IAM |

106 | `GCP_WORKLOAD_IDENTITY_PROVIDER` | Google Cloud's Agent Platform | El nombre de recurso completo del proveedor |106 | `GCP_WORKLOAD_IDENTITY_PROVIDER` | Google Cloud's Agent Platform | El nombre de recurso completo del proveedor |

107 | `GCP_SERVICE_ACCOUNT` | Google Cloud's Agent Platform | La dirección de correo electrónico de la cuenta de servicio |107 | `GCP_SERVICE_ACCOUNT` | Google Cloud's Agent Platform | La dirección de correo electrónico de la cuenta de servicio |

Details

21La tabla a continuación muestra qué características de Claude Code admiten GHES y cualquier diferencia del comportamiento de github.com.21La tabla a continuación muestra qué características de Claude Code admiten GHES y cualquier diferencia del comportamiento de github.com.

22 22 

23| Característica | Compatibilidad con GHES | Notas |23| Característica | Compatibilidad con GHES | Notas |

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

25| Sesiones en la nube | ✅ Compatible | Un propietario conecta la instancia de GHES una vez; los desarrolladores usan `claude --cloud` o [claude.ai/code](https://claude.ai/code) como de costumbre |25| Sesiones en la nube | ✅ Compatible | Un propietario conecta la instancia de GHES una vez; los desarrolladores usan `claude --cloud` o [claude.ai/code](https://claude.ai/code) como de costumbre |

26| Revisión de código | ✅ Compatible | Las mismas revisiones automatizadas de PR que en github.com |26| Revisión de código | ✅ Compatible | Las mismas revisiones automatizadas de PR que en github.com |

27| Claude Security | ✅ Compatible | Disponible en versión beta pública para planes Enterprise en [claude.ai/security](https://claude.ai/security) |27| Claude Security | ✅ Compatible | Disponible en versión beta pública para planes Enterprise en [claude.ai/security](https://claude.ai/security) |


68El manifiesto configura la GitHub App con los permisos y eventos de webhook que se muestran a continuación, que en conjunto cubren sesiones web, Revisión de código, Claude Security, mercados de plugins y métricas de contribución:68El manifiesto configura la GitHub App con los permisos y eventos de webhook que se muestran a continuación, que en conjunto cubren sesiones web, Revisión de código, Claude Security, mercados de plugins y métricas de contribución:

69 69 

70| Permiso | Acceso | Usado para |70| Permiso | Acceso | Usado para |

71| :------------------- | :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |71| :- | :- | :- |

72| Contents | Lectura y escritura | Clonar repositorios e insertar ramas |72| Contents | Lectura y escritura | Clonar repositorios e insertar ramas |

73| Pull requests | Lectura y escritura | Crear PR y publicar comentarios de revisión |73| Pull requests | Lectura y escritura | Crear PR y publicar comentarios de revisión |

74| Issues | Lectura y escritura | Responder a menciones de problemas |74| Issues | Lectura y escritura | Responder a menciones de problemas |


131Aloje mercados de plugins en su instancia de GHES para distribuir herramientas internas en toda su organización. La estructura del mercado es idéntica a los mercados alojados en github.com, pero la instalación funciona de manera diferente según dónde agregue el mercado, y las credenciales varían según la superficie:131Aloje mercados de plugins en su instancia de GHES para distribuir herramientas internas en toda su organización. La estructura del mercado es idéntica a los mercados alojados en github.com, pero la instalación funciona de manera diferente según dónde agregue el mercado, y las credenciales varían según la superficie:

132 132 

133| Superficie | Cómo funciona la instalación | Lo que cada usuario necesita |133| Superficie | Cómo funciona la instalación | Lo que cada usuario necesita |

134| :------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |134| :- | :- | :- |

135| Claude Code CLI y escritorio | Claude Code clona el repositorio del mercado usando las credenciales de git existentes de la máquina | Acceso a Git a su host de GHES desde su máquina |135| Claude Code CLI y escritorio | Claude Code clona el repositorio del mercado usando las credenciales de git existentes de la máquina | Acceso a Git a su host de GHES desde su máquina |

136| Configuración administrada (`extraKnownMarketplaces`) | Claude Code registra la entrada y clona el repositorio usando las credenciales de git existentes de la máquina | Acceso a Git a su host de GHES desde su máquina |136| Configuración administrada (`extraKnownMarketplaces`) | Claude Code registra la entrada y clona el repositorio usando las credenciales de git existentes de la máquina | Acceso a Git a su host de GHES desde su máquina |

137| Configuración de plugins de la organización en claude.ai | Un Propietario selecciona la instancia de GHES como fuente; el backend de Anthropic obtiene y sincroniza el repositorio usando la GitHub App de [configuración de administrador](#admin-setup) | Nada por usuario una vez agregado. El Propietario que lo agrega necesita su propia cuenta de GitHub Enterprise conectada como verificación de acceso, y la GitHub App debe estar instalada en el repositorio del mercado |137| Configuración de plugins de la organización en claude.ai | Un Propietario selecciona la instancia de GHES como fuente; el backend de Anthropic obtiene y sincroniza el repositorio usando la GitHub App de [configuración de administrador](#admin-setup) | Nada por usuario una vez agregado. El Propietario que lo agrega necesita su propia cuenta de GitHub Enterprise conectada como verificación de acceso, y la GitHub App debe estar instalada en el repositorio del mercado |

glossary.md +1 −1

Details

489Estos términos aparecen en documentos más antiguos, publicaciones de blog y contenido de la comunidad. Use el nombre actual cuando busque en este sitio.489Estos términos aparecen en documentos más antiguos, publicaciones de blog y contenido de la comunidad. Use el nombre actual cuando busque en este sitio.

490 490 

491| Término antiguo | Ahora llamado | Notas |491| Término antiguo | Ahora llamado | Notas |

492| ------------------------------------------------------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------- |492| - | - | - |

493| Headless mode | [Non-interactive mode](#non-interactive-mode) | Misma bandera `-p`, mismo comportamiento |493| Headless mode | [Non-interactive mode](#non-interactive-mode) | Misma bandera `-p`, mismo comportamiento |

494| Web session; "Claude Code on the web" como el nombre para cualquier sesión en la nube | [Cloud session](#cloud-session) | "Claude Code on the web" ahora nombra solo la superficie del navegador en claude.ai/code |494| Web session; "Claude Code on the web" como el nombre para cualquier sesión en la nube | [Cloud session](#cloud-session) | "Claude Code on the web" ahora nombra solo la superficie del navegador en claude.ai/code |

495| Custom commands | [Skills](#skill) | Los archivos `.claude/commands/` aún funcionan |495| Custom commands | [Skills](#skill) | Los archivos `.claude/commands/` aún funcionan |

goal.md +1 −1

Details

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

23 23 

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

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

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

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

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

Details

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

252 252 

253| Tipo de modelo | Valor predeterminado |253| Tipo de modelo | Valor predeterminado |

254| :-------------------- | :--------------------------- |254| :- | :- |

255| Modelo principal | `claude-opus-5-5` |255| Modelo principal | `claude-opus-5-5` |

256| Modelo pequeño/rápido | `claude-sonnet-4-5@20250929` |256| Modelo pequeño/rápido | `claude-sonnet-4-5@20250929` |

257 257 

headless.md +5 −5

Details

55En modo bare Claude tiene acceso a las herramientas Bash, lectura de archivos y edición de archivos. Pase cualquier contexto que necesite con una bandera:55En modo bare Claude tiene acceso a las herramientas Bash, lectura de archivos y edición de archivos. Pase cualquier contexto que necesite con una bandera:

56 56 

57| Para cargar | Utilice |57| Para cargar | Utilice |

58| ----------------------------------- | ------------------------------------------------------- |58| - | - |

59| Adiciones de indicación del sistema | `--append-system-prompt`, `--append-system-prompt-file` |59| Adiciones de indicación del sistema | `--append-system-prompt`, `--append-system-prompt-file` |

60| Configuración | `--settings <file-or-json>` |60| Configuración | `--settings <file-or-json>` |

61| Servidores MCP | `--mcp-config <file-or-json>` |61| Servidores MCP | `--mcp-config <file-or-json>` |


223Cuando una solicitud de API falla con un error reintentable, Claude Code emite un evento `system/api_retry` antes de reintentar. En v2.1.246 o posterior, cuando un `401` o `403` rechaza una credencial [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper), Claude Code realiza los primeros dos reintentos silenciosamente sin evento, luego emite el evento como de costumbre desde el tercer reintento consecutivo en adelante. Los reintentos silenciosos aún cuentan hacia `attempt`. Puede usar el evento para mostrar el progreso del reintento en su propia interfaz.223Cuando una solicitud de API falla con un error reintentable, Claude Code emite un evento `system/api_retry` antes de reintentar. En v2.1.246 o posterior, cuando un `401` o `403` rechaza una credencial [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper), Claude Code realiza los primeros dos reintentos silenciosamente sin evento, luego emite el evento como de costumbre desde el tercer reintento consecutivo en adelante. Los reintentos silenciosos aún cuentan hacia `attempt`. Puede usar el evento para mostrar el progreso del reintento en su propia interfaz.

224 224 

225| Campo | Tipo | Descripción |225| Campo | Tipo | Descripción |

226| ---------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |226| - | - | - |

227| `type` | `"system"` | tipo de mensaje |227| `type` | `"system"` | tipo de mensaje |

228| `subtype` | `"api_retry"` | identifica esto como un evento de reintento |228| `subtype` | `"api_retry"` | identifica esto como un evento de reintento |

229| `attempt` | entero | número de intento actual, comenzando en 1 |229| `attempt` | entero | número de intento actual, comenzando en 1 |


253Utilice los campos de plugin en el evento `system/init` para detectar un plugin que no se cargó:253Utilice los campos de plugin en el evento `system/init` para detectar un plugin que no se cargó:

254 254 

255| Campo | Tipo | Descripción |255| Campo | Tipo | Descripción |

256| --------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |256| - | - | - |

257| `plugins` | matriz | plugins que se cargaron exitosamente, cada uno con `name` y `path` |257| `plugins` | matriz | plugins que se cargaron exitosamente, cada uno con `name` y `path` |

258| `plugin_errors` | matriz | errores de tiempo de carga de plugin, cada uno con `plugin`, `type` y `message`. Incluye versiones de dependencia insatisfechas y fallos de carga de `--plugin-dir` como una ruta faltante o archivo inválido. Los plugins afectados se degradan y están ausentes de `plugins`. La clave se omite cuando no hay errores |258| `plugin_errors` | matriz | errores de tiempo de carga de plugin, cada uno con `plugin`, `type` y `message`. Incluye versiones de dependencia insatisfechas y fallos de carga de `--plugin-dir` como una ruta faltante o archivo inválido. Los plugins afectados se degradan y están ausentes de `plugins`. La clave se omite cuando no hay errores |

259 259 


262Claude Code valida cada entrada `--mcp-config` al inicio y omite las entradas que fallan la validación, por ejemplo una entrada `url` sin `type`. La ejecución continúa y sale limpiamente, por lo que verifique estos campos para detectar un servidor que nunca se cargó:262Claude Code valida cada entrada `--mcp-config` al inicio y omite las entradas que fallan la validación, por ejemplo una entrada `url` sin `type`. La ejecución continúa y sale limpiamente, por lo que verifique estos campos para detectar un servidor que nunca se cargó:

263 263 

264| Campo | Tipo | Descripción |264| Campo | Tipo | Descripción |

265| ------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |265| - | - | - |

266| `mcp_servers` | matriz | servidores MCP en la sesión, cada uno con `name` y `status` |266| `mcp_servers` | matriz | servidores MCP en la sesión, cada uno con `name` y `status` |

267| `mcp_server_errors` | matriz | entradas `--mcp-config` omitidas por validación de configuración, cada una con `name`, `type` y `message`. `type` es una categoría de omisión como `unknown_type`, `url_missing_type`, `invalid_config` o `reserved_name`; trate valores que no reconozca como una omisión genérica. Los servidores afectados están ausentes de `mcp_servers`. La clave se omite cuando no hay errores, por lo que una puerta de CI puede fallar en una matriz no vacía. Requiere Claude Code v2.1.219 o posterior |267| `mcp_server_errors` | matriz | entradas `--mcp-config` omitidas por validación de configuración, cada una con `name`, `type` y `message`. `type` es una categoría de omisión como `unknown_type`, `url_missing_type`, `invalid_config` o `reserved_name`; trate valores que no reconozca como una omisión genérica. Los servidores afectados están ausentes de `mcp_servers`. La clave se omite cuando no hay errores, por lo que una puerta de CI puede fallar en una matriz no vacía. Requiere Claude Code v2.1.219 o posterior |

268 268 


275Cuando [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/es/env-vars) está configurado, Claude Code emite eventos `system/plugin_install` mientras los plugins del marketplace se instalan antes del primer turno. Use estos para mostrar el progreso de instalación en su propia interfaz de usuario.275Cuando [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/es/env-vars) está configurado, Claude Code emite eventos `system/plugin_install` mientras los plugins del marketplace se instalan antes del primer turno. Use estos para mostrar el progreso de instalación en su propia interfaz de usuario.

276 276 

277| Campo | Tipo | Descripción |277| Campo | Tipo | Descripción |

278| ------------ | ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |278| - | - | - |

279| `type` | `"system"` | tipo de mensaje |279| `type` | `"system"` | tipo de mensaje |

280| `subtype` | `"plugin_install"` | identifica esto como un evento de instalación de plugin |280| `subtype` | `"plugin_install"` | identifica esto como un evento de instalación de plugin |

281| `status` | `"started"`, `"installed"`, `"failed"`, o `"completed"` | `started` y `completed` enmarcan la instalación general; `installed` y `failed` reportan mercados individuales |281| `status` | `"started"`, `"installed"`, `"failed"`, o `"completed"` | `started` y `completed` enmarcan la instalación general; `installed` y `failed` reportan mercados individuales |

hooks.md +75 −75

Details

35La tabla a continuación resume cuándo se activa cada evento. La sección [Hook events](#hook-events) documenta el esquema de entrada completo y las opciones de control de decisión para cada uno.35La tabla a continuación resume cuándo se activa cada evento. La sección [Hook events](#hook-events) documenta el esquema de entrada completo y las opciones de control de decisión para cada uno.

36 36 

37| Evento | Cuándo se dispara |37| Evento | Cuándo se dispara |

38| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |38| :- | :- |

39| `SessionStart` | Cuando una sesión comienza o se reanuda |39| `SessionStart` | Cuando una sesión comienza o se reanuda |

40| `Setup` | Cuando inicia Claude Code con `--init-only`, o con `--init` o `--maintenance` en modo `-p`. Para preparación única en CI o scripts |40| `Setup` | Cuando inicia Claude Code con `--init-only`, o con `--init` o `--maintenance` en modo `-p`. Para preparación única en CI o scripts |

41| `UserPromptSubmit` | Cuando envía un prompt, antes de que Claude lo procese |41| `UserPromptSubmit` | Cuando envía un prompt, antes de que Claude lo procese |


259Dónde definas un hook determina su alcance:259Dónde definas un hook determina su alcance:

260 260 

261| Ubicación | Alcance | Compartible |261| Ubicación | Alcance | Compartible |

262| :------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |262| :- | :- | :- |

263| `~/.claude/settings.json` | Todos tus proyectos | No, local en tu máquina |263| `~/.claude/settings.json` | Todos tus proyectos | No, local en tu máquina |

264| `.claude/settings.json` | Proyecto único | Sí, puede confirmarse en el repositorio |264| `.claude/settings.json` | Proyecto único | Sí, puede confirmarse en el repositorio |

265| `.claude/settings.local.json` | Proyecto único | No, ignorado por git cuando Claude Code guarda una configuración en él |265| `.claude/settings.local.json` | Proyecto único | No, ignorado por git cuando Claude Code guarda una configuración en él |


297El campo `matcher` filtra cuándo se activan los hooks. Cómo se evalúa un matcher depende de los caracteres que contiene:297El campo `matcher` filtra cuándo se activan los hooks. Cómo se evalúa un matcher depende de los caracteres que contiene:

298 298 

299| Valor de matcher | Evaluado como | Ejemplo |299| Valor de matcher | Evaluado como | Ejemplo |

300| :--------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |300| :- | :- | :- |

301| `"*"`, `""` u omitido | Coincidir con todo | se activa en cada ocurrencia del evento |301| `"*"`, `""` u omitido | Coincidir con todo | se activa en cada ocurrencia del evento |

302| Solo letras, dígitos, `_`, `-`, espacios, `,` y `\|` | Cadena exacta, o lista de cadenas exactas separadas por `\|` o `,` con espacios en blanco opcionales alrededor | `Bash` coincide solo con la herramienta Bash; `Edit\|Write` y `Edit, Write` cada una coincide con cualquiera de las herramientas exactamente; `code-reviewer` coincide solo con ese tipo de agente |302| Solo letras, dígitos, `_`, `-`, espacios, `,` y `\|` | Cadena exacta, o lista de cadenas exactas separadas por `\|` o `,` con espacios en blanco opcionales alrededor | `Bash` coincide solo con la herramienta Bash; `Edit\|Write` y `Edit, Write` cada una coincide con cualquiera de las herramientas exactamente; `code-reviewer` coincide solo con ese tipo de agente |

303| Contiene cualquier otro carácter | Expresión regular de JavaScript, sin anclar | `^Notebook` coincide con cualquier herramienta cuyo nombre comienza con `Notebook`; `mcp__memory__.*` coincide con cada herramienta del servidor `memory` |303| Contiene cualquier otro carácter | Expresión regular de JavaScript, sin anclar | `^Notebook` coincide con cualquier herramienta cuyo nombre comienza con `Notebook`; `mcp__memory__.*` coincide con cada herramienta del servidor `memory` |


313Cada tipo de evento coincide en un campo diferente:313Cada tipo de evento coincide en un campo diferente:

314 314 

315| Evento | Qué filtra el matcher | Valores de matcher de ejemplo |315| Evento | Qué filtra el matcher | Valores de matcher de ejemplo |

316| :------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |316| :- | :- | :- |

317| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | nombre de la herramienta | `Bash`, `Edit\|Write`, `mcp__.*` |317| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | nombre de la herramienta | `Bash`, `Edit\|Write`, `mcp__.*` |

318| `SessionStart` | cómo comenzó la sesión | `startup`, `resume`, `clear`, `compact`, `fork` |318| `SessionStart` | cómo comenzó la sesión | `startup`, `resume`, `clear`, `compact`, `fork` |

319| `Setup` | qué bandera CLI activó la configuración | `init`, `maintenance` |319| `Setup` | qué bandera CLI activó la configuración | `init`, `maintenance` |


438Estos campos se aplican a todos los tipos de hook:438Estos campos se aplican a todos los tipos de hook:

439 439 

440| Campo | Requerido | Descripción |440| Campo | Requerido | Descripción |

441| :-------------- | :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |441| :- | :- | :- |

442| `type` | sí | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` o `"agent"` |442| `type` | sí | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` o `"agent"` |

443| `if` | no | Sintaxis de regla de permisos para filtrar cuándo se ejecuta este hook, como `"Bash(git *)"` o `"Edit(*.ts)"`. El comando de hook solo se ejecuta si la llamada de herramienta coincide con el patrón. Consulta la tabla [Bash matching](#bash-if-matching) a continuación para saber cómo los patrones de Bash se evalúan contra subcomandos, `$()` y backticks. Solo se evalúa en eventos de herramienta: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` y `PermissionDenied`. En otros eventos, un hook con `if` establecido nunca se ejecuta. Utiliza la misma sintaxis que [reglas de permisos](/docs/es/permissions) |443| `if` | no | Sintaxis de regla de permisos para filtrar cuándo se ejecuta este hook, como `"Bash(git *)"` o `"Edit(*.ts)"`. El comando de hook solo se ejecuta si la llamada de herramienta coincide con el patrón. Consulta la tabla [Bash matching](#bash-if-matching) a continuación para saber cómo los patrones de Bash se evalúan contra subcomandos, `$()` y backticks. Solo se evalúa en eventos de herramienta: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` y `PermissionDenied`. En otros eventos, un hook con `if` establecido nunca se ejecuta. Utiliza la misma sintaxis que [reglas de permisos](/docs/es/permissions) |

444| `timeout` | no | Segundos antes de cancelar. Claude Code no lo aplica en un hook de comando que ejecutas con [`async: true`](#run-hooks-in-the-background). Valores por defecto: 600 para `command`, `http` y `mcp_tool`; 30 para `prompt`; 60 para `agent`. Claude Code reduce el valor por defecto de `command`, `http` y `mcp_tool` a 30 en [`UserPromptSubmit`](#userpromptsubmit), [`PreModelSwitch`](#premodelswitch) y [`PostModelSwitch`](#postmodelswitch), y a 10 en [`MessageDisplay`](#messagedisplay). Los hooks de [`SessionEnd`](#sessionend) comparten un presupuesto de 1.5 segundos; si tu configuración establece un `timeout` por hook más largo, Claude Code aumenta el presupuesto para que coincida, hasta 60 segundos |444| `timeout` | no | Segundos antes de cancelar. Claude Code no lo aplica en un hook de comando que ejecutas con [`async: true`](#run-hooks-in-the-background). Valores por defecto: 600 para `command`, `http` y `mcp_tool`; 30 para `prompt`; 60 para `agent`. Claude Code reduce el valor por defecto de `command`, `http` y `mcp_tool` a 30 en [`UserPromptSubmit`](#userpromptsubmit), [`PreModelSwitch`](#premodelswitch) y [`PostModelSwitch`](#postmodelswitch), y a 10 en [`MessageDisplay`](#messagedisplay). Los hooks de [`SessionEnd`](#sessionend) comparten un presupuesto de 1.5 segundos; si tu configuración establece un `timeout` por hook más largo, Claude Code aumenta el presupuesto para que coincida, hasta 60 segundos |


452<span id="bash-if-matching" />Para patrones de Bash, si tu comando de hook se ejecuta depende de la forma del patrón y del comando de Bash que Claude está invocando. Las asignaciones `VAR=value` iniciales se eliminan antes de hacer coincidir.452<span id="bash-if-matching" />Para patrones de Bash, si tu comando de hook se ejecuta depende de la forma del patrón y del comando de Bash que Claude está invocando. Las asignaciones `VAR=value` iniciales se eliminan antes de hacer coincidir.

453 453 

454| Patrón `if` | Comando de Bash | ¿Se ejecuta el hook? | Por qué |454| Patrón `if` | Comando de Bash | ¿Se ejecuta el hook? | Por qué |

455| :----------------- | :-------------------------- | :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |455| :- | :- | :- | :- |

456| `Bash(git *)` | `FOO=bar git push` | sí | las asignaciones iniciales se eliminan; `git push` coincide |456| `Bash(git *)` | `FOO=bar git push` | sí | las asignaciones iniciales se eliminan; `git push` coincide |

457| `Bash(git *)` | `npm test && git push` | sí | cada subcomando se verifica; `git push` coincide |457| `Bash(git *)` | `npm test && git push` | sí | cada subcomando se verifica; `git push` coincide |

458| `Bash(rm *)` | `echo $(rm -rf /)` | sí | los comandos dentro de `$()` y backticks se verifican; `rm -rf /` coincide |458| `Bash(rm *)` | `echo $(rm -rf /)` | sí | los comandos dentro de `$()` y backticks se verifican; `rm -rf /` coincide |


470Además de los [campos comunes](#common-fields), los hooks de comando aceptan estos campos:470Además de los [campos comunes](#common-fields), los hooks de comando aceptan estos campos:

471 471 

472| Campo | Requerido | Descripción |472| Campo | Requerido | Descripción |

473| :------------ | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |473| :- | :- | :- |

474| `command` | sí | Comando de shell a ejecutar. Con `args`, el ejecutable a generar directamente. Consulta [Forma exec y forma shell](#exec-form-and-shell-form) |474| `command` | sí | Comando de shell a ejecutar. Con `args`, el ejecutable a generar directamente. Consulta [Forma exec y forma shell](#exec-form-and-shell-form) |

475| `args` | no | Lista de argumentos. Cuando está presente, `command` se resuelve como un ejecutable y se genera directamente con `args` como el vector de argumentos, sin shell involucrado. Consulta [Forma exec y forma shell](#exec-form-and-shell-form) |475| `args` | no | Lista de argumentos. Cuando está presente, `command` se resuelve como un ejecutable y se genera directamente con `args` como el vector de argumentos, sin shell involucrado. Consulta [Forma exec y forma shell](#exec-form-and-shell-form) |

476| `async` | no | Si es `true`, se ejecuta en segundo plano sin bloquear. Consulta [Ejecutar hooks en segundo plano](#run-hooks-in-the-background) |476| `async` | no | Si es `true`, se ejecuta en segundo plano sin bloquear. Consulta [Ejecutar hooks en segundo plano](#run-hooks-in-the-background) |


529Además de los [campos comunes](#common-fields), los hooks HTTP aceptan estos campos:529Además de los [campos comunes](#common-fields), los hooks HTTP aceptan estos campos:

530 530 

531| Campo | Requerido | Descripción |531| Campo | Requerido | Descripción |

532| :--------------- | :-------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |532| :- | :- | :- |

533| `url` | sí | URL a la que enviar la solicitud POST |533| `url` | sí | URL a la que enviar la solicitud POST |

534| `headers` | no | Encabezados HTTP adicionales como pares clave-valor. Los valores soportan interpolación de variables de entorno usando sintaxis `$VAR_NAME` o `${VAR_NAME}`. Solo se resuelven las variables listadas en `allowedEnvVars` |534| `headers` | no | Encabezados HTTP adicionales como pares clave-valor. Los valores soportan interpolación de variables de entorno usando sintaxis `$VAR_NAME` o `${VAR_NAME}`. Solo se resuelven las variables listadas en `allowedEnvVars` |

535| `allowedEnvVars` | no | Lista de nombres de variables de entorno que pueden interpolarse en valores de encabezado. Las referencias a variables no listadas se reemplazan con cadenas vacías. Requerido para que funcione cualquier interpolación de variable de entorno |535| `allowedEnvVars` | no | Lista de nombres de variables de entorno que pueden interpolarse en valores de encabezado. Las referencias a variables no listadas se reemplazan con cadenas vacías. Requerido para que funcione cualquier interpolación de variable de entorno |


570Además de los [campos comunes](#common-fields), los hooks de herramienta MCP aceptan estos campos:570Además de los [campos comunes](#common-fields), los hooks de herramienta MCP aceptan estos campos:

571 571 

572| Campo | Requerido | Descripción |572| Campo | Requerido | Descripción |

573| :------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |573| :- | :- | :- |

574| `server` | sí | Nombre de un servidor MCP configurado. Para un [servidor incluido en plugin](/docs/es/mcp#plugin-provided-mcp-servers), este es el nombre con alcance `plugin:<plugin-name>:<server-name>`, como `plugin:my-plugin:db`, no la clave del servidor desnuda. El servidor debe estar ya conectado; el hook nunca activa un flujo OAuth o de conexión |574| `server` | sí | Nombre de un servidor MCP configurado. Para un [servidor incluido en plugin](/docs/es/mcp#plugin-provided-mcp-servers), este es el nombre con alcance `plugin:<plugin-name>:<server-name>`, como `plugin:my-plugin:db`, no la clave del servidor desnuda. El servidor debe estar ya conectado; el hook nunca activa un flujo OAuth o de conexión |

575| `tool` | sí | Nombre de la herramienta a llamar en ese servidor |575| `tool` | sí | Nombre de la herramienta a llamar en ese servidor |

576| `input` | no | Argumentos pasados a la herramienta. Los valores de cadena soportan sustitución de `${path}` de la [entrada JSON](#hook-input-and-output) del hook, como `"${tool_input.file_path}"` |576| `input` | no | Argumentos pasados a la herramienta. Los valores de cadena soportan sustitución de `${path}` de la [entrada JSON](#hook-input-and-output) del hook, como `"${tool_input.file_path}"` |


634Además de los [campos comunes](#common-fields), los hooks de prompt y agente aceptan estos campos:634Además de los [campos comunes](#common-fields), los hooks de prompt y agente aceptan estos campos:

635 635 

636| Campo | Requerido | Descripción |636| Campo | Requerido | Descripción |

637| :------- | :-------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |637| :- | :- | :- |

638| `prompt` | sí | Texto de prompt a enviar al modelo. Usa `$ARGUMENTS` como marcador de posición para la entrada JSON del hook. Escapa con una barra invertida para incluir texto literal: `\$1.00` se renderiza como `$1.00` |638| `prompt` | sí | Texto de prompt a enviar al modelo. Usa `$ARGUMENTS` como marcador de posición para la entrada JSON del hook. Escapa con una barra invertida para incluir texto literal: `\$1.00` se renderiza como `$1.00` |

639| `model` | no | Modelo a usar para evaluación. Por defecto es un modelo rápido |639| `model` | no | Modelo a usar para evaluación. Por defecto es un modelo rápido |

640 640 


786Los eventos de hook reciben estos campos como JSON, además de campos específicos del evento documentados en cada sección [hook event](#hook-events). Para hooks de comando, este JSON llega a través de stdin. Para hooks HTTP, llega como el cuerpo de la solicitud POST.786Los eventos de hook reciben estos campos como JSON, además de campos específicos del evento documentados en cada sección [hook event](#hook-events). Para hooks de comando, este JSON llega a través de stdin. Para hooks HTTP, llega como el cuerpo de la solicitud POST.

787 787 

788| Campo | Descripción |788| Campo | Descripción |

789| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |789| :- | :- |

790| `session_id` | Identificador de sesión actual |790| `session_id` | Identificador de sesión actual |

791| `prompt_id` | UUID que identifica el prompt del usuario que se está procesando actualmente. Coincide con el [atributo `prompt.id` en eventos de OpenTelemetry](/docs/es/monitoring-usage#event-correlation-attributes), para que pueda correlacionar la salida del hook con la telemetría de un único prompt. Ausente hasta la primera entrada del usuario. Requiere Claude Code v2.1.196 o posterior |791| `prompt_id` | UUID que identifica el prompt del usuario que se está procesando actualmente. Coincide con el [atributo `prompt.id` en eventos de OpenTelemetry](/docs/es/monitoring-usage#event-correlation-attributes), para que pueda correlacionar la salida del hook con la telemetría de un único prompt. Ausente hasta la primera entrada del usuario. Requiere Claude Code v2.1.196 o posterior |

792| `transcript_path` | Ruta al JSON de conversación. El archivo de transcripción se escribe de forma asincrónica y puede rezagarse con respecto a la conversación en memoria, por lo que es posible que aún no incluya los mensajes más recientes del turno actual cuando se activa un hook. Los hooks que necesitan el texto del asistente final del turno actual deben usar `last_assistant_message` en [Stop](#stop) y [SubagentStop](#subagentstop) en lugar de leer la transcripción |792| `transcript_path` | Ruta al JSON de conversación. El archivo de transcripción se escribe de forma asincrónica y puede rezagarse con respecto a la conversación en memoria, por lo que es posible que aún no incluya los mensajes más recientes del turno actual cuando se activa un hook. Los hooks que necesitan el texto del asistente final del turno actual deben usar `last_assistant_message` en [Stop](#stop) y [SubagentStop](#subagentstop) en lugar de leer la transcripción |


799Cuando se ejecuta con `--agent` o dentro de un subagente, se incluyen dos campos adicionales:799Cuando se ejecuta con `--agent` o dentro de un subagente, se incluyen dos campos adicionales:

800 800 

801| Campo | Descripción |801| Campo | Descripción |

802| :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |802| :- | :- |

803| `agent_id` | Identificador único para el subagente. Presente solo cuando el hook se activa dentro de una llamada de subagente. Use esto para distinguir llamadas de hook de subagente de llamadas de hilo principal. |803| `agent_id` | Identificador único para el subagente. Presente solo cuando el hook se activa dentro de una llamada de subagente. Use esto para distinguir llamadas de hook de subagente de llamadas de hilo principal. |

804| `agent_type` | Nombre del agente (por ejemplo, `"Explore"` o `"security-reviewer"`). Presente cuando la sesión usa `--agent` o el hook se activa dentro de un subagente. Para subagentes, el tipo del subagente tiene precedencia sobre el valor `--agent` de la sesión. Consulte [SubagentStart](#subagentstart) para los valores que los subagentes personalizados y de plugin reportan y cómo escribir un matcher contra un nombre con alcance de plugin. |804| `agent_type` | Nombre del agente (por ejemplo, `"Explore"` o `"security-reviewer"`). Presente cuando la sesión usa `--agent` o el hook se activa dentro de un subagente. Para subagentes, el tipo del subagente tiene precedencia sobre el valor `--agent` de la sesión. Consulte [SubagentStart](#subagentstart) para los valores que los subagentes personalizados y de plugin reportan y cómo escribir un matcher contra un nombre con alcance de plugin. |

805 805 


926Exit code 2 es la forma en que un hook señala "detente, no hagas esto". El efecto depende del evento, porque algunos eventos representan acciones que pueden bloquearse (como una llamada a herramienta que aún no ha sucedido) y otros representan cosas que ya sucedieron o no pueden prevenirse.926Exit code 2 es la forma en que un hook señala "detente, no hagas esto". El efecto depende del evento, porque algunos eventos representan acciones que pueden bloquearse (como una llamada a herramienta que aún no ha sucedido) y otros representan cosas que ya sucedieron o no pueden prevenirse.

927 927 

928| Evento de hook | ¿Puede bloquear? | Qué sucede en exit 2 |928| Evento de hook | ¿Puede bloquear? | Qué sucede en exit 2 |

929| :-------------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |929| :- | :- | :- |

930| `PreToolUse` | Sí | Bloquea la llamada a herramienta |930| `PreToolUse` | Sí | Bloquea la llamada a herramienta |

931| `PermissionRequest` | No | El código de salida 2 no se honra para este evento y el flujo de permiso procede sin cambios. Deniegue a través del objeto [`decision`](#permissionrequest-decision-control) en su lugar |931| `PermissionRequest` | No | El código de salida 2 no se honra para este evento y el flujo de permiso procede sin cambios. Deniegue a través del objeto [`decision`](#permissionrequest-decision-control) en su lugar |

932| `UserPromptSubmit` | Sí | Bloquea el procesamiento del prompt y borra el prompt |932| `UserPromptSubmit` | Sí | Bloquea el procesamiento del prompt y borra el prompt |


1003* **`hookSpecificOutput`** es un objeto anidado para eventos que necesitan control más rico. Requiere un campo `hookEventName` establecido en el nombre del evento.1003* **`hookSpecificOutput`** es un objeto anidado para eventos que necesitan control más rico. Requiere un campo `hookEventName` establecido en el nombre del evento.

1004 1004 

1005| Campo | Predeterminado | Descripción |1005| Campo | Predeterminado | Descripción |

1006| :----------------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1006| :- | :- | :- |

1007| `continue` | `true` | Si es `false`, Claude detiene el procesamiento completamente después de que se ejecuta el hook. Tiene precedencia sobre cualquier campo de decisión específico del evento |1007| `continue` | `true` | Si es `false`, Claude detiene el procesamiento completamente después de que se ejecuta el hook. Tiene precedencia sobre cualquier campo de decisión específico del evento |

1008| `stopReason` | ninguno | Mensaje mostrado al usuario cuando `continue` es `false`. Se queda en la conversación, por lo que Claude lo ve si la conversación continúa |1008| `stopReason` | ninguno | Mensaje mostrado al usuario cuando `continue` es `false`. Se queda en la conversación, por lo que Claude lo ve si la conversación continúa |

1009| `suppressOutput` | `false` | No tiene efecto: Claude Code acepta el campo pero no actúa sobre él. El stdout de un hook exitoso nunca se muestra en la transcripción y se registra en el registro de depuración |1009| `suppressOutput` | `false` | No tiene efecto: Claude Code acepta el campo pero no actúa sobre él. El stdout de un hook exitoso nunca se muestra en la transcripción y se registra en el registro de depuración |


1101No todos los eventos admiten bloqueo o control de comportamiento a través de JSON. Los eventos que lo hacen cada uno usan un conjunto diferente de campos para expresar esa decisión. Use esta tabla como referencia rápida antes de escribir un hook:1101No todos los eventos admiten bloqueo o control de comportamiento a través de JSON. Los eventos que lo hacen cada uno usan un conjunto diferente de campos para expresar esa decisión. Use esta tabla como referencia rápida antes de escribir un hook:

1102 1102 

1103| Eventos | Patrón de decisión | Campos clave |1103| Eventos | Patrón de decisión | Campos clave |

1104| :---------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1104| :- | :- | :- |

1105| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | `decision` de nivel superior | `decision: "block"`, `reason`. Stop y SubagentStop también aceptan `hookSpecificOutput.additionalContext` para [retroalimentación sin error que continúa la conversación](#stop-decision-control) |1105| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | `decision` de nivel superior | `decision: "block"`, `reason`. Stop y SubagentStop también aceptan `hookSpecificOutput.additionalContext` para [retroalimentación sin error que continúa la conversación](#stop-decision-control) |

1106| TeammateIdle, TaskCompleted | Código de salida o `continue: false` | El código de salida 2 bloquea la acción con retroalimentación de stderr. JSON `{"continue": false, "stopReason": "..."}` también detiene al compañero completamente, coincidiendo con el comportamiento del hook `Stop`; [TaskCompleted lo ignora cuando la herramienta `TaskUpdate` activó el evento](#taskcompleted-decision-control) |1106| TeammateIdle, TaskCompleted | Código de salida o `continue: false` | El código de salida 2 bloquea la acción con retroalimentación de stderr. JSON `{"continue": false, "stopReason": "..."}` también detiene al compañero completamente, coincidiendo con el comportamiento del hook `Stop`; [TaskCompleted lo ignora cuando la herramienta `TaskUpdate` activó el evento](#taskcompleted-decision-control) |

1107| TaskCreated | Código de salida o `decision` de nivel superior | El código de salida 2 o `decision: "block"` [cancela la tarea](#taskcreated-decision-control) y devuelve el mensaje a Claude. `continue: false` se ignora |1107| TaskCreated | Código de salida o `decision` de nivel superior | El código de salida 2 o `decision: "block"` [cancela la tarea](#taskcreated-decision-control) y devuelve el mensaje a Claude. `continue: false` se ignora |


1192El valor del matcher corresponde a cómo se inició la sesión:1192El valor del matcher corresponde a cómo se inició la sesión:

1193 1193 

1194| Matcher | Cuándo se dispara |1194| Matcher | Cuándo se dispara |

1195| :-------- | :------------------------------------------------------------------------------------------------------------------------------------- |1195| :- | :- |

1196| `startup` | Nueva sesión |1196| `startup` | Nueva sesión |

1197| `resume` | `--resume`, `--continue`, o `/resume` |1197| `resume` | `--resume`, `--continue`, o `/resume` |

1198| `clear` | `/clear` |1198| `clear` | `/clear` |


1216Además de los [campos de entrada comunes](#common-input-fields), los hooks SessionStart reciben `source` y opcionalmente `model`, `agent_type`, y `session_title`:1216Además de los [campos de entrada comunes](#common-input-fields), los hooks SessionStart reciben `source` y opcionalmente `model`, `agent_type`, y `session_title`:

1217 1217 

1218| Campo | Descripción |1218| Campo | Descripción |

1219| :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1219| :- | :- |

1220| `source` | Cómo se inició la sesión: `"startup"` para nuevas sesiones, `"resume"` para sesiones reanudadas, `"clear"` después de `/clear`, `"compact"` después de compactación, o `"fork"` para una nueva sesión bifurcada desde una existente |1220| `source` | Cómo se inició la sesión: `"startup"` para nuevas sesiones, `"resume"` para sesiones reanudadas, `"clear"` después de `/clear`, `"compact"` después de compactación, o `"fork"` para una nueva sesión bifurcada desde una existente |

1221| `model` | El identificador del modelo activo. Puede omitirse, por ejemplo después de `/clear` o cuando se restaura una sesión a través de recuperación de conversación, así que verifique el campo antes de leerlo |1221| `model` | El identificador del modelo activo. Puede omitirse, por ejemplo después de `/clear` o cuando se restaura una sesión a través de recuperación de conversación, así que verifique el campo antes de leerlo |

1222| `agent_type` | El nombre del agente, presente cuando inicia Claude Code con `claude --agent <name>` |1222| `agent_type` | El nombre del agente, presente cuando inicia Claude Code con `claude --agent <name>` |


1225Cuando `source` es `"resume"` o `"fork"` y la transcripción contiene al menos una respuesta de Claude, los hooks SessionStart también reciben los cuatro campos siguientes. Su hook puede usarlos para reportar qué cuesta reanudar una conversación obsoleta antes de la primera solicitud, por ejemplo en un [`systemMessage`](#json-output). Estos campos requieren Claude Code v2.1.251 o posterior.1225Cuando `source` es `"resume"` o `"fork"` y la transcripción contiene al menos una respuesta de Claude, los hooks SessionStart también reciben los cuatro campos siguientes. Su hook puede usarlos para reportar qué cuesta reanudar una conversación obsoleta antes de la primera solicitud, por ejemplo en un [`systemMessage`](#json-output). Estos campos requieren Claude Code v2.1.251 o posterior.

1226 1226 

1227| Campo | Descripción |1227| Campo | Descripción |

1228| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1228| :- | :- |

1229| `seconds_since_last_response` | Segundos de reloj de pared desde la última respuesta en la transcripción reanudada |1229| `seconds_since_last_response` | Segundos de reloj de pared desde la última respuesta en la transcripción reanudada |

1230| `context_tokens` | Tokens que la primera solicitud de la sesión reanudada reenvía como su prompt |1230| `context_tokens` | Tokens que la primera solicitud de la sesión reanudada reenvía como su prompt |

1231| `prompt_cache_likely_expired` | `true` cuando la última respuesta es más antigua que la [duración de vida del caché de prompt](/docs/es/prompt-caching#cache-lifetime) de la sesión o una compactación posterior reemplazó la conversación en caché |1231| `prompt_cache_likely_expired` | `true` cuando la última respuesta es más antigua que la [duración de vida del caché de prompt](/docs/es/prompt-caching#cache-lifetime) de la sesión o una compactación posterior reemplazó la conversación en caché |


1255Claude Code agrega stdout que [trata como texto plano](#exit-code-0) al contexto de Claude. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, puede devolver estos campos específicos del evento:1255Claude Code agrega stdout que [trata como texto plano](#exit-code-0) al contexto de Claude. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, puede devolver estos campos específicos del evento:

1256 1256 

1257| Campo | Descripción |1257| Campo | Descripción |

1258| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1258| :- | :- |

1259| `additionalContext` | Cadena agregada al contexto de Claude al inicio de la conversación, antes del primer prompt. Consulte [Agregar contexto para Claude](#add-context-for-claude) para saber cómo se entrega el texto y qué poner en él |1259| `additionalContext` | Cadena agregada al contexto de Claude al inicio de la conversación, antes del primer prompt. Consulte [Agregar contexto para Claude](#add-context-for-claude) para saber cómo se entrega el texto y qué poner en él |

1260| `initialUserMessage` | Cadena utilizada como el primer mensaje del usuario de la sesión. Se aplica en [modo no interactivo](/docs/es/headless) con la bandera `-p`, donde se convierte en el primer turno incluso si no se proporciona ningún prompt. Si se proporciona un prompt, sigue como el siguiente turno. A diferencia de `additionalContext`, que se adjunta a un turno existente, esto crea el turno |1260| `initialUserMessage` | Cadena utilizada como el primer mensaje del usuario de la sesión. Se aplica en [modo no interactivo](/docs/es/headless) con la bandera `-p`, donde se convierte en el primer turno incluso si no se proporciona ningún prompt. Si se proporciona un prompt, sigue como el siguiente turno. A diferencia de `additionalContext`, que se adjunta a un turno existente, esto crea el turno |

1261| `sessionTitle` | Establece el título de la sesión, con el mismo efecto que `/rename`. Úselo para nombrar sesiones automáticamente desde la carpeta de inicio, rama de git o nombre de worktree. Se aplica cuando `source` es `"startup"`, `"resume"`, o `"fork"`; se ignora en `"clear"` y `"compact"` |1261| `sessionTitle` | Establece el título de la sesión, con el mismo efecto que `/rename`. Úselo para nombrar sesiones automáticamente desde la carpeta de inicio, rama de git o nombre de worktree. Se aplica cuando `source` es `"startup"`, `"resume"`, o `"fork"`; se ignora en `"clear"` y `"compact"` |


1339El valor del matcher corresponde a la bandera CLI que disparó el hook:1339El valor del matcher corresponde a la bandera CLI que disparó el hook:

1340 1340 

1341| Matcher | Cuándo se dispara |1341| Matcher | Cuándo se dispara |

1342| :------------ | :---------------------------------------- |1342| :- | :- |

1343| `init` | `claude --init-only` o `claude -p --init` |1343| `init` | `claude --init-only` o `claude -p --init` |

1344| `maintenance` | `claude -p --maintenance` |1344| `maintenance` | `claude -p --maintenance` |

1345 1345 


1392Además de los [campos de entrada comunes](#common-input-fields), los hooks InstructionsLoaded reciben estos campos:1392Además de los [campos de entrada comunes](#common-input-fields), los hooks InstructionsLoaded reciben estos campos:

1393 1393 

1394| Campo | Descripción |1394| Campo | Descripción |

1395| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1395| :- | :- |

1396| `file_path` | Ruta absoluta al archivo de instrucciones que se cargó |1396| `file_path` | Ruta absoluta al archivo de instrucciones que se cargó |

1397| `memory_type` | Alcance del archivo: `"User"`, `"Project"`, `"Local"`, o `"Managed"` |1397| `memory_type` | Alcance del archivo: `"User"`, `"Project"`, `"Local"`, o `"Managed"` |

1398| `load_reason` | Por qué se cargó el archivo: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"`, o `"compact"`. El valor `"compact"` se dispara cuando los archivos de instrucciones se recargan después de un evento de compactación |1398| `load_reason` | Por qué se cargó el archivo: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"`, o `"compact"`. El valor `"compact"` se dispara cuando los archivos de instrucciones se recargan después de un evento de compactación |


1463Para bloquear un prompt, devuelva un objeto JSON con `decision` establecido en `"block"`:1463Para bloquear un prompt, devuelva un objeto JSON con `decision` establecido en `"block"`:

1464 1464 

1465| Campo | Descripción |1465| Campo | Descripción |

1466| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |1466| :- | :- |

1467| `decision` | `"block"` evita que se procese el prompt y lo borra del contexto. Omita para permitir que el prompt continúe |1467| `decision` | `"block"` evita que se procese el prompt y lo borra del contexto. Omita para permitir que el prompt continúe |

1468| `reason` | Se muestra al usuario cuando `decision` es `"block"`. No se agrega al contexto |1468| `reason` | Se muestra al usuario cuando `decision` es `"block"`. No se agrega al contexto |

1469| `additionalContext` | Cadena agregada al contexto de Claude junto con el prompt enviado. Consulte [Agregar contexto para Claude](#add-context-for-claude) |1469| `additionalContext` | Cadena agregada al contexto de Claude junto con el prompt enviado. Consulte [Agregar contexto para Claude](#add-context-for-claude) |


1522Los hooks `UserPromptExpansion` pueden bloquear la expansión o agregar contexto. Todos los [campos de salida JSON](#json-output) están disponibles.1522Los hooks `UserPromptExpansion` pueden bloquear la expansión o agregar contexto. Todos los [campos de salida JSON](#json-output) están disponibles.

1523 1523 

1524| Campo | Descripción |1524| Campo | Descripción |

1525| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------ |1525| :- | :- |

1526| `decision` | `"block"` evita que el comando se expanda. Omita para permitir que continúe |1526| `decision` | `"block"` evita que el comando se expanda. Omita para permitir que continúe |

1527| `reason` | Se muestra al usuario cuando `decision` es `"block"` |1527| `reason` | Se muestra al usuario cuando `decision` es `"block"` |

1528| `additionalContext` | Cadena agregada al contexto de Claude junto con el prompt expandido. Consulte [Agregar contexto para Claude](#add-context-for-claude) |1528| `additionalContext` | Cadena agregada al contexto de Claude junto con el prompt expandido. Consulte [Agregar contexto para Claude](#add-context-for-claude) |


1567Además de los [campos de entrada comunes](#common-input-fields), los hooks MessageDisplay reciben identificadores para el turno y el mensaje, la posición de esta llamada dentro del mensaje y el nuevo texto en `delta`. Los límites de lotes dependen de cómo se transmite el texto, así que use `index` y `final` para rastrear el progreso a través de un mensaje en lugar de esperar que las líneas se agrupen de una manera particular.1567Además de los [campos de entrada comunes](#common-input-fields), los hooks MessageDisplay reciben identificadores para el turno y el mensaje, la posición de esta llamada dentro del mensaje y el nuevo texto en `delta`. Los límites de lotes dependen de cómo se transmite el texto, así que use `index` y `final` para rastrear el progreso a través de un mensaje en lugar de esperar que las líneas se agrupen de una manera particular.

1568 1568 

1569| Campo | Descripción |1569| Campo | Descripción |

1570| :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1570| :- | :- |

1571| `turn_id` | UUID del turno actual |1571| `turn_id` | UUID del turno actual |

1572| `message_id` | UUID del mensaje del asistente que se muestra. Estable en cada lote del mismo mensaje. Este no es el ID de API `msg_…`, por lo que no se puede correlacionar con IDs de mensaje de transcripción |1572| `message_id` | UUID del mensaje del asistente que se muestra. Estable en cada lote del mismo mensaje. Este no es el ID de API `msg_…`, por lo que no se puede correlacionar con IDs de mensaje de transcripción |

1573| `index` | Índice basado en cero de este lote dentro del mensaje |1573| `index` | Índice basado en cero de este lote dentro del mensaje |


1595Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, los hooks MessageDisplay pueden devolver `displayContent` para reemplazar el delta en pantalla:1595Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, los hooks MessageDisplay pueden devolver `displayContent` para reemplazar el delta en pantalla:

1596 1596 

1597| Campo | Descripción |1597| Campo | Descripción |

1598| :--------------- | :------------------------------------------------------------------ |1598| :- | :- |

1599| `displayContent` | Texto mostrado en lugar del delta. Omítalo para mostrar el original |1599| `displayContent` | Texto mostrado en lugar del delta. Omítalo para mostrar el original |

1600 1600 

1601Los hooks MessageDisplay no tienen control de decisión. No pueden bloquear el mensaje o cambiar lo que se almacena en la transcripción o se envía a Claude. Claude Code actúa sobre `displayContent` de su salida JSON y descarta `systemMessage` y `continue`.1601Los hooks MessageDisplay no tienen control de decisión. No pueden bloquear el mensaje o cambiar lo que se almacena en la transcripción o se envía a Claude. Claude Code actúa sobre `displayContent` de su salida JSON y descarta `systemMessage` y `continue`.


1736Ejecuta comandos de shell.1736Ejecuta comandos de shell.

1737 1737 

1738| Campo | Tipo | Ejemplo | Descripción |1738| Campo | Tipo | Ejemplo | Descripción |

1739| :------------------ | :------ | :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1739| :- | :- | :- | :- |

1740| `command` | string | `"npm test"` | El comando de shell a ejecutar |1740| `command` | string | `"npm test"` | El comando de shell a ejecutar |

1741| `description` | string | `"Run test suite"` | Descripción opcional de lo que hace el comando |1741| `description` | string | `"Run test suite"` | Descripción opcional de lo que hace el comando |

1742| `timeout` | number | `120000` | Tiempo de espera opcional en milisegundos. Los valores por encima del [máximo](/docs/es/tools-reference#bash-tool-behavior) se reducen al máximo en lugar de ser rechazados |1742| `timeout` | number | `120000` | Tiempo de espera opcional en milisegundos. Los valores por encima del [máximo](/docs/es/tools-reference#bash-tool-behavior) se reducen al máximo en lugar de ser rechazados |


1753`changedFiles` y `files` enumeran qué cambió el comando; los campos restantes dicen qué tan completa y confiable es esa lista.1753`changedFiles` y `files` enumeran qué cambió el comando; los campos restantes dicen qué tan completa y confiable es esa lista.

1754 1754 

1755| Campo | Tipo | Ejemplo | Descripción |1755| Campo | Tipo | Ejemplo | Descripción |

1756| :------------- | :------ | :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1756| :- | :- | :- | :- |

1757| `changedFiles` | array | `["/path/to/src/app.ts"]` | Rutas absolutas de los archivos que el comando cambió, como máximo 200. Presente siempre que `files` contenga un diff o `moreFiles` esté por encima de cero |1757| `changedFiles` | array | `["/path/to/src/app.ts"]` | Rutas absolutas de los archivos que el comando cambió, como máximo 200. Presente siempre que `files` contenga un diff o `moreFiles` esté por encima de cero |

1758| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs de hasta 5 archivos cambiados, para visualización. `created` o `deleted` es `true` para un archivo que el comando agregó o eliminó |1758| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs de hasta 5 archivos cambiados, para visualización. `created` o `deleted` es `true` para un archivo que el comando agregó o eliminó |

1759| `moreFiles` | number | `2` | Recuento de archivos cambiados sin diff en `files` |1759| `moreFiles` | number | `2` | Recuento de archivos cambiados sin diff en `files` |


1772Los campos coinciden con la herramienta Bash, con la cadena de comando en `command`:1772Los campos coinciden con la herramienta Bash, con la cadena de comando en `command`:

1773 1773 

1774| Campo | Tipo | Ejemplo | Descripción |1774| Campo | Tipo | Ejemplo | Descripción |

1775| :------------------ | :------ | :------------------------- | :--------------------------------------------- |1775| :- | :- | :- | :- |

1776| `command` | string | `"Get-ChildItem -Recurse"` | El comando de PowerShell a ejecutar |1776| `command` | string | `"Get-ChildItem -Recurse"` | El comando de PowerShell a ejecutar |

1777| `description` | string | `"List files recursively"` | Descripción opcional de lo que hace el comando |1777| `description` | string | `"List files recursively"` | Descripción opcional de lo que hace el comando |

1778| `timeout` | number | `120000` | Tiempo de espera opcional en milisegundos |1778| `timeout` | number | `120000` | Tiempo de espera opcional en milisegundos |


1791Crea o sobrescribe un archivo.1791Crea o sobrescribe un archivo.

1792 1792 

1793| Campo | Tipo | Ejemplo | Descripción |1793| Campo | Tipo | Ejemplo | Descripción |

1794| :---------- | :----- | :-------------------- | :---------------------------------- |1794| :- | :- | :- | :- |

1795| `file_path` | string | `"/path/to/file.txt"` | Ruta absoluta al archivo a escribir |1795| `file_path` | string | `"/path/to/file.txt"` | Ruta absoluta al archivo a escribir |

1796| `content` | string | `"file content"` | Contenido a escribir en el archivo |1796| `content` | string | `"file content"` | Contenido a escribir en el archivo |

1797 1797 


1802Reemplaza una cadena en un archivo existente.1802Reemplaza una cadena en un archivo existente.

1803 1803 

1804| Campo | Tipo | Ejemplo | Descripción |1804| Campo | Tipo | Ejemplo | Descripción |

1805| :------------ | :------ | :-------------------- | :---------------------------------- |1805| :- | :- | :- | :- |

1806| `file_path` | string | `"/path/to/file.txt"` | Ruta absoluta al archivo a editar |1806| `file_path` | string | `"/path/to/file.txt"` | Ruta absoluta al archivo a editar |

1807| `old_string` | string | `"original text"` | Texto a encontrar y reemplazar |1807| `old_string` | string | `"original text"` | Texto a encontrar y reemplazar |

1808| `new_string` | string | `"replacement text"` | Texto de reemplazo |1808| `new_string` | string | `"replacement text"` | Texto de reemplazo |


1815Lee contenidos de archivo.1815Lee contenidos de archivo.

1816 1816 

1817| Campo | Tipo | Ejemplo | Descripción |1817| Campo | Tipo | Ejemplo | Descripción |

1818| :---------- | :----- | :-------------------- | :-------------------------------------------------- |1818| :- | :- | :- | :- |

1819| `file_path` | string | `"/path/to/file.txt"` | Ruta absoluta al archivo a leer |1819| `file_path` | string | `"/path/to/file.txt"` | Ruta absoluta al archivo a leer |

1820| `offset` | number | `10` | Número de línea opcional para comenzar a leer desde |1820| `offset` | number | `10` | Número de línea opcional para comenzar a leer desde |

1821| `limit` | number | `50` | Número opcional de líneas a leer |1821| `limit` | number | `50` | Número opcional de líneas a leer |


1827Encuentra archivos que coincidan con un patrón glob.1827Encuentra archivos que coincidan con un patrón glob.

1828 1828 

1829| Campo | Tipo | Ejemplo | Descripción |1829| Campo | Tipo | Ejemplo | Descripción |

1830| :-------- | :----- | :--------------- | :--------------------------------------------------------------------------------- |1830| :- | :- | :- | :- |

1831| `pattern` | string | `"**/*.ts"` | Patrón glob para hacer coincidir archivos contra |1831| `pattern` | string | `"**/*.ts"` | Patrón glob para hacer coincidir archivos contra |

1832| `path` | string | `"/path/to/dir"` | Directorio opcional para buscar en. Por defecto es el directorio de trabajo actual |1832| `path` | string | `"/path/to/dir"` | Directorio opcional para buscar en. Por defecto es el directorio de trabajo actual |

1833 1833 


1838Busca contenidos de archivo con expresiones regulares.1838Busca contenidos de archivo con expresiones regulares.

1839 1839 

1840| Campo | Tipo | Ejemplo | Descripción |1840| Campo | Tipo | Ejemplo | Descripción |

1841| :------------ | :------ | :--------------- | :-------------------------------------------------------------------------------------- |1841| :- | :- | :- | :- |

1842| `pattern` | string | `"TODO.*fix"` | Patrón de expresión regular a buscar |1842| `pattern` | string | `"TODO.*fix"` | Patrón de expresión regular a buscar |

1843| `path` | string | `"/path/to/dir"` | Archivo o directorio opcional para buscar en |1843| `path` | string | `"/path/to/dir"` | Archivo o directorio opcional para buscar en |

1844| `glob` | string | `"*.ts"` | Patrón glob opcional para filtrar archivos |1844| `glob` | string | `"*.ts"` | Patrón glob opcional para filtrar archivos |


1853Obtiene y procesa contenido web.1853Obtiene y procesa contenido web.

1854 1854 

1855| Campo | Tipo | Ejemplo | Descripción |1855| Campo | Tipo | Ejemplo | Descripción |

1856| :------- | :----- | :---------------------------- | :----------------------------------------- |1856| :- | :- | :- | :- |

1857| `url` | string | `"https://example.com/api"` | URL para obtener contenido de |1857| `url` | string | `"https://example.com/api"` | URL para obtener contenido de |

1858| `prompt` | string | `"Extract the API endpoints"` | Prompt a ejecutar en el contenido obtenido |1858| `prompt` | string | `"Extract the API endpoints"` | Prompt a ejecutar en el contenido obtenido |

1859 1859 


1864Busca en la web.1864Busca en la web.

1865 1865 

1866| Campo | Tipo | Ejemplo | Descripción |1866| Campo | Tipo | Ejemplo | Descripción |

1867| :---------------- | :----- | :----------------------------- | :-------------------------------------------------- |1867| :- | :- | :- | :- |

1868| `query` | string | `"react hooks best practices"` | Consulta de búsqueda |1868| `query` | string | `"react hooks best practices"` | Consulta de búsqueda |

1869| `allowed_domains` | array | `["docs.example.com"]` | Opcional: incluir solo resultados de estos dominios |1869| `allowed_domains` | array | `["docs.example.com"]` | Opcional: incluir solo resultados de estos dominios |

1870| `blocked_domains` | array | `["spam.example.com"]` | Opcional: excluir resultados de estos dominios |1870| `blocked_domains` | array | `["spam.example.com"]` | Opcional: excluir resultados de estos dominios |


1876Genera un [subagente](/docs/es/sub-agents).1876Genera un [subagente](/docs/es/sub-agents).

1877 1877 

1878| Campo | Tipo | Ejemplo | Descripción |1878| Campo | Tipo | Ejemplo | Descripción |

1879| :-------------- | :----- | :------------------------- | :----------------------------------------------------- |1879| :- | :- | :- | :- |

1880| `prompt` | string | `"Find all API endpoints"` | La tarea para que el agente realice |1880| `prompt` | string | `"Find all API endpoints"` | La tarea para que el agente realice |

1881| `description` | string | `"Find API endpoints"` | Descripción breve de la tarea |1881| `description` | string | `"Find API endpoints"` | Descripción breve de la tarea |

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


1885Cuando una llamada de Agent en primer plano se completa, su hook [PostToolUse](#posttooluse) recibe el resultado del subagente y telemetría de ejecución en `tool_response`. Lea estos campos para inspeccionar la ejecución; para resúmenes de tokens y costos en subagentes, use los [contadores de tokens y costos](/docs/es/monitoring-usage#token-counter) filtrados a `query_source` `"subagent"`, ya que `totalTokens` y `usage` cubren solo la solicitud final:1885Cuando una llamada de Agent en primer plano se completa, su hook [PostToolUse](#posttooluse) recibe el resultado del subagente y telemetría de ejecución en `tool_response`. Lea estos campos para inspeccionar la ejecución; para resúmenes de tokens y costos en subagentes, use los [contadores de tokens y costos](/docs/es/monitoring-usage#token-counter) filtrados a `query_source` `"subagent"`, ya que `totalTokens` y `usage` cubren solo la solicitud final:

1886 1886 

1887| Campo | Tipo | Ejemplo | Descripción |1887| Campo | Tipo | Ejemplo | Descripción |

1888| :------------------ | :----- | :---------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1888| :- | :- | :- | :- |

1889| `status` | string | `"completed"` | `"completed"` para subagentes en primer plano, `"async_launched"` para subagentes en segundo plano. A partir de v2.1.198, los subagentes se ejecutan en segundo plano de forma predeterminada, por lo que un `run_in_background` omitido también produce `"async_launched"` |1889| `status` | string | `"completed"` | `"completed"` para subagentes en primer plano, `"async_launched"` para subagentes en segundo plano. A partir de v2.1.198, los subagentes se ejecutan en segundo plano de forma predeterminada, por lo que un `run_in_background` omitido también produce `"async_launched"` |

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

1891| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Los bloques de texto finales del subagente, o, para un subagente cuyo informe pasa a través de `SubagentHandback`, una nota breve sobre esa entrega en su lugar |1891| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Los bloques de texto finales del subagente, o, para un subagente cuyo informe pasa a través de `SubagentHandback`, una nota breve sobre esa entrega en su lugar |


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

1912 1912 

1913| Campo | Tipo | Ejemplo | Descripción |1913| Campo | Tipo | Ejemplo | Descripción |

1914| :---------- | :----- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1914| :- | :- | :- | :- |

1915| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Preguntas a presentar, cada una con una cadena `question`, `header` corto, matriz `options`, y bandera `multiSelect` opcional |1915| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Preguntas a presentar, cada una con una cadena `question`, `header` corto, matriz `options`, y bandera `multiSelect` opcional |

1916| `answers` | object | `{"Which framework?": "React"}` | Opcional. Asigna texto de pregunta a la etiqueta de opción seleccionada. Las respuestas de selección múltiple unen etiquetas con comas. Claude no establece este campo; suministrarlo a través de `updatedInput` para responder programáticamente |1916| `answers` | object | `{"Which framework?": "React"}` | Opcional. Asigna texto de pregunta a la etiqueta de opción seleccionada. Las respuestas de selección múltiple unen etiquetas con comas. Claude no establece este campo; suministrarlo a través de `updatedInput` para responder programáticamente |

1917 1917 


1922Presenta un plan y pide al usuario que lo apruebe antes de que Claude salga del [modo de plan](/docs/es/permission-modes#analyze-before-you-edit-with-plan-mode). Claude escribe el plan en un archivo en el disco antes de llamar a la herramienta, por lo que la `tool_input` literal del modelo es típicamente vacía. Claude Code inyecta el contenido del plan y la ruta del archivo antes de pasar la entrada a los hooks.1922Presenta un plan y pide al usuario que lo apruebe antes de que Claude salga del [modo de plan](/docs/es/permission-modes#analyze-before-you-edit-with-plan-mode). Claude escribe el plan en un archivo en el disco antes de llamar a la herramienta, por lo que la `tool_input` literal del modelo es típicamente vacía. Claude Code inyecta el contenido del plan y la ruta del archivo antes de pasar la entrada a los hooks.

1923 1923 

1924| Campo | Tipo | Ejemplo | Descripción |1924| Campo | Tipo | Ejemplo | Descripción |

1925| :--------------- | :----- | :------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |1925| :- | :- | :- | :- |

1926| `plan` | string | `"## Refactor auth\n1. Extract..."` | Contenido del plan en Markdown. Inyectado desde el archivo del plan en el disco |1926| `plan` | string | `"## Refactor auth\n1. Extract..."` | Contenido del plan en Markdown. Inyectado desde el archivo del plan en el disco |

1927| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Ruta al archivo del plan. Inyectado |1927| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Ruta al archivo del plan. Inyectado |

1928| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Deprecado. Claude Code acepta el campo pero lo ignora. Antes de v2.1.205, llevaba permisos basados en prompts que Claude solicitó para implementar el plan |1928| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Deprecado. Claude Code acepta el campo pero lo ignora. Antes de v2.1.205, llevaba permisos basados en prompts que Claude solicitó para implementar el plan |


1936Los hooks `PreToolUse` pueden controlar si procede una llamada de herramienta. A diferencia de otros hooks que usan un campo `decision` de nivel superior, PreToolUse devuelve su decisión dentro de un objeto `hookSpecificOutput`. Esto le da un control más rico: cuatro resultados (permitir, denegar, preguntar o diferir) más la capacidad de modificar la entrada de herramienta antes de la ejecución.1936Los hooks `PreToolUse` pueden controlar si procede una llamada de herramienta. A diferencia de otros hooks que usan un campo `decision` de nivel superior, PreToolUse devuelve su decisión dentro de un objeto `hookSpecificOutput`. Esto le da un control más rico: cuatro resultados (permitir, denegar, preguntar o diferir) más la capacidad de modificar la entrada de herramienta antes de la ejecución.

1937 1937 

1938| Campo | Descripción |1938| Campo | Descripción |

1939| :------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1939| :- | :- |

1940| `permissionDecision` | `"allow"` omite el aviso de permiso, excepto para las [acciones que ningún modo aprueba automáticamente](/docs/es/permission-modes#actions-no-mode-auto-approves) y para `AskUserQuestion` y `ExitPlanMode`, que necesitan [`updatedInput` emparejado con él](#allow-with-updatedinput). `"deny"` evita la llamada de herramienta. `"ask"` solicita al usuario que confirme. `"defer"` sale correctamente para que la herramienta pueda reanudarse más tarde. Las [reglas de denegación y pregunta](/docs/es/permissions#manage-permissions) aún se evalúan independientemente de lo que devuelva el hook |1940| `permissionDecision` | `"allow"` omite el aviso de permiso, excepto para las [acciones que ningún modo aprueba automáticamente](/docs/es/permission-modes#actions-no-mode-auto-approves) y para `AskUserQuestion` y `ExitPlanMode`, que necesitan [`updatedInput` emparejado con él](#allow-with-updatedinput). `"deny"` evita la llamada de herramienta. `"ask"` solicita al usuario que confirme. `"defer"` sale correctamente para que la herramienta pueda reanudarse más tarde. Las [reglas de denegación y pregunta](/docs/es/permissions#manage-permissions) aún se evalúan independientemente de lo que devuelva el hook |

1941| `permissionDecisionReason` | Para `"allow"` y `"ask"`, se muestra al usuario pero no a Claude. Para `"deny"`, se muestra a Claude. Para `"defer"`, se ignora |1941| `permissionDecisionReason` | Para `"allow"` y `"ask"`, se muestra al usuario pero no a Claude. Para `"deny"`, se muestra a Claude. Para `"defer"`, se ignora |

1942| `updatedInput` | Modifica los parámetros de entrada de la herramienta antes de la ejecución. Reemplaza el objeto de entrada completo, así que incluya campos sin cambios junto con los modificados. Claude Code evalúa reglas de permiso y la elegibilidad de [segundo plano automático](/docs/es/tools-reference#background-commands) de un comando Bash contra la entrada que devuelve su hook, no la entrada que envió Claude. Combine con `"allow"` para aprobar automáticamente, o `"ask"` para mostrar la entrada modificada al usuario. Para `"defer"`, se ignora |1942| `updatedInput` | Modifica los parámetros de entrada de la herramienta antes de la ejecución. Reemplaza el objeto de entrada completo, así que incluya campos sin cambios junto con los modificados. Claude Code evalúa reglas de permiso y la elegibilidad de [segundo plano automático](/docs/es/tools-reference#background-commands) de un comando Bash contra la entrada que devuelve su hook, no la entrada que envió Claude. Combine con `"allow"` para aprobar automáticamente, o `"ask"` para mostrar la entrada modificada al usuario. Para `"defer"`, se ignora |


2069Los hooks `PermissionRequest` pueden permitir o denegar solicitudes de permiso. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, su script de hook puede devolver un objeto `decision` con estos campos específicos del evento:2069Los hooks `PermissionRequest` pueden permitir o denegar solicitudes de permiso. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, su script de hook puede devolver un objeto `decision` con estos campos específicos del evento:

2070 2070 

2071| Campo | Descripción |2071| Campo | Descripción |

2072| :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2072| :- | :- |

2073| `behavior` | `"allow"` otorga el permiso, `"deny"` lo deniega. Las [reglas de denegación y pregunta](/docs/es/permissions#manage-permissions) aún se evalúan, por lo que un hook que devuelve `"allow"` no anula una regla de denegación coincidente |2073| `behavior` | `"allow"` otorga el permiso, `"deny"` lo deniega. Las [reglas de denegación y pregunta](/docs/es/permissions#manage-permissions) aún se evalúan, por lo que un hook que devuelve `"allow"` no anula una regla de denegación coincidente |

2074| `updatedInput` | Solo para `"allow"`: modifica los parámetros de entrada de la herramienta antes de la ejecución. Reemplaza el objeto de entrada completo, así que incluya campos sin cambios junto con los modificados. La entrada modificada se re-evalúa contra reglas de denegación y pregunta |2074| `updatedInput` | Solo para `"allow"`: modifica los parámetros de entrada de la herramienta antes de la ejecución. Reemplaza el objeto de entrada completo, así que incluya campos sin cambios junto con los modificados. La entrada modificada se re-evalúa contra reglas de denegación y pregunta |

2075| `updatedPermissions` | Solo para `"allow"`: matriz de [entradas de actualización de permiso](#permission-update-entries) a aplicar, como agregar una regla de permiso o cambiar el modo de permiso de la sesión |2075| `updatedPermissions` | Solo para `"allow"`: matriz de [entradas de actualización de permiso](#permission-update-entries) a aplicar, como agregar una regla de permiso o cambiar el modo de permiso de la sesión |


2099El campo de salida `updatedPermissions` y el campo de entrada [`permission_suggestions`](#permissionrequest-input) ambos usan la misma matriz de objetos de entrada. Cada entrada tiene un `type` que determina sus otros campos, y un `destination` que controla dónde se escribe el cambio.2099El campo de salida `updatedPermissions` y el campo de entrada [`permission_suggestions`](#permissionrequest-input) ambos usan la misma matriz de objetos de entrada. Cada entrada tiene un `type` que determina sus otros campos, y un `destination` que controla dónde se escribe el cambio.

2100 2100 

2101| `type` | Campos | Efecto |2101| `type` | Campos | Efecto |

2102| :------------------ | :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2102| :- | :- | :- |

2103| `addRules` | `rules`, `behavior`, `destination` | Agrega reglas de permiso. `rules` es una matriz de objetos `{toolName, ruleContent?}`. Omita `ruleContent` para hacer coincidir toda la herramienta. `behavior` es `"allow"`, `"deny"`, o `"ask"` |2103| `addRules` | `rules`, `behavior`, `destination` | Agrega reglas de permiso. `rules` es una matriz de objetos `{toolName, ruleContent?}`. Omita `ruleContent` para hacer coincidir toda la herramienta. `behavior` es `"allow"`, `"deny"`, o `"ask"` |

2104| `replaceRules` | `rules`, `behavior`, `destination` | Reemplaza todas las reglas del `behavior` dado en el `destination` con las `rules` proporcionadas |2104| `replaceRules` | `rules`, `behavior`, `destination` | Reemplaza todas las reglas del `behavior` dado en el `destination` con las `rules` proporcionadas |

2105| `removeRules` | `rules`, `behavior`, `destination` | Elimina reglas coincidentes del `behavior` dado |2105| `removeRules` | `rules`, `behavior`, `destination` | Elimina reglas coincidentes del `behavior` dado |


2116El campo `destination` en cada entrada determina si el cambio permanece en memoria o persiste en un archivo de configuración.2116El campo `destination` en cada entrada determina si el cambio permanece en memoria o persiste en un archivo de configuración.

2117 2117 

2118| `destination` | Escribe en |2118| `destination` | Escribe en |

2119| :---------------- | :--------------------------------------------------- |2119| :- | :- |

2120| `session` | solo en memoria, descartado cuando termina la sesión |2120| `session` | solo en memoria, descartado cuando termina la sesión |

2121| `localSettings` | `.claude/settings.local.json` |2121| `localSettings` | `.claude/settings.local.json` |

2122| `projectSettings` | `.claude/settings.json` |2122| `projectSettings` | `.claude/settings.json` |


2165```2165```

2166 2166 

2167| Campo | Descripción |2167| Campo | Descripción |

2168| :------------ | :--------------------------------------------------------------------------------------------------------------------------------- |2168| :- | :- |

2169| `duration_ms` | Opcional. Tiempo de ejecución de la herramienta en milisegundos. Excluye el tiempo dedicado a avisos de permiso y hooks PreToolUse |2169| `duration_ms` | Opcional. Tiempo de ejecución de la herramienta en milisegundos. Excluye el tiempo dedicado a avisos de permiso y hooks PreToolUse |

2170 2170 

2171<h4 id="posttooluse-decision-control">2171<h4 id="posttooluse-decision-control">


2175Los hooks `PostToolUse` pueden proporcionar retroalimentación a Claude después de la ejecución de la herramienta. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, su script de hook puede devolver estos campos específicos del evento:2175Los hooks `PostToolUse` pueden proporcionar retroalimentación a Claude después de la ejecución de la herramienta. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, su script de hook puede devolver estos campos específicos del evento:

2176 2176 

2177| Campo | Descripción |2177| Campo | Descripción |

2178| :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2178| :- | :- |

2179| `decision` | `"block"` agrega el `reason` junto al resultado de la herramienta. Claude aún ve la salida original; para reemplazarla, use `updatedToolOutput` |2179| `decision` | `"block"` agrega el `reason` junto al resultado de la herramienta. Claude aún ve la salida original; para reemplazarla, use `updatedToolOutput` |

2180| `reason` | Explicación mostrada a Claude cuando `decision` es `"block"` |2180| `reason` | Explicación mostrada a Claude cuando `decision` es `"block"` |

2181| `additionalContext` | Cadena agregada al contexto de Claude junto con el resultado de la herramienta. Consulte [Agregar contexto para Claude](#add-context-for-claude) |2181| `additionalContext` | Cadena agregada al contexto de Claude junto con el resultado de la herramienta. Consulte [Agregar contexto para Claude](#add-context-for-claude) |


2277```2277```

2278 2278 

2279| Campo | Descripción |2279| Campo | Descripción |

2280| :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2280| :- | :- |

2281| `error` | Cadena que describe qué salió mal. El formato depende de la herramienta que falló |2281| `error` | Cadena que describe qué salió mal. El formato depende de la herramienta que falló |

2282| `is_interrupt` | Booleano opcional. Verdadero cuando el fallo llegó a Claude Code como una interrupción en lugar de como un error que reportó la herramienta. Cancelar una herramienta en ejecución no dispara este hook; el resultado de la herramienta lleva el mensaje de interrupción en su lugar |2282| `is_interrupt` | Booleano opcional. Verdadero cuando el fallo llegó a Claude Code como una interrupción en lugar de como un error que reportó la herramienta. Cancelar una herramienta en ejecución no dispara este hook; el resultado de la herramienta lleva el mensaje de interrupción en su lugar |

2283| `duration_ms` | Opcional. Tiempo de ejecución de la herramienta en milisegundos. Excluye el tiempo dedicado a avisos de permiso y hooks PreToolUse |2283| `duration_ms` | Opcional. Tiempo de ejecución de la herramienta en milisegundos. Excluye el tiempo dedicado a avisos de permiso y hooks PreToolUse |


2295Los hooks `PostToolUseFailure` pueden proporcionar contexto a Claude después de un fallo de herramienta. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, su script de hook puede devolver estos campos específicos del evento:2295Los hooks `PostToolUseFailure` pueden proporcionar contexto a Claude después de un fallo de herramienta. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, su script de hook puede devolver estos campos específicos del evento:

2296 2296 

2297| Campo | Descripción |2297| Campo | Descripción |

2298| :------------------ | :------------------------------------------------------------------------------------------------------------------------- |2298| :- | :- |

2299| `additionalContext` | Cadena agregada al contexto de Claude junto con el error. Consulte [Agregar contexto para Claude](#add-context-for-claude) |2299| `additionalContext` | Cadena agregada al contexto de Claude junto con el error. Consulte [Agregar contexto para Claude](#add-context-for-claude) |

2300 2300 

2301```json theme={null}2301```json theme={null}


2356Los hooks `PostToolBatch` pueden inyectar contexto para Claude. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, su script de hook puede devolver estos campos específicos del evento:2356Los hooks `PostToolBatch` pueden inyectar contexto para Claude. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, su script de hook puede devolver estos campos específicos del evento:

2357 2357 

2358| Campo | Descripción |2358| Campo | Descripción |

2359| :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2359| :- | :- |

2360| `additionalContext` | Cadena de contexto inyectada una vez antes de la siguiente llamada del modelo. Consulte [Agregar contexto para Claude](#add-context-for-claude) para detalles de entrega, qué poner en él y cómo las sesiones reanudadas manejan valores pasados |2360| `additionalContext` | Cadena de contexto inyectada una vez antes de la siguiente llamada del modelo. Consulte [Agregar contexto para Claude](#add-context-for-claude) para detalles de entrega, qué poner en él y cómo las sesiones reanudadas manejan valores pasados |

2361 2361 

2362```json theme={null}2362```json theme={null}


2402```2402```

2403 2403 

2404| Campo | Descripción |2404| Campo | Descripción |

2405| :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2405| :- | :- |

2406| `reason` | La razón de la denegación. Para un veredicto del clasificador, en la mayoría de sesiones nombra la regla coincidente entre corchetes, como `[Data Exfiltration]`; consulte [Revisar denegaciones](/docs/es/auto-mode-config#review-denials) para las otras formas. Para una [denegación sin veredicto](#permissiondenied-decision-control), comienza con `Auto mode could not evaluate this action and is blocking it for safety`. Para una denegación porque el modelo del clasificador no estaba disponible, es el texto fijo `Classifier unavailable` |2406| `reason` | La razón de la denegación. Para un veredicto del clasificador, en la mayoría de sesiones nombra la regla coincidente entre corchetes, como `[Data Exfiltration]`; consulte [Revisar denegaciones](/docs/es/auto-mode-config#review-denials) para las otras formas. Para una [denegación sin veredicto](#permissiondenied-decision-control), comienza con `Auto mode could not evaluate this action and is blocking it for safety`. Para una denegación porque el modelo del clasificador no estaba disponible, es el texto fijo `Classifier unavailable` |

2407 2407 

2408<h4 id="permissiondenied-decision-control">2408<h4 id="permissiondenied-decision-control">


2433Recibe estos eventos de hook incluso con notificaciones de escritorio desactivadas: la configuración `preferredNotifChannel`, incluida `notifications_disabled`, cambia solo cómo se le alerta, no si su hook se ejecuta.2433Recibe estos eventos de hook incluso con notificaciones de escritorio desactivadas: la configuración `preferredNotifChannel`, incluida `notifications_disabled`, cambia solo cómo se le alerta, no si su hook se ejecuta.

2434 2434 

2435| Matcher | Cuándo se dispara |2435| Matcher | Cuándo se dispara |

2436| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2436| :- | :- |

2437| `permission_prompt` | Claude necesita su permiso para usar una herramienta o una [solicitud de red](/docs/es/sandboxing#network-isolation) de un comando en sandbox, y el aviso ha esperado aproximadamente seis segundos |2437| `permission_prompt` | Claude necesita su permiso para usar una herramienta o una [solicitud de red](/docs/es/sandboxing#network-isolation) de un comando en sandbox, y el aviso ha esperado aproximadamente seis segundos |

2438| `idle_prompt` | Claude terminó de responder hace aproximadamente 60 segundos y no ha escrito desde entonces |2438| `idle_prompt` | Claude terminó de responder hace aproximadamente 60 segundos y no ha escrito desde entonces |

2439| `auth_success` | La autenticación se completa |2439| `auth_success` | La autenticación se completa |


2550Los hooks SubagentStart no pueden bloquear la creación del subagente, pero pueden inyectar contexto en el subagente. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, puede devolver:2550Los hooks SubagentStart no pueden bloquear la creación del subagente, pero pueden inyectar contexto en el subagente. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, puede devolver:

2551 2551 

2552| Campo | Descripción |2552| Campo | Descripción |

2553| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2553| :- | :- |

2554| `additionalContext` | Cadena agregada al contexto del subagente al inicio de su conversación, antes de su primer prompt. Consulte [Agregar contexto para Claude](#add-context-for-claude) |2554| `additionalContext` | Cadena agregada al contexto del subagente al inicio de su conversación, antes de su primer prompt. Consulte [Agregar contexto para Claude](#add-context-for-claude) |

2555 2555 

2556```json theme={null}2556```json theme={null}


2632```2632```

2633 2633 

2634| Campo | Descripción |2634| Campo | Descripción |

2635| :----------------- | :--------------------------------------------------------------------------------- |2635| :- | :- |

2636| `task_id` | Identificador de la tarea que se está creando |2636| `task_id` | Identificador de la tarea que se está creando |

2637| `task_subject` | Título de la tarea |2637| `task_subject` | Título de la tarea |

2638| `task_description` | Descripción detallada de la tarea. Puede estar ausente |2638| `task_description` | Descripción detallada de la tarea. Puede estar ausente |


2693```2693```

2694 2694 

2695| Campo | Descripción |2695| Campo | Descripción |

2696| :----------------- | :--------------------------------------------------------------------------------- |2696| :- | :- |

2697| `task_id` | Identificador de la tarea que se está completando |2697| `task_id` | Identificador de la tarea que se está completando |

2698| `task_subject` | Título de la tarea |2698| `task_subject` | Título de la tarea |

2699| `task_description` | Descripción detallada de la tarea. Puede estar ausente |2699| `task_description` | Descripción detallada de la tarea. Puede estar ausente |


2748Cada entrada en `background_tasks` describe una tarea en vuelo y usa estos campos:2748Cada entrada en `background_tasks` describe una tarea en vuelo y usa estos campos:

2749 2749 

2750| Campo | Descripción |2750| Campo | Descripción |

2751| :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2751| :- | :- |

2752| `id` | Identificador de tarea |2752| `id` | Identificador de tarea |

2753| `type` | Etiqueta de tipo de tarea amigable como `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, o `MCP task`. Cada etiqueta identifica qué característica de Claude Code creó la tarea. Vuelve al discriminante sin procesar para tipos no reconocidos |2753| `type` | Etiqueta de tipo de tarea amigable como `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, o `MCP task`. Cada etiqueta identifica qué característica de Claude Code creó la tarea. Vuelve al discriminante sin procesar para tipos no reconocidos |

2754| `status` | Estado actual de la tarea |2754| `status` | Estado actual de la tarea |


2762Cada entrada en `session_crons` describe un despertar programado con alcance de sesión, originado de `CronCreate`, `ScheduleWakeup`, y `/loop`:2762Cada entrada en `session_crons` describe un despertar programado con alcance de sesión, originado de `CronCreate`, `ScheduleWakeup`, y `/loop`:

2763 2763 

2764| Campo | Descripción |2764| Campo | Descripción |

2765| :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |2765| :- | :- |

2766| `id` | Identificador de tarea cron |2766| `id` | Identificador de tarea cron |

2767| `schedule` | Expresión cron, por ejemplo `0 9 * * 1-5` |2767| `schedule` | Expresión cron, por ejemplo `0 9 * * 1-5` |

2768| `recurring` | `false` para despertares únicos cuya programación codifica un tiempo de disparo único, `true` para tareas que se disparan nuevamente en cada coincidencia |2768| `recurring` | `false` para despertares únicos cuya programación codifica un tiempo de disparo único, `true` para tareas que se disparan nuevamente en cada coincidencia |


2806Los hooks `Stop` y `SubagentStop` pueden controlar si Claude continúa. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, su script de hook puede devolver estos campos específicos del evento:2806Los hooks `Stop` y `SubagentStop` pueden controlar si Claude continúa. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, su script de hook puede devolver estos campos específicos del evento:

2807 2807 

2808| Campo | Descripción |2808| Campo | Descripción |

2809| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2809| :- | :- |

2810| `decision` | `"block"` evita que Claude se detenga. Omita para permitir que Claude se detenga |2810| `decision` | `"block"` evita que Claude se detenga. Omita para permitir que Claude se detenga |

2811| `reason` | Requerido cuando `decision` es `"block"`. Le dice a Claude por qué debe continuar |2811| `reason` | Requerido cuando `decision` es `"block"`. Le dice a Claude por qué debe continuar |

2812| `hookSpecificOutput.additionalContext` | Retroalimentación sin error para Claude. La conversación continúa para que Claude pueda actuar sobre ella, pero a diferencia de `decision: "block"` se muestra en la transcripción como retroalimentación de hook en lugar de un error de hook |2812| `hookSpecificOutput.additionalContext` | Retroalimentación sin error para Claude. La conversación continúa para que Claude pueda actuar sobre ella, pero a diferencia de `decision: "block"` se muestra en la transcripción como retroalimentación de hook en lugar de un error de hook |


2844Además de los [campos de entrada comunes](#common-input-fields), los hooks StopFailure reciben `error`, `error_details` opcional, y `last_assistant_message` opcional. El campo `error` identifica el tipo de error y se utiliza para filtrado de matcher.2844Además de los [campos de entrada comunes](#common-input-fields), los hooks StopFailure reciben `error`, `error_details` opcional, y `last_assistant_message` opcional. El campo `error` identifica el tipo de error y se utiliza para filtrado de matcher.

2845 2845 

2846| Campo | Descripción |2846| Campo | Descripción |

2847| :----------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2847| :- | :- |

2848| `error` | Tipo de error: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, o `unknown` |2848| `error` | Tipo de error: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, o `unknown` |

2849| `error_details` | Detalles adicionales sobre el error, cuando esté disponible |2849| `error_details` | Detalles adicionales sobre el error, cuando esté disponible |

2850| `last_assistant_message` | El texto de error renderizado mostrado en la conversación. A diferencia de `Stop` y `SubagentStop`, donde este campo contiene la salida conversacional de Claude, para `StopFailure` contiene la cadena de error de API en sí, como `"API Error: Rate limit reached"` |2850| `last_assistant_message` | El texto de error renderizado mostrado en la conversación. A diferencia de `Stop` y `SubagentStop`, donde este campo contiene la salida conversacional de Claude, para `StopFailure` contiene la cadena de error de API en sí, como `"API Error: Rate limit reached"` |


2890```2890```

2891 2891 

2892| Campo | Descripción |2892| Campo | Descripción |

2893| :-------------- | :--------------------------------------------------------------------------------- |2893| :- | :- |

2894| `teammate_name` | Nombre del compañero que está a punto de quedarse inactivo |2894| `teammate_name` | Nombre del compañero que está a punto de quedarse inactivo |

2895| `team_name` | Deprecado. Nombre de equipo derivado de sesión; se eliminará en una versión futura |2895| `team_name` | Deprecado. Nombre de equipo derivado de sesión; se eliminará en una versión futura |

2896 2896 


2927El matcher filtra en la fuente de configuración:2927El matcher filtra en la fuente de configuración:

2928 2928 

2929| Matcher | Cuándo se dispara |2929| Matcher | Cuándo se dispara |

2930| :----------------- | :------------------------------------------------------------------- |2930| :- | :- |

2931| `user_settings` | `~/.claude/settings.json` cambia |2931| `user_settings` | `~/.claude/settings.json` cambia |

2932| `project_settings` | `.claude/settings.json` cambia |2932| `project_settings` | `.claude/settings.json` cambia |

2933| `local_settings` | `.claude/settings.local.json` cambia |2933| `local_settings` | `.claude/settings.local.json` cambia |


2978Los hooks ConfigChange pueden bloquear cambios de configuración para que no surtan efecto. Use código de salida 2 o un JSON `decision` para evitar el cambio. Cuando se bloquea, la nueva configuración no se aplica a la sesión en ejecución.2978Los hooks ConfigChange pueden bloquear cambios de configuración para que no surtan efecto. Use código de salida 2 o un JSON `decision` para evitar el cambio. Cuando se bloquea, la nueva configuración no se aplica a la sesión en ejecución.

2979 2979 

2980| Campo | Descripción |2980| Campo | Descripción |

2981| :--------- | :--------------------------------------------------------------------------------------- |2981| :- | :- |

2982| `decision` | `"block"` evita que se aplique el cambio de configuración. Omita para permitir el cambio |2982| `decision` | `"block"` evita que se aplique el cambio de configuración. Omita para permitir el cambio |

2983| `reason` | Aceptado pero nunca mostrado |2983| `reason` | Aceptado pero nunca mostrado |

2984 2984 


3027Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, los hooks CwdChanged pueden devolver `watchPaths` para establecer dinámicamente qué rutas de archivo [FileChanged](#filechanged) observa:3027Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, los hooks CwdChanged pueden devolver `watchPaths` para establecer dinámicamente qué rutas de archivo [FileChanged](#filechanged) observa:

3028 3028 

3029| Campo | Descripción |3029| Campo | Descripción |

3030| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3030| :- | :- |

3031| `watchPaths` | Matriz de rutas absolutas. Reemplaza la lista de observación dinámica actual. Las rutas de su configuración `matcher` siempre se observan. Devolver una matriz vacía borra la lista dinámica, que es típico al entrar en un nuevo directorio |3031| `watchPaths` | Matriz de rutas absolutas. Reemplaza la lista de observación dinámica actual. Las rutas de su configuración `matcher` siempre se observan. Devolver una matriz vacía borra la lista dinámica, que es típico al entrar en un nuevo directorio |

3032 3032 

3033Los hooks CwdChanged no tienen control de decisión. No pueden bloquear el cambio de directorio.3033Los hooks CwdChanged no tienen control de decisión. No pueden bloquear el cambio de directorio.


3053El matcher filtra en cómo se agregó el directorio:3053El matcher filtra en cómo se agregó el directorio:

3054 3054 

3055| Matcher | Cuándo se dispara |3055| Matcher | Cuándo se dispara |

3056| :------------------- | :-------------------------------------------------------------------------------------- |3056| :- | :- |

3057| `slash_command` | Agrega un directorio con `/add-dir` |3057| `slash_command` | Agrega un directorio con `/add-dir` |

3058| `register_repo_root` | Un cliente de SDK agrega un directorio con la solicitud de control `register_repo_root` |3058| `register_repo_root` | Un cliente de SDK agrega un directorio con la solicitud de control `register_repo_root` |

3059 3059 


3064Además de los [campos de entrada comunes](#common-input-fields), los hooks DirectoryAdded reciben `directory` y `source`.3064Además de los [campos de entrada comunes](#common-input-fields), los hooks DirectoryAdded reciben `directory` y `source`.

3065 3065 

3066| Campo | Descripción |3066| Campo | Descripción |

3067| :---------- | :--------------------------------------------------------------------------------------------------------------------------- |3067| :- | :- |

3068| `directory` | Ruta absoluta del directorio que se agregó |3068| `directory` | Ruta absoluta del directorio que se agregó |

3069| `source` | Cómo se agregó el directorio, `"slash_command"` para `/add-dir` o `"register_repo_root"` para la solicitud de control de SDK |3069| `source` | Cómo se agregó el directorio, `"slash_command"` para `/add-dir` o `"register_repo_root"` para la solicitud de control de SDK |

3070 3070 


3138Además de los [campos de entrada comunes](#common-input-fields), los hooks FileChanged reciben `file_path` y `event`.3138Además de los [campos de entrada comunes](#common-input-fields), los hooks FileChanged reciben `file_path` y `event`.

3139 3139 

3140| Campo | Descripción |3140| Campo | Descripción |

3141| :---------- | :------------------------------------------------------------------------------------------------------------------------- |3141| :- | :- |

3142| `file_path` | Ruta absoluta al archivo que cambió |3142| `file_path` | Ruta absoluta al archivo que cambió |

3143| `event` | Qué sucedió: `"change"` para un archivo modificado, `"add"` para un archivo creado, o `"unlink"` para un archivo eliminado |3143| `event` | Qué sucedió: `"change"` para un archivo modificado, `"add"` para un archivo creado, o `"unlink"` para un archivo eliminado |

3144 3144 


3160Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, los hooks FileChanged pueden devolver `watchPaths` para actualizar dinámicamente qué rutas de archivo se observan:3160Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, los hooks FileChanged pueden devolver `watchPaths` para actualizar dinámicamente qué rutas de archivo se observan:

3161 3161 

3162| Campo | Descripción |3162| Campo | Descripción |

3163| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3163| :- | :- |

3164| `watchPaths` | Matriz de rutas absolutas. Reemplaza la lista de observación dinámica actual. Las rutas de su configuración `matcher` siempre se observan. Úselo cuando su script de hook descubra archivos adicionales para observar basándose en el archivo cambiado |3164| `watchPaths` | Matriz de rutas absolutas. Reemplaza la lista de observación dinámica actual. Las rutas de su configuración `matcher` siempre se observan. Úselo cuando su script de hook descubra archivos adicionales para observar basándose en el archivo cambiado |

3165 3165 

3166Los hooks FileChanged no tienen control de decisión. No pueden bloquear el cambio de archivo que ocurre.3166Los hooks FileChanged no tienen control de decisión. No pueden bloquear el cambio de archivo que ocurre.


3296El valor del matcher indica si la compactación fue disparada manualmente o automáticamente:3296El valor del matcher indica si la compactación fue disparada manualmente o automáticamente:

3297 3297 

3298| Matcher | Cuándo se dispara |3298| Matcher | Cuándo se dispara |

3299| :------- | :------------------------------------------------------------------------------------------------------------------------------------------- |3299| :- | :- |

3300| `manual` | `/compact` |3300| `manual` | `/compact` |

3301| `auto` | Compactación automática cuando la conversación alcanza la [ventana de compactación automática](/docs/es/model-config#set-the-auto-compact-window) |3301| `auto` | Compactación automática cuando la conversación alcanza la [ventana de compactación automática](/docs/es/model-config#set-the-auto-compact-window) |

3302 3302 


3332Los mismos valores de matcher se aplican que para `PreCompact`:3332Los mismos valores de matcher se aplican que para `PreCompact`:

3333 3333 

3334| Matcher | Cuándo se dispara |3334| Matcher | Cuándo se dispara |

3335| :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ |3335| :- | :- |

3336| `manual` | Después de `/compact` |3336| `manual` | Después de `/compact` |

3337| `auto` | Después de compactación automática cuando la conversación alcanza la [ventana de compactación automática](/docs/es/model-config#set-the-auto-compact-window) |3337| `auto` | Después de compactación automática cuando la conversación alcanza la [ventana de compactación automática](/docs/es/model-config#set-the-auto-compact-window) |

3338 3338 


3450Además de los [campos de entrada comunes](#common-input-fields), los hooks PreModelSwitch reciben los campos en esta tabla. Los últimos cinco describen qué cuesta reenviar la conversación al nuevo modelo, para que un hook pueda mostrar esa cifra antes de que suceda el cambio.3450Además de los [campos de entrada comunes](#common-input-fields), los hooks PreModelSwitch reciben los campos en esta tabla. Los últimos cinco describen qué cuesta reenviar la conversación al nuevo modelo, para que un hook pueda mostrar esa cifra antes de que suceda el cambio.

3451 3451 

3452| Campo | Tipo | Descripción |3452| Campo | Tipo | Descripción |

3453| :-------------------------- | :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3453| :- | :- | :- |

3454| `from_model` | string | ID de modelo del que cambia el cambio |3454| `from_model` | string | ID de modelo del que cambia el cambio |

3455| `to_model` | string | ID de modelo al que cambia el cambio. El matcher compara contra el nombre canónico de este modelo |3455| `to_model` | string | ID de modelo al que cambia el cambio. El matcher compara contra el nombre canónico de este modelo |

3456| `requested_model` | string o `null` | El modelo que la solicitud nombró: un alias como `opus`, un ID de modelo completo, o `null` cuando la solicitud fue para el modelo predeterminado |3456| `requested_model` | string o `null` | El modelo que la solicitud nombró: un alias como `opus`, un ID de modelo completo, o `null` cuando la solicitud fue para el modelo predeterminado |


3490Para un control más fino, devuelva `permissionDecision` y `permissionDecisionReason` en un objeto `hookSpecificOutput`, como en [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` acepta `"allow"`, `"deny"`, y `"ask"`. No acepta `"defer"`, `updatedInput`, o `additionalContext`. La tabla a continuación describe ambos campos:3490Para un control más fino, devuelva `permissionDecision` y `permissionDecisionReason` en un objeto `hookSpecificOutput`, como en [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` acepta `"allow"`, `"deny"`, y `"ask"`. No acepta `"defer"`, `updatedInput`, o `additionalContext`. La tabla a continuación describe ambos campos:

3491 3491 

3492| Campo | Descripción |3492| Campo | Descripción |

3493| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3493| :- | :- |

3494| `permissionDecision` | `"allow"` continúa y omite la [confirmación que Claude Code muestra mientras el caché de prompt está caliente](/docs/es/prompt-caching#switching-models). `"deny"` cancela el cambio. `"ask"` solicita al usuario que lo confirme |3494| `permissionDecision` | `"allow"` continúa y omite la [confirmación que Claude Code muestra mientras el caché de prompt está caliente](/docs/es/prompt-caching#switching-models). `"deny"` cancela el cambio. `"ask"` solicita al usuario que lo confirme |

3495| `permissionDecisionReason` | Para `"deny"`, se muestra al usuario como la razón por la que se bloqueó el cambio, o se devuelve como el error para una solicitud `set_model`. Para `"ask"`, se muestra en el aviso de confirmación. Se ignora para `"allow"` |3495| `permissionDecisionReason` | Para `"deny"`, se muestra al usuario como la razón por la que se bloqueó el cambio, o se devuelve como el error para una solicitud `set_model`. Para `"ask"`, se muestra en el aviso de confirmación. Se ignora para `"allow"` |

3496 3496 


3570Claude Code toma su stdout de texto plano del hook [](#exit-code-0) en salida 0, o `additionalContext` de salida JSON, y lo entrega a Claude con la siguiente solicitud después del cambio. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, puede devolver:3570Claude Code toma su stdout de texto plano del hook [](#exit-code-0) en salida 0, o `additionalContext` de salida JSON, y lo entrega a Claude con la siguiente solicitud después del cambio. Además de los [campos de salida JSON](#json-output) disponibles para todos los hooks, puede devolver:

3571 3571 

3572| Campo | Descripción |3572| Campo | Descripción |

3573| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------- |3573| :- | :- |

3574| `additionalContext` | Cadena agregada al contexto de Claude con la siguiente solicitud. Consulte [Agregar contexto para Claude](#add-context-for-claude) |3574| `additionalContext` | Cadena agregada al contexto de Claude con la siguiente solicitud. Consulte [Agregar contexto para Claude](#add-context-for-claude) |

3575 3575 

3576Si el hook no se ha completado dentro de cinco segundos después de que envía la siguiente solicitud, Claude Code envía esa solicitud sin la salida y la adjunta a la siguiente solicitud en su lugar. Si el modelo cambia varias veces antes de la siguiente solicitud, Claude Code entrega solo la salida para el modelo de destino del último cambio.3576Si el hook no se ha completado dentro de cinco segundos después de que envía la siguiente solicitud, Claude Code envía esa solicitud sin la salida y la adjunta a la siguiente solicitud en su lugar. Si el modelo cambia varias veces antes de la siguiente solicitud, Claude Code entrega solo la salida para el modelo de destino del último cambio.


3584El campo `reason` en la entrada del hook indica por qué terminó la sesión:3584El campo `reason` en la entrada del hook indica por qué terminó la sesión:

3585 3585 

3586| Razón | Descripción |3586| Razón | Descripción |

3587| :---------------------------- | :----------------------------------------------------------------------------------- |3587| :- | :- |

3588| `clear` | Sesión borrada con comando `/clear` |3588| `clear` | Sesión borrada con comando `/clear` |

3589| `resume` | Sesión cambiada a través de `/resume` interactivo |3589| `resume` | Sesión cambiada a través de `/resume` interactivo |

3590| `logout` | Usuario cerró sesión |3590| `logout` | Usuario cerró sesión |


3691```3691```

3692 3692 

3693| Campo | Valores | Descripción |3693| Campo | Valores | Descripción |

3694| :-------- | :---------------------------- | :------------------------------------------------------------------------------- |3694| :- | :- | :- |

3695| `action` | `accept`, `decline`, `cancel` | Si aceptar, rechazar o cancelar la solicitud |3695| `action` | `accept`, `decline`, `cancel` | Si aceptar, rechazar o cancelar la solicitud |

3696| `content` | object | Valores de campo de formulario a enviar. Solo se usa cuando `action` es `accept` |3696| `content` | object | Valores de campo de formulario a enviar. Solo se usa cuando `action` es `accept` |

3697 3697 


3744```3744```

3745 3745 

3746| Campo | Valores | Descripción |3746| Campo | Valores | Descripción |

3747| :-------- | :---------------------------- | :---------------------------------------------------------------------------------------- |3747| :- | :- | :- |

3748| `action` | `accept`, `decline`, `cancel` | Anula la acción del usuario |3748| `action` | `accept`, `decline`, `cancel` | Anula la acción del usuario |

3749| `content` | object | Anula los valores del campo de formulario. Solo significativo cuando `action` es `accept` |3749| `content` | object | Anula los valores del campo de formulario. Solo significativo cuando `action` es `accept` |

3750 3750 


3834```3834```

3835 3835 

3836| Campo | Requerido | Descripción |3836| Campo | Requerido | Descripción |

3837| :---------------- | :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3837| :- | :- | :- |

3838| `type` | sí | Debe ser `"prompt"` |3838| `type` | sí | Debe ser `"prompt"` |

3839| `prompt` | sí | El texto del prompt a enviar al LLM. Use `$ARGUMENTS` como marcador de posición para la entrada JSON del hook. Si `$ARGUMENTS` no está presente, la entrada JSON se agrega al prompt |3839| `prompt` | sí | El texto del prompt a enviar al LLM. Use `$ARGUMENTS` como marcador de posición para la entrada JSON del hook. Si `$ARGUMENTS` no está presente, la entrada JSON se agrega al prompt |

3840| `model` | no | Modelo a usar para evaluación. Por defecto es un modelo rápido |3840| `model` | no | Modelo a usar para evaluación. Por defecto es un modelo rápido |


3856```3856```

3857 3857 

3858| Campo | Descripción |3858| Campo | Descripción |

3859| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3859| :- | :- |

3860| `ok` | `true` para permitir. Para `false`, consulte el comportamiento por evento a continuación |3860| `ok` | `true` para permitir. Para `false`, consulte el comportamiento por evento a continuación |

3861| `reason` | Requerido cuando `ok` es `false` |3861| `reason` | Requerido cuando `ok` es `false` |

3862| `impossible` | Opcional. El modelo lo devuelve con `ok: false` cuando juzga que la condición nunca puede satisfacerse. En `Stop` y `SubagentStop`, Claude Code permite que el turno termine en lugar de retroalimentar la razón. Los hooks de agente y otros eventos lo ignoran |3862| `impossible` | Opcional. El modelo lo devuelve con `ok: false` cuando juzga que la condición nunca puede satisfacerse. En `Stop` y `SubagentStop`, Claude Code permite que el turno termine en lugar de retroalimentar la razón. Los hooks de agente y otros eventos lo ignoran |

hooks-guide.md +5 −5

Details

188El matcher vacío se activa en todos los tipos de notificación. Para activarse solo en eventos específicos, establécelo en uno de estos valores:188El matcher vacío se activa en todos los tipos de notificación. Para activarse solo en eventos específicos, establécelo en uno de estos valores:

189 189 

190| Matcher | Se activa cuando |190| Matcher | Se activa cuando |

191| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |191| :- | :- |

192| `permission_prompt` | Claude necesita que apruebes un uso de herramienta o una [solicitud de red](/docs/es/sandboxing#network-isolation) de un comando en sandbox, y el aviso ha esperado aproximadamente seis segundos |192| `permission_prompt` | Claude necesita que apruebes un uso de herramienta o una [solicitud de red](/docs/es/sandboxing#network-isolation) de un comando en sandbox, y el aviso ha esperado aproximadamente seis segundos |

193| `idle_prompt` | Claude terminó de responder hace aproximadamente 60 segundos y no has escrito desde entonces |193| `idle_prompt` | Claude terminó de responder hace aproximadamente 60 segundos y no has escrito desde entonces |

194| `auth_success` | La autenticación se completa |194| `auth_success` | La autenticación se completa |


500Claude Code dispara eventos de hook en puntos específicos de su ciclo de vida. Cuando se dispara un evento, Claude Code ejecuta todos los hooks coincidentes en paralelo; consulta [Campos del manejador de hooks](/docs/es/hooks#hook-handler-fields) para saber cómo se tratan los manejadores duplicados. La tabla a continuación muestra cada evento y cuándo se dispara:500Claude Code dispara eventos de hook en puntos específicos de su ciclo de vida. Cuando se dispara un evento, Claude Code ejecuta todos los hooks coincidentes en paralelo; consulta [Campos del manejador de hooks](/docs/es/hooks#hook-handler-fields) para saber cómo se tratan los manejadores duplicados. La tabla a continuación muestra cada evento y cuándo se dispara:

501 501 

502| Evento | Cuándo se dispara |502| Evento | Cuándo se dispara |

503| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |503| :- | :- |

504| `SessionStart` | Cuando una sesión comienza o se reanuda |504| `SessionStart` | Cuando una sesión comienza o se reanuda |

505| `Setup` | Cuando inicia Claude Code con `--init-only`, o con `--init` o `--maintenance` en modo `-p`. Para preparación única en CI o scripts |505| `Setup` | Cuando inicia Claude Code con `--init-only`, o con `--init` o `--maintenance` en modo `-p`. Para preparación única en CI o scripts |

506| `UserPromptSubmit` | Cuando envía un prompt, antes de que Claude lo procese |506| `UserPromptSubmit` | Cuando envía un prompt, antes de que Claude lo procese |


719Cada tipo de evento coincide en un campo específico:719Cada tipo de evento coincide en un campo específico:

720 720 

721| Evento | En qué filtra el matcher | Valores de matcher de ejemplo |721| Evento | En qué filtra el matcher | Valores de matcher de ejemplo |

722| :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |722| :- | :- | :- |

723| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | nombre de herramienta | `Bash`, `Edit\|Write`, `mcp__.*` |723| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | nombre de herramienta | `Bash`, `Edit\|Write`, `mcp__.*` |

724| `SessionStart` | cómo comenzó la sesión | `startup`, `resume`, `clear`, `compact`, `fork` |724| `SessionStart` | cómo comenzó la sesión | `startup`, `resume`, `clear`, `compact`, `fork` |

725| `Setup` | qué bandera CLI activó la configuración | `init`, `maintenance` |725| `Setup` | qué bandera CLI activó la configuración | `init`, `maintenance` |


841Si tu hook debe ejecutarse depende de la forma de tu patrón `if` y del comando Bash que Claude está invocando:841Si tu hook debe ejecutarse depende de la forma de tu patrón `if` y del comando Bash que Claude está invocando:

842 842 

843| Patrón `if` | Comando Bash | ¿Se ejecuta el hook? | Por qué |843| Patrón `if` | Comando Bash | ¿Se ejecuta el hook? | Por qué |

844| :----------------- | :--------------------- | :------------------- | :------------------------------------------------------------------------------------------------------------------------ |844| :- | :- | :- | :- |

845| `Bash(git *)` | `git push` | sí | el nombre del comando coincide |845| `Bash(git *)` | `git push` | sí | el nombre del comando coincide |

846| `Bash(git *)` | `npm test && git push` | sí | cada subcomando se verifica; `git push` coincide |846| `Bash(git *)` | `npm test && git push` | sí | cada subcomando se verifica; `git push` coincide |

847| `Bash(git *)` | `echo $(git log)` | sí | los comandos dentro de `$()` y backticks se verifican; `git log` coincide |847| `Bash(git *)` | `echo $(git log)` | sí | los comandos dentro de `$()` y backticks se verifican; `git log` coincide |


861Dónde añadas un hook determina su ámbito:861Dónde añadas un hook determina su ámbito:

862 862 

863| Ubicación | Ámbito | Compartible |863| Ubicación | Ámbito | Compartible |

864| :------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- |864| :- | :- | :- |

865| `~/.claude/settings.json` | Todos tus proyectos | No, local a tu máquina |865| `~/.claude/settings.json` | Todos tus proyectos | No, local a tu máquina |

866| `.claude/settings.json` | Proyecto único | Sí, puede ser confirmado en el repositorio |866| `.claude/settings.json` | Proyecto único | Sí, puede ser confirmado en el repositorio |

867| `.claude/settings.local.json` | Proyecto único | No, gitignored cuando Claude Code guarda una configuración en él |867| `.claude/settings.local.json` | Proyecto único | No, gitignored cuando Claude Code guarda una configuración en él |

Details

45Las herramientas integradas generalmente se dividen en cinco categorías, cada una representando un tipo diferente de agencia.45Las herramientas integradas generalmente se dividen en cinco categorías, cada una representando un tipo diferente de agencia.

46 46 

47| Categoría | Lo que Claude puede hacer |47| Categoría | Lo que Claude puede hacer |

48| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |48| - | - |

49| **Operaciones de archivo** | Leer archivos, editar código, crear nuevos archivos, renombrar y reorganizar |49| **Operaciones de archivo** | Leer archivos, editar código, crear nuevos archivos, renombrar y reorganizar |

50| **Búsqueda** | Encontrar archivos por patrón, buscar contenido con regex, explorar bases de código |50| **Búsqueda** | Encontrar archivos por patrón, buscar contenido con regex, explorar bases de código |

51| **Ejecución** | Ejecutar comandos de shell, iniciar servidores, ejecutar pruebas, usar git |51| **Ejecución** | Ejecutar comandos de shell, iniciar servidores, ejecutar pruebas, usar git |


95Claude Code se ejecuta en tres entornos, cada uno con diferentes compensaciones para dónde se ejecuta su código.95Claude Code se ejecuta en tres entornos, cada uno con diferentes compensaciones para dónde se ejecuta su código.

96 96 

97| Entorno | Dónde se ejecuta el código | Caso de uso |97| Entorno | Dónde se ejecuta el código | Caso de uso |

98| ------------------ | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |98| - | - | - |

99| **Local** | Su máquina | Predeterminado. Acceso completo a sus archivos, herramientas y entorno |99| **Local** | Su máquina | Predeterminado. Acceso completo a sus archivos, herramientas y entorno |

100| **Cloud** | VMs administradas por Anthropic, o [entornos autohospedados](/docs/es/self-hosted-environments) que su organización opera | Delegar tareas, trabajar en repositorios que no tiene localmente |100| **Cloud** | VMs administradas por Anthropic, o [entornos autohospedados](/docs/es/self-hosted-environments) que su organización opera | Delegar tareas, trabajar en repositorios que no tiene localmente |

101| **Control remoto** | Su máquina, controlada desde un navegador | Usar la interfaz web mientras mantiene la ejecución y sus archivos locales |101| **Control remoto** | Su máquina, controlada desde un navegador | Usar la interfaz web mientras mantiene la ejecución y sus archivos locales |

Details

21</h3>21</h3>

22 22 

23| Atajo | Descripción | Contexto |23| Atajo | Descripción | Contexto |

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

25| `Ctrl+C` | Interrumpir o borrar entrada | Interrumpe una operación en ejecución. Si nada se está ejecutando, la primera pulsación borra la entrada del símbolo del sistema y una segunda pulsación cierra Claude Code |25| `Ctrl+C` | Interrumpir o borrar entrada | Interrumpe una operación en ejecución. Si nada se está ejecutando, la primera pulsación borra la entrada del símbolo del sistema y una segunda pulsación cierra Claude Code |

26| `Ctrl+X Ctrl+K` | Detener todos los [subagentes en segundo plano](/docs/es/sub-agents#run-subagents-in-foreground-or-background) en esta sesión y desactivar [respuestas automáticas de artefactos](/docs/es/artifacts#let-claude-reply-to-comments-on-its-own) para el resto de ella. Presione dos veces en 3 segundos para confirmar | Control de subagentes |26| `Ctrl+X Ctrl+K` | Detener todos los [subagentes en segundo plano](/docs/es/sub-agents#run-subagents-in-foreground-or-background) en esta sesión y desactivar [respuestas automáticas de artefactos](/docs/es/artifacts#let-claude-reply-to-comments-on-its-own) para el resto de ella. Presione dos veces en 3 segundos para confirmar | Control de subagentes |

27| `Ctrl+D` | Salir de la sesión de Claude Code | La primera pulsación muestra una sugerencia de confirmación y una segunda pulsación dentro de 800 ms cierra. Cuando el símbolo del sistema tiene texto, `Ctrl+D` elimina el carácter después del cursor en su lugar |27| `Ctrl+D` | Salir de la sesión de Claude Code | La primera pulsación muestra una sugerencia de confirmación y una segunda pulsación dentro de 800 ms cierra. Cuando el símbolo del sistema tiene texto, `Ctrl+D` elimina el carácter después del cursor en su lugar |


50</h3>50</h3>

51 51 

52| Atajo | Descripción | Contexto |52| Atajo | Descripción | Contexto |

53| :---------------------------- | :------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |53| :- | :- | :- |

54| `Ctrl+A` | Mover cursor al inicio de la línea actual | En entrada multilínea, mueve al inicio de la línea lógica actual |54| `Ctrl+A` | Mover cursor al inicio de la línea actual | En entrada multilínea, mueve al inicio de la línea lógica actual |

55| `Ctrl+E` | Mover cursor al final de la línea actual | En entrada multilínea, mueve al final de la línea lógica actual |55| `Ctrl+E` | Mover cursor al final de la línea actual | En entrada multilínea, mueve al final de la línea lógica actual |

56| `Ctrl+K` | Eliminar hasta el final de la línea | Almacena el texto eliminado para pegarlo |56| `Ctrl+K` | Eliminar hasta el final de la línea | Almacena el texto eliminado para pegarlo |


82</h3>82</h3>

83 83 

84| Atajo | Descripción | Contexto |84| Atajo | Descripción | Contexto |

85| :------- | :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------- |85| :- | :- | :- |

86| `Ctrl+T` | Alternar resaltado de sintaxis para bloques de código | Solo funciona dentro del menú del selector `/theme`. Controla si el código en las respuestas de Claude utiliza colores de sintaxis |86| `Ctrl+T` | Alternar resaltado de sintaxis para bloques de código | Solo funciona dentro del menú del selector `/theme`. Controla si el código en las respuestas de Claude utiliza colores de sintaxis |

87 87 

88<h3 id="multiline-input">88<h3 id="multiline-input">


90</h3>90</h3>

91 91 

92| Método | Atajo | Contexto |92| Método | Atajo | Contexto |

93| :------------------- | :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |93| :- | :- | :- |

94| Escape rápido | `\` + `Enter` | Funciona en todas las terminales |94| Escape rápido | `\` + `Enter` | Funciona en todas las terminales |

95| Tecla Option | `Option+Enter` | Después de habilitar [Option como Meta](/docs/es/terminal-config#enable-option-key-shortcuts-on-macos) en macOS |95| Tecla Option | `Option+Enter` | Después de habilitar [Option como Meta](/docs/es/terminal-config#enable-option-key-shortcuts-on-macos) en macOS |

96| Shift+Enter | `Shift+Enter` | Nativo en iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal. Para otras terminales, consulte [Ingresar símbolos del sistema multilínea](/docs/es/terminal-config#enter-multiline-prompts) |96| Shift+Enter | `Shift+Enter` | Nativo en iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal. Para otras terminales, consulte [Ingresar símbolos del sistema multilínea](/docs/es/terminal-config#enter-multiline-prompts) |


102</h3>102</h3>

103 103 

104| Atajo | Descripción | Notas |104| Atajo | Descripción | Notas |

105| :------------------- | :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |105| :- | :- | :- |

106| `/` al inicio | Comando o skill | Consulte [comandos](#commands) y [skills](/docs/es/skills) |106| `/` al inicio | Comando o skill | Consulte [comandos](#commands) y [skills](/docs/es/skills) |

107| `!` al inicio | Modo shell | Ejecute un comando directamente, agregue su salida a la sesión y haga que Claude responda a ella |107| `!` al inicio | Modo shell | Ejecute un comando directamente, agregue su salida a la sesión y haga que Claude responda a ella |

108| `@` | Mención de ruta de archivo | Activar autocompletado de ruta de archivo. En sesiones con [mensajería entre sesiones](/docs/es/cross-session-messaging#message-another-session), cuando escribe al menos una letra después de `@`, Claude Code también sugiere sus otras sesiones activas en esta máquina, para que pueda decirle a Claude que envíe un mensaje a la que elija. Requiere Claude Code v2.1.232 o posterior |108| `@` | Mención de ruta de archivo | Activar autocompletado de ruta de archivo. En sesiones con [mensajería entre sesiones](/docs/es/cross-session-messaging#message-another-session), cuando escribe al menos una letra después de `@`, Claude Code también sugiere sus otras sesiones activas en esta máquina, para que pueda decirle a Claude que envíe un mensaje a la que elija. Requiere Claude Code v2.1.232 o posterior |


116Cuando el visor de transcripción está abierto (alternado con `Ctrl+O`), estos atajos están disponibles. Ejecute `/tui` sin argumento para verificar qué renderizador está activo. `Ctrl+E` puede ser remapeado a través de [`transcript:toggleShowAll`](/docs/es/keybindings).116Cuando el visor de transcripción está abierto (alternado con `Ctrl+O`), estos atajos están disponibles. Ejecute `/tui` sin argumento para verificar qué renderizador está activo. `Ctrl+E` puede ser remapeado a través de [`transcript:toggleShowAll`](/docs/es/keybindings).

117 117 

118| Atajo | Descripción |118| Atajo | Descripción |

119| :------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |119| :- | :- |

120| `?` | Alternar el panel de ayuda de atajos de teclado. Requiere [renderizado a pantalla completa](/docs/es/fullscreen) |120| `?` | Alternar el panel de ayuda de atajos de teclado. Requiere [renderizado a pantalla completa](/docs/es/fullscreen) |

121| `{` / `}` | Saltar al símbolo del sistema del usuario anterior o siguiente, como movimiento de párrafo de vim. Requiere [renderizado a pantalla completa](/docs/es/fullscreen) |121| `{` / `}` | Saltar al símbolo del sistema del usuario anterior o siguiente, como movimiento de párrafo de vim. Requiere [renderizado a pantalla completa](/docs/es/fullscreen) |

122| `Ctrl+E` | Alternar mostrar todo el contenido. Disponible solo en el renderizador clásico, no en [renderizado a pantalla completa](/docs/es/fullscreen) |122| `Ctrl+E` | Alternar mostrar todo el contenido. Disponible solo en el renderizador clásico, no en [renderizado a pantalla completa](/docs/es/fullscreen) |


129</h3>129</h3>

130 130 

131| Atajo | Descripción | Notas |131| Atajo | Descripción | Notas |

132| :----------------------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |132| :- | :- | :- |

133| Mantener o tocar `Space` | Dictado de voz | Requiere que [dictado de voz](/docs/es/voice-dictation) esté habilitado. Mantenga presionado para grabar, o ejecute `/voice tap` para alternancia de toque. [Remapeable](/docs/es/voice-dictation#rebind-the-dictation-key) |133| Mantener o tocar `Space` | Dictado de voz | Requiere que [dictado de voz](/docs/es/voice-dictation) esté habilitado. Mantenga presionado para grabar, o ejecute `/voice tap` para alternancia de toque. [Remapeable](/docs/es/voice-dictation#rebind-the-dictation-key) |

134 134 

135<h2 id="commands">135<h2 id="commands">


168</h3>168</h3>

169 169 

170| Comando | Acción | Desde el modo |170| Comando | Acción | Desde el modo |

171| :--------------- | :---------------------------------------------------------------------------------------------------------------------- | :------------- |171| :- | :- | :- |

172| `Esc` o `Ctrl+[` | Entrar en modo NORMAL. En terminales que utilizan el protocolo de teclado Kitty, `Ctrl+[` requiere v2.1.242 o posterior | INSERT, VISUAL |172| `Esc` o `Ctrl+[` | Entrar en modo NORMAL. En terminales que utilizan el protocolo de teclado Kitty, `Ctrl+[` requiere v2.1.242 o posterior | INSERT, VISUAL |

173| `i` | Insertar antes del cursor | NORMAL |173| `i` | Insertar antes del cursor | NORMAL |

174| `I` | Insertar al principio de la línea | NORMAL |174| `I` | Insertar al principio de la línea | NORMAL |


205</h3>205</h3>

206 206 

207| Comando | Acción |207| Comando | Acción |

208| :-------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |208| :- | :- |

209| `h`/`j`/`k`/`l` | Mover izquierda/abajo/arriba/derecha |209| `h`/`j`/`k`/`l` | Mover izquierda/abajo/arriba/derecha |

210| `Space` | Mover a la derecha |210| `Space` | Mover a la derecha |

211| `w` | Siguiente palabra |211| `w` | Siguiente palabra |


233</h3>233</h3>

234 234 

235| Comando | Acción |235| Comando | Acción |

236| :-------------------- | :------------------------------------------------------------------------------------------------------------------------ |236| :- | :- |

237| `x` | Eliminar carácter |237| `x` | Eliminar carácter |

238| `dd` | Eliminar línea |238| `dd` | Eliminar línea |

239| `D` | Eliminar hasta el final de la línea |239| `D` | Eliminar hasta el final de la línea |


261Los objetos de texto funcionan con operadores como `d`, `c` e `y`:261Los objetos de texto funcionan con operadores como `d`, `c` e `y`:

262 262 

263| Comando | Acción |263| Comando | Acción |

264| :-------- | :------------------------------------------------------------- |264| :- | :- |

265| `iw`/`aw` | Palabra interior/alrededor |265| `iw`/`aw` | Palabra interior/alrededor |

266| `iW`/`aW` | PALABRA interior/alrededor (delimitada por espacios en blanco) |266| `iW`/`aW` | PALABRA interior/alrededor (delimitada por espacios en blanco) |

267| `i"`/`a"` | Interior/alrededor de comillas dobles |267| `i"`/`a"` | Interior/alrededor de comillas dobles |


277Presione `v` para selección por carácter o `V` para selección por línea. Los movimientos extienden la selección, y los operadores actúan sobre ella directamente.277Presione `v` para selección por carácter o `V` para selección por línea. Los movimientos extienden la selección, y los operadores actúan sobre ella directamente.

278 278 

279| Comando | Acción |279| Comando | Acción |

280| :--------------- | :---------------------------------------------------------- |280| :- | :- |

281| `d`/`x` | Eliminar selección |281| `d`/`x` | Eliminar selección |

282| `y` | Yanquear selección |282| `y` | Yanquear selección |

283| `c`/`s` | Cambiar selección |283| `c`/`s` | Cambiar selección |


686Una vez que aparece la respuesta, la superposición acepta estas teclas.686Una vez que aparece la respuesta, la superposición acepta estas teclas.

687 687 

688| Tecla | Acción |688| Tecla | Acción |

689| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |689| :- | :- |

690| `Space`, `Enter`, `Escape` | Descartar la respuesta y volver al indicador |690| `Space`, `Enter`, `Escape` | Descartar la respuesta y volver al indicador |

691| `Up` / `Down` | Desplazarse por la respuesta |691| `Up` / `Down` | Desplazarse por la respuesta |

692| `Shift+Left` / `Shift+Right` | Pasar entre esta respuesta y sus respuestas anteriores de `/btw`. `Shift+Left` se mueve a respuestas más antiguas y `Shift+Right` regresa hacia la actual. `[` y `]` hacen lo mismo, para terminales que no reportan `Shift` con teclas de flecha. `Tab` / `Shift+Tab` ciclan a través de las mismas respuestas. Requiere Claude Code v2.1.257 o posterior. Entre v2.1.187 y v2.1.256, las teclas eran `Left` / `Right` simples |692| `Shift+Left` / `Shift+Right` | Pasar entre esta respuesta y sus respuestas anteriores de `/btw`. `Shift+Left` se mueve a respuestas más antiguas y `Shift+Right` regresa hacia la actual. `[` y `]` hacen lo mismo, para terminales que no reportan `Shift` con teclas de flecha. `Tab` / `Shift+Tab` ciclan a través de las mismas respuestas. Requiere Claude Code v2.1.257 o posterior. Entre v2.1.187 y v2.1.256, las teclas eran `Left` / `Right` simples |


848Claude Code construye el enlace para el host del repositorio que identifica desde su remoto de git, no para el repositorio que nombra la referencia:848Claude Code construye el enlace para el host del repositorio que identifica desde su remoto de git, no para el repositorio que nombra la referencia:

849 849 

850| Host del repositorio | Dónde `owner/repo#123` enlaza |850| Host del repositorio | Dónde `owner/repo#123` enlaza |

851| :----------------------------------------------------------------------------------- | :--------------------------------------------------------- |851| :- | :- |

852| github.com, un host de GitHub Enterprise, o cualquier host no listado a continuación | `https://<host>/owner/repo/issues/123` |852| github.com, un host de GitHub Enterprise, o cualquier host no listado a continuación | `https://<host>/owner/repo/issues/123` |

853| gitlab.com | `https://gitlab.com/owner/repo/-/issues/123` |853| gitlab.com | `https://gitlab.com/owner/repo/-/issues/123` |

854| bitbucket.org, codeberg.org, o gitea.com | Sin enlace; la referencia permanece como texto sin formato |854| bitbucket.org, codeberg.org, o gitea.com | Sin enlace; la referencia permanece como texto sin formato |

jetbrains.md +1 −1

Details

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

257 257 

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

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

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

261 261 

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

keybindings.md +30 −30

Details

17<Note>Los cambios en el archivo de atajos de teclado se detectan y aplican automáticamente sin reiniciar Claude Code.</Note>17<Note>Los cambios en el archivo de atajos de teclado se detectan y aplican automáticamente sin reiniciar Claude Code.</Note>

18 18 

19| Campo | Descripción |19| Campo | Descripción |

20| :--------- | :---------------------------------------------------------- |20| :- | :- |

21| `$schema` | URL de esquema JSON opcional para autocompletado del editor |21| `$schema` | URL de esquema JSON opcional para autocompletado del editor |

22| `$docs` | URL de documentación opcional |22| `$docs` | URL de documentación opcional |

23| `bindings` | Array de bloques de vinculación por contexto |23| `bindings` | Array de bloques de vinculación por contexto |


47Cada bloque de vinculación especifica un **contexto** donde se aplican los atajos de teclado:47Cada bloque de vinculación especifica un **contexto** donde se aplican los atajos de teclado:

48 48 

49| Contexto | Descripción |49| Contexto | Descripción |

50| :---------------- | :---------------------------------------------------------------------------- |50| :- | :- |

51| `Global` | Se aplica en todas partes de la aplicación |51| `Global` | Se aplica en todas partes de la aplicación |

52| `Chat` | Área principal de entrada de chat |52| `Chat` | Área principal de entrada de chat |

53| `Autocomplete` | Menú de autocompletado está abierto |53| `Autocomplete` | Menú de autocompletado está abierto |


86Acciones disponibles en el contexto `Global`:86Acciones disponibles en el contexto `Global`:

87 87 

88| Acción | Predeterminado | Descripción |88| Acción | Predeterminado | Descripción |

89| :--------------------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------- |89| :- | :- | :- |

90| `app:interrupt` | Ctrl+C | Cancelar operación actual |90| `app:interrupt` | Ctrl+C | Cancelar operación actual |

91| `app:exit` | Ctrl+D | Salir de Claude Code. Presione dos veces dentro de 800ms para confirmar |91| `app:exit` | Ctrl+D | Salir de Claude Code. Presione dos veces dentro de 800ms para confirmar |

92| `app:redraw` | (sin asignar) | Forzar redibujado de terminal |92| `app:redraw` | (sin asignar) | Forzar redibujado de terminal |


100Acciones para navegar por el historial de comandos:100Acciones para navegar por el historial de comandos:

101 101 

102| Acción | Predeterminado | Descripción |102| Acción | Predeterminado | Descripción |

103| :----------------- | :------------- | :------------------------------ |103| :- | :- | :- |

104| `history:search` | Ctrl+R | Abrir búsqueda de historial |104| `history:search` | Ctrl+R | Abrir búsqueda de historial |

105| `history:previous` | Arriba | Elemento de historial anterior |105| `history:previous` | Arriba | Elemento de historial anterior |

106| `history:next` | Abajo | Siguiente elemento de historial |106| `history:next` | Abajo | Siguiente elemento de historial |


112Acciones disponibles en el contexto `Chat`:112Acciones disponibles en el contexto `Chat`:

113 113 

114| Acción | Predeterminado | Descripción |114| Acción | Predeterminado | Descripción |

115| :-------------------- | :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |115| :- | :- | :- |

116| `chat:cancel` | Escape | Cancelar entrada actual |116| `chat:cancel` | Escape | Cancelar entrada actual |

117| `chat:clearInput` | Ctrl+L | Forzar un redibujado de pantalla completa, preservando la entrada y la conversación |117| `chat:clearInput` | Ctrl+L | Forzar un redibujado de pantalla completa, preservando la entrada y la conversación |

118| `chat:clearScreen` | Cmd+K | Igual que `chat:clearInput`. Consulte [Limpiar la conversación](/docs/es/fullscreen#clear-the-conversation) para ver cómo se comporta Cmd+K en iTerm2 y Terminal.app |118| `chat:clearScreen` | Cmd+K | Igual que `chat:clearInput`. Consulte [Limpiar la conversación](/docs/es/fullscreen#clear-the-conversation) para ver cómo se comporta Cmd+K en iTerm2 y Terminal.app |


139Acciones disponibles en el contexto `Autocomplete`:139Acciones disponibles en el contexto `Autocomplete`:

140 140 

141| Acción | Predeterminado | Descripción |141| Acción | Predeterminado | Descripción |

142| :---------------------- | :------------- | :------------------- |142| :- | :- | :- |

143| `autocomplete:accept` | Tab | Aceptar sugerencia |143| `autocomplete:accept` | Tab | Aceptar sugerencia |

144| `autocomplete:dismiss` | Escape | Descartar menú |144| `autocomplete:dismiss` | Escape | Descartar menú |

145| `autocomplete:previous` | Arriba | Sugerencia anterior |145| `autocomplete:previous` | Arriba | Sugerencia anterior |


152Acciones disponibles en el contexto `Confirmation`:152Acciones disponibles en el contexto `Confirmation`:

153 153 

154| Acción | Predeterminado | Descripción |154| Acción | Predeterminado | Descripción |

155| :---------------------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |155| :- | :- | :- |

156| `confirm:yes` | Enter | Confirmar acción |156| `confirm:yes` | Enter | Confirmar acción |

157| `confirm:no` | Escape | Rechazar acción |157| `confirm:no` | Escape | Rechazar acción |

158| `confirm:previous` | Arriba | Opción anterior |158| `confirm:previous` | Arriba | Opción anterior |


195Acciones disponibles en el contexto `Confirmation` para diálogos de permisos:195Acciones disponibles en el contexto `Confirmation` para diálogos de permisos:

196 196 

197| Acción | Predeterminado | Descripción |197| Acción | Predeterminado | Descripción |

198| :----------------------- | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- |198| :- | :- | :- |

199| `permission:toggleDebug` | (sin asignar) | Alternar información de depuración de permisos. El valor predeterminado anterior de Ctrl+D se eliminó en v2.1.146 porque sombreaba `app:exit` |199| `permission:toggleDebug` | (sin asignar) | Alternar información de depuración de permisos. El valor predeterminado anterior de Ctrl+D se eliminó en v2.1.146 porque sombreaba `app:exit` |

200 200 

201<h3 id="transcript-actions">201<h3 id="transcript-actions">


205Acciones disponibles en el contexto `Transcript`:205Acciones disponibles en el contexto `Transcript`:

206 206 

207| Acción | Predeterminado | Descripción |207| Acción | Predeterminado | Descripción |

208| :------------------------- | :---------------- | :--------------------------------- |208| :- | :- | :- |

209| `transcript:toggleShowAll` | Ctrl+E | Alternar mostrar todo el contenido |209| `transcript:toggleShowAll` | Ctrl+E | Alternar mostrar todo el contenido |

210| `transcript:exit` | q, Ctrl+C, Escape | Salir de la vista de transcripción |210| `transcript:exit` | q, Ctrl+C, Escape | Salir de la vista de transcripción |

211 211 


218Acciones disponibles en el contexto `HistorySearch`:218Acciones disponibles en el contexto `HistorySearch`:

219 219 

220| Acción | Predeterminado | Descripción |220| Acción | Predeterminado | Descripción |

221| :------------------------- | :------------- | :------------------------------------------------ |221| :- | :- | :- |

222| `historySearch:next` | Ctrl+R | Siguiente coincidencia |222| `historySearch:next` | Ctrl+R | Siguiente coincidencia |

223| `historySearch:accept` | Escape, Tab | Aceptar selección |223| `historySearch:accept` | Escape, Tab | Aceptar selección |

224| `historySearch:cancel` | Ctrl+C | Cancelar búsqueda |224| `historySearch:cancel` | Ctrl+C | Cancelar búsqueda |


234Acciones disponibles en el contexto `Task`:234Acciones disponibles en el contexto `Task`:

235 235 

236| Acción | Predeterminado | Descripción |236| Acción | Predeterminado | Descripción |

237| :---------------- | :-------------------- | :------------------------------------------------------------------------------------------------- |237| :- | :- | :- |

238| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | Poner tarea actual en segundo plano. El acorde Ctrl+X Ctrl+B evita el conflicto de prefijo de tmux |238| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | Poner tarea actual en segundo plano. El acorde Ctrl+X Ctrl+B evita el conflicto de prefijo de tmux |

239 239 

240<h3 id="theme-actions">240<h3 id="theme-actions">


244Acciones disponibles en el contexto `ThemePicker`:244Acciones disponibles en el contexto `ThemePicker`:

245 245 

246| Acción | Predeterminado | Descripción |246| Acción | Predeterminado | Descripción |

247| :------------------------------- | :------------- | :----------------------------- |247| :- | :- | :- |

248| `theme:toggleSyntaxHighlighting` | Ctrl+T | Alternar resaltado de sintaxis |248| `theme:toggleSyntaxHighlighting` | Ctrl+T | Alternar resaltado de sintaxis |

249 249 

250<h3 id="help-actions">250<h3 id="help-actions">


254Acciones disponibles en el contexto `Help`:254Acciones disponibles en el contexto `Help`:

255 255 

256| Acción | Predeterminado | Descripción |256| Acción | Predeterminado | Descripción |

257| :------------- | :------------- | :------------------- |257| :- | :- | :- |

258| `help:dismiss` | Escape | Cerrar menú de ayuda |258| `help:dismiss` | Escape | Cerrar menú de ayuda |

259 259 

260<h3 id="tabs-actions">260<h3 id="tabs-actions">


264Acciones disponibles en el contexto `Tabs`:264Acciones disponibles en el contexto `Tabs`:

265 265 

266| Acción | Predeterminado | Descripción |266| Acción | Predeterminado | Descripción |

267| :-------------- | :-------------- | :---------------- |267| :- | :- | :- |

268| `tabs:next` | Tab, Right | Siguiente pestaña |268| `tabs:next` | Tab, Right | Siguiente pestaña |

269| `tabs:previous` | Shift+Tab, Left | Pestaña anterior |269| `tabs:previous` | Shift+Tab, Left | Pestaña anterior |

270 270 


275Acciones disponibles en el contexto `Attachments`:275Acciones disponibles en el contexto `Attachments`:

276 276 

277| Acción | Predeterminado | Descripción |277| Acción | Predeterminado | Descripción |

278| :--------------------- | :---------------- | :--------------------------------- |278| :- | :- | :- |

279| `attachments:next` | Right | Siguiente adjunto |279| `attachments:next` | Right | Siguiente adjunto |

280| `attachments:previous` | Left | Adjunto anterior |280| `attachments:previous` | Left | Adjunto anterior |

281| `attachments:remove` | Backspace, Delete | Eliminar adjunto seleccionado |281| `attachments:remove` | Backspace, Delete | Eliminar adjunto seleccionado |


288Acciones disponibles en el contexto `Footer`:288Acciones disponibles en el contexto `Footer`:

289 289 

290| Acción | Predeterminado | Descripción |290| Acción | Predeterminado | Descripción |

291| :---------------------- | :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |291| :- | :- | :- |

292| `footer:next` | Right | Siguiente elemento de pie de página |292| `footer:next` | Right | Siguiente elemento de pie de página |

293| `footer:previous` | Left | Elemento de pie de página anterior |293| `footer:previous` | Left | Elemento de pie de página anterior |

294| `footer:up` | Up | Navegar hacia arriba en el pie de página (deselecciona en la parte superior) |294| `footer:up` | Up | Navegar hacia arriba en el pie de página (deselecciona en la parte superior) |


308Acciones disponibles en el contexto `MessageSelector`:308Acciones disponibles en el contexto `MessageSelector`:

309 309 

310| Acción | Predeterminado | Descripción |310| Acción | Predeterminado | Descripción |

311| :----------------------- | :---------------------------------------- | :----------------------------- |311| :- | :- | :- |

312| `messageSelector:up` | Up, K, Ctrl+P | Mover hacia arriba en la lista |312| `messageSelector:up` | Up, K, Ctrl+P | Mover hacia arriba en la lista |

313| `messageSelector:down` | Down, J, Ctrl+N | Mover hacia abajo en la lista |313| `messageSelector:down` | Down, J, Ctrl+N | Mover hacia abajo en la lista |

314| `messageSelector:top` | Ctrl+Up, Shift+Up, Meta+Up, Shift+K | Saltar al principio |314| `messageSelector:top` | Ctrl+Up, Shift+Up, Meta+Up, Shift+K | Saltar al principio |


322Acciones disponibles en el contexto `DiffDialog`:322Acciones disponibles en el contexto `DiffDialog`:

323 323 

324| Acción | Predeterminado | Descripción |324| Acción | Predeterminado | Descripción |

325| :-------------------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |325| :- | :- | :- |

326| `diff:dismiss` | Escape | Cerrar visor de diferencias; desde la vista de detalle, vuelve a la lista de archivos en su lugar |326| `diff:dismiss` | Escape | Cerrar visor de diferencias; desde la vista de detalle, vuelve a la lista de archivos en su lugar |

327| `diff:previousSource` | Left | Fuente de diferencia anterior |327| `diff:previousSource` | Left | Fuente de diferencia anterior |

328| `diff:nextSource` | Right | Siguiente fuente de diferencia |328| `diff:nextSource` | Right | Siguiente fuente de diferencia |


334La vista de detalle de diferencias también vincula teclas de estilo paginador a las [acciones de desplazamiento](#scroll-actions) estándar. Estas vinculaciones son parte del contexto `DiffDialog` y se aplican solo en la vista de detalle; los valores predeterminados del contexto `Scroll` enumerados en [Acciones de desplazamiento](#scroll-actions) no cambian.334La vista de detalle de diferencias también vincula teclas de estilo paginador a las [acciones de desplazamiento](#scroll-actions) estándar. Estas vinculaciones son parte del contexto `DiffDialog` y se aplican solo en la vista de detalle; los valores predeterminados del contexto `Scroll` enumerados en [Acciones de desplazamiento](#scroll-actions) no cambian.

335 335 

336| Acción | Predeterminado | Descripción |336| Acción | Predeterminado | Descripción |

337| :-------------------- | :------------- | :---------------------------------------------------- |337| :- | :- | :- |

338| `scroll:pageUp` | PageUp | Desplazarse hacia arriba media ventana gráfica |338| `scroll:pageUp` | PageUp | Desplazarse hacia arriba media ventana gráfica |

339| `scroll:pageDown` | PageDown | Desplazarse hacia abajo media ventana gráfica |339| `scroll:pageDown` | PageDown | Desplazarse hacia abajo media ventana gráfica |

340| `scroll:fullPageUp` | Shift+Space, B | Desplazarse hacia arriba una ventana gráfica completa |340| `scroll:fullPageUp` | Shift+Space, B | Desplazarse hacia arriba una ventana gráfica completa |


349Acciones para el [panel de diferencias](/docs/es/interactive-mode#diff-panel) que `/diff` abre en renderizado de pantalla completa. `app:cycleDiffBase` está en el contexto `DiffPanel`, que está activo mientras el panel está abierto; los otros están en `Global`. El panel requiere Claude Code v2.1.260 o posterior.349Acciones para el [panel de diferencias](/docs/es/interactive-mode#diff-panel) que `/diff` abre en renderizado de pantalla completa. `app:cycleDiffBase` está en el contexto `DiffPanel`, que está activo mientras el panel está abierto; los otros están en `Global`. El panel requiere Claude Code v2.1.260 o posterior.

350 350 

351| Acción | Predeterminado | Descripción |351| Acción | Predeterminado | Descripción |

352| :-------------------------- | :------------------- | :------------------------------------------------------------------------------ |352| :- | :- | :- |

353| `app:toggleReplTab` | (sin asignar) | Abrir o cerrar el panel de diferencias, igual que ejecutar `/diff` |353| `app:toggleReplTab` | (sin asignar) | Abrir o cerrar el panel de diferencias, igual que ejecutar `/diff` |

354| `app:cycleDiffBase` | Ctrl+X B | Ciclar la base de comparación del panel: esta sesión, sin confirmar, luego rama |354| `app:cycleDiffBase` | Ctrl+X B | Ciclar la base de comparación del panel: esta sesión, sin confirmar, luego rama |

355| `app:diffFileListUp` | Ctrl+Up, Meta+Up | Desplazarse hacia arriba en la lista de archivos del panel cuando se desborda |355| `app:diffFileListUp` | Ctrl+Up, Meta+Up | Desplazarse hacia arriba en la lista de archivos del panel cuando se desborda |


364Acciones disponibles en el contexto `ModelPicker`:364Acciones disponibles en el contexto `ModelPicker`:

365 365 

366| Acción | Predeterminado | Descripción |366| Acción | Predeterminado | Descripción |

367| :---------------------------- | :------------- | :------------------------------------------ |367| :- | :- | :- |

368| `modelPicker:decreaseEffort` | Left | Disminuir nivel de esfuerzo |368| `modelPicker:decreaseEffort` | Left | Disminuir nivel de esfuerzo |

369| `modelPicker:increaseEffort` | Right | Aumentar nivel de esfuerzo |369| `modelPicker:increaseEffort` | Right | Aumentar nivel de esfuerzo |

370| `modelPicker:thisSessionOnly` | s | Aplicar modelo resaltado solo a esta sesión |370| `modelPicker:thisSessionOnly` | s | Aplicar modelo resaltado solo a esta sesión |


376Acciones disponibles en el contexto `EffortSlider`, el control deslizante que se abre cuando ejecuta `/effort` sin argumentos. Las teclas Left, Right, Enter y Escape del control deslizante no se pueden reasignar.376Acciones disponibles en el contexto `EffortSlider`, el control deslizante que se abre cuando ejecuta `/effort` sin argumentos. Las teclas Left, Right, Enter y Escape del control deslizante no se pueden reasignar.

377 377 

378| Acción | Predeterminado | Descripción |378| Acción | Predeterminado | Descripción |

379| :----------------------------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------ |379| :- | :- | :- |

380| `effortSlider:thisSessionOnly` | s | Aplicar el [nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) enfocado solo a esta sesión. Requiere v2.1.257 o posterior |380| `effortSlider:thisSessionOnly` | s | Aplicar el [nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) enfocado solo a esta sesión. Requiere v2.1.257 o posterior |

381 381 

382<h3 id="select-actions">382<h3 id="select-actions">


386Acciones disponibles en el contexto `Select`:386Acciones disponibles en el contexto `Select`:

387 387 

388| Acción | Predeterminado | Descripción |388| Acción | Predeterminado | Descripción |

389| :---------------- | :-------------- | :---------------------------------------- |389| :- | :- | :- |

390| `select:next` | Down, J, Ctrl+N | Siguiente opción |390| `select:next` | Down, J, Ctrl+N | Siguiente opción |

391| `select:previous` | Up, K, Ctrl+P | Opción anterior |391| `select:previous` | Up, K, Ctrl+P | Opción anterior |

392| `select:pageUp` | PageUp | Mover hacia arriba una página de opciones |392| `select:pageUp` | PageUp | Mover hacia arriba una página de opciones |


407Acciones disponibles en el contexto `Plugin`:407Acciones disponibles en el contexto `Plugin`:

408 408 

409| Acción | Predeterminado | Descripción |409| Acción | Predeterminado | Descripción |

410| :---------------- | :------------- | :---------------------------------------------------------------------------------------------------------------- |410| :- | :- | :- |

411| `plugin:toggle` | Space | Alternar selección de plugin |411| `plugin:toggle` | Space | Alternar selección de plugin |

412| `plugin:install` | I | Instalar plugins seleccionados |412| `plugin:install` | I | Instalar plugins seleccionados |

413| `plugin:favorite` | F | Marcar el plugin seleccionado como favorito para que se ordene cerca de la parte superior de la pestaña Instalado |413| `plugin:favorite` | F | Marcar el plugin seleccionado como favorito para que se ordene cerca de la parte superior de la pestaña Instalado |


419Acciones disponibles en el contexto `Settings`. Las acciones `select:accept` y `confirm:no` se reutilizan de los contextos [Select](#select-actions) y [Confirmation](#confirmation-actions) con comportamiento específico de Configuración: los cambios se aplican a cada configuración tan pronto como la cambia, por lo que Escape cierra el panel con sus cambios guardados en lugar de rechazarlos.419Acciones disponibles en el contexto `Settings`. Las acciones `select:accept` y `confirm:no` se reutilizan de los contextos [Select](#select-actions) y [Confirmation](#confirmation-actions) con comportamiento específico de Configuración: los cambios se aplican a cada configuración tan pronto como la cambia, por lo que Escape cierra el panel con sus cambios guardados en lugar de rechazarlos.

420 420 

421| Acción | Predeterminado | Descripción |421| Acción | Predeterminado | Descripción |

422| :---------------- | :------------- | :------------------------------------------------------- |422| :- | :- | :- |

423| `settings:search` | / | Entrar en modo de búsqueda |423| `settings:search` | / | Entrar en modo de búsqueda |

424| `settings:retry` | R | Reintentar cargar datos de uso en caso de error |424| `settings:retry` | R | Reintentar cargar datos de uso en caso de error |

425| `select:accept` | Enter, Space | Cambiar la configuración seleccionada o abrir su submenú |425| `select:accept` | Enter, Space | Cambiar la configuración seleccionada o abrir su submenú |


432Acciones disponibles en el contexto `Agents`, que se aplica en [vista de agente](/docs/es/agent-view), abierta con `claude agents`. Requiere v2.1.257 o posterior.432Acciones disponibles en el contexto `Agents`, que se aplica en [vista de agente](/docs/es/agent-view), abierta con `claude agents`. Requiere v2.1.257 o posterior.

433 433 

434| Acción | Predeterminado | Descripción |434| Acción | Predeterminado | Descripción |

435| :------------------ | :------------- | :----------------------------------------------------------------------------------------- |435| :- | :- | :- |

436| `agents:switchView` | Ctrl+S | Cambiar [agrupación de sesión](/docs/es/agent-view#organize-the-list) entre estado y directorio |436| `agents:switchView` | Ctrl+S | Cambiar [agrupación de sesión](/docs/es/agent-view#organize-the-list) entre estado y directorio |

437| `agents:togglePin` | Ctrl+T | [Fijar o desfijar](/docs/es/agent-view#organize-the-list) la sesión seleccionada |437| `agents:togglePin` | Ctrl+T | [Fijar o desfijar](/docs/es/agent-view#organize-the-list) la sesión seleccionada |

438 438 


449Acciones disponibles en el contexto `Chat` cuando [dictado de voz](/docs/es/voice-dictation) está habilitado:449Acciones disponibles en el contexto `Chat` cuando [dictado de voz](/docs/es/voice-dictation) está habilitado:

450 450 

451| Acción | Predeterminado | Descripción |451| Acción | Predeterminado | Descripción |

452| :----------------- | :------------- | :------------------------------------------------------------------------ |452| :- | :- | :- |

453| `voice:pushToTalk` | Space | Dictar una indicación. Mantenga presionado o toque según el modo `/voice` |453| `voice:pushToTalk` | Space | Dictar una indicación. Mantenga presionado o toque según el modo `/voice` |

454 454 

455<h3 id="scroll-actions">455<h3 id="scroll-actions">


459Acciones disponibles en el contexto `Scroll` cuando [renderizado de pantalla completa](/docs/es/fullscreen) está habilitado:459Acciones disponibles en el contexto `Scroll` cuando [renderizado de pantalla completa](/docs/es/fullscreen) está habilitado:

460 460 

461| Acción | Predeterminado | Descripción |461| Acción | Predeterminado | Descripción |

462| :-------------------------- | :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |462| :- | :- | :- |

463| `scroll:lineUp` | `wheelup` | Desplazarse hacia arriba una línea. El desplazamiento de la rueda del ratón activa esta acción |463| `scroll:lineUp` | `wheelup` | Desplazarse hacia arriba una línea. El desplazamiento de la rueda del ratón activa esta acción |

464| `scroll:lineDown` | `wheeldown` | Desplazarse hacia abajo una línea. El desplazamiento de la rueda del ratón activa esta acción |464| `scroll:lineDown` | `wheeldown` | Desplazarse hacia abajo una línea. El desplazamiento de la rueda del ratón activa esta acción |

465| `scroll:pageUp` | PageUp | Desplazarse hacia arriba media altura de ventana gráfica |465| `scroll:pageUp` | PageUp | Desplazarse hacia arriba media altura de ventana gráfica |


615Estos atajos no se pueden reasignar:615Estos atajos no se pueden reasignar:

616 616 

617| Atajo | Razón |617| Atajo | Razón |

618| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |618| :- | :- |

619| Ctrl+C | Interrupción/cancelación codificada |619| Ctrl+C | Interrupción/cancelación codificada |

620| Ctrl+D | Salida codificada |620| Ctrl+D | Salida codificada |

621| Ctrl+M | Claude Code siempre lo recibe como Enter |621| Ctrl+M | Claude Code siempre lo recibe como Enter |


631Algunos atajos pueden entrar en conflicto con multiplexores de terminal:631Algunos atajos pueden entrar en conflicto con multiplexores de terminal:

632 632 

633| Atajo | Conflicto |633| Atajo | Conflicto |

634| :----- | :----------------------------------------------- |634| :- | :- |

635| Ctrl+B | Prefijo de tmux (presione dos veces para enviar) |635| Ctrl+B | Prefijo de tmux (presione dos veces para enviar) |

636| Ctrl+A | Prefijo de GNU screen |636| Ctrl+A | Prefijo de GNU screen |

637| Ctrl+Z | Suspensión de proceso Unix (SIGTSTP) |637| Ctrl+Z | Suspensión de proceso Unix (SIGTSTP) |

Details

23Cada configuración a continuación es independiente. Se superponen en lugar de reemplazarse entre sí, así que aplique las que se ajusten a su repositorio. [Elija dónde iniciar Claude](#choose-where-to-start-claude) determina dónde viven sus archivos de configuración, así que léalo primero. [Póngalo todo junto](#put-it-together) muestra todos ellos combinados.23Cada configuración a continuación es independiente. Se superponen en lugar de reemplazarse entre sí, así que aplique las que se ajusten a su repositorio. [Elija dónde iniciar Claude](#choose-where-to-start-claude) determina dónde viven sus archivos de configuración, así que léalo primero. [Póngalo todo junto](#put-it-together) muestra todos ellos combinados.

24 24 

25| Quiero | Usar |25| Quiero | Usar |

26| :----------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------- |26| :- | :- |

27| Cargar solo las convenciones para el código que toca, en lugar de un archivo raíz que cubra cada subsistema | Archivos [CLAUDE.md](#layer-claude-md-files-by-directory) por directorio |27| Cargar solo las convenciones para el código que toca, en lugar de un archivo raíz que cubra cada subsistema | Archivos [CLAUDE.md](#layer-claude-md-files-by-directory) por directorio |

28| Excluir archivos CLAUDE.md para paquetes en los que nunca trabajo | [`claudeMdExcludes`](#exclude-irrelevant-claude-md-files) |28| Excluir archivos CLAUDE.md para paquetes en los que nunca trabajo | [`claudeMdExcludes`](#exclude-irrelevant-claude-md-files) |

29| Bloquear a Claude de abrir salida de compilación, código generado y dependencias vendidas | Reglas de negación [`Read`](#block-reads-of-generated-and-vendored-code) en `permissions.deny` |29| Bloquear a Claude de abrir salida de compilación, código generado y dependencias vendidas | Reglas de negación [`Read`](#block-reads-of-generated-and-vendored-code) en `permissions.deny` |


67Dónde inicia `claude` determina qué archivos puede leer y editar Claude sin una concesión de permiso adicional, qué archivos CLAUDE.md se cargan en el contexto al inicio, y qué configuraciones de proyecto se aplican.67Dónde inicia `claude` determina qué archivos puede leer y editar Claude sin una concesión de permiso adicional, qué archivos CLAUDE.md se cargan en el contexto al inicio, y qué configuraciones de proyecto se aplican.

68 68 

69| Iniciar desde | Acceso a archivos | CLAUDE.md cargado al inicio | Usar cuando |69| Iniciar desde | Acceso a archivos | CLAUDE.md cargado al inicio | Usar cuando |

70| :------------------- | :--------------------------------------- | :------------------------------------------------------------------------------------- | :-------------------------------------------------- |70| :- | :- | :- | :- |

71| Raíz del repositorio | Cada archivo | Solo raíz; los archivos de subdirectorio se cargan bajo demanda cuando Claude lee allí | Las tareas abarcan múltiples paquetes o subsistemas |71| Raíz del repositorio | Cada archivo | Solo raíz; los archivos de subdirectorio se cargan bajo demanda cuando Claude lee allí | Las tareas abarcan múltiples paquetes o subsistemas |

72| Un subdirectorio | Solo ese subárbol, hasta que otorgue más | El de ese directorio más el de cada antecesor | El trabajo se limita a un paquete o subsistema |72| Un subdirectorio | Solo ese subárbol, hasta que otorgue más | El de ese directorio más el de cada antecesor | El trabajo se limita a un paquete o subsistema |

73 73 


123Los archivos `CLAUDE.md` por directorio y [reglas con alcance de ruta](/docs/es/memory#path-specific-rules) bajo `.claude/rules/` ambos le permiten dirigir instrucciones a parte del árbol. Difieren en dónde vive el archivo y cuándo se carga.123Los archivos `CLAUDE.md` por directorio y [reglas con alcance de ruta](/docs/es/memory#path-specific-rules) bajo `.claude/rules/` ambos le permiten dirigir instrucciones a parte del árbol. Difieren en dónde vive el archivo y cuándo se carga.

124 124 

125| Enfoque | Ubicación del archivo | Se carga cuando | Usar cuando |125| Enfoque | Ubicación del archivo | Se carga cuando | Usar cuando |

126| :-------------------------------------------- | :-------------------------------------------- | :------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------- |126| :- | :- | :- | :- |

127| CLAUDE.md por directorio | Dentro del directorio, junto a su código | Al inicio cuando se inicia desde ese directorio, o bajo demanda cuando Claude lee un archivo allí | Los propietarios del directorio mantienen sus propias convenciones; las instrucciones se versionan con el código |127| CLAUDE.md por directorio | Dentro del directorio, junto a su código | Al inicio cuando se inicia desde ese directorio, o bajo demanda cuando Claude lee un archivo allí | Los propietarios del directorio mantienen sus propias convenciones; las instrucciones se versionan con el código |

128| Regla con alcance de ruta en `.claude/rules/` | `.claude/` central en la raíz del repositorio | Cuando Claude trabaja con un archivo que coincide con el glob `paths:` de la regla | Desea todas las convenciones en un lugar, o la misma regla se aplica a muchas rutas dispersas |128| Regla con alcance de ruta en `.claude/rules/` | `.claude/` central en la raíz del repositorio | Cuando Claude trabaja con un archivo que coincide con el glob `paths:` de la regla | Desea todas las convenciones en un lugar, o la misma regla se aplica a muchas rutas dispersas |

129 129 


316Sin embargo agregue un directorio, Claude puede leer y editar archivos en él. Si el CLAUDE.md del directorio, archivos `.claude/rules/` y skills también se cargan depende de cómo lo agregó:316Sin embargo agregue un directorio, Claude puede leer y editar archivos en él. Si el CLAUDE.md del directorio, archivos `.claude/rules/` y skills también se cargan depende de cómo lo agregó:

317 317 

318| Agregado con | Carga CLAUDE.md y reglas | Carga skills |318| Agregado con | Carga CLAUDE.md y reglas | Carga skills |

319| :--------------------------------------- | :--------------------------------------------- | :----------- |319| :- | :- | :- |

320| Configuración `additionalDirectories` | Nunca | Nunca |320| Configuración `additionalDirectories` | Nunca | Nunca |

321| Bandera `--add-dir` o comando `/add-dir` | Solo con la variable de entorno a continuación | Sí |321| Bandera `--add-dir` o comando `/add-dir` | Solo con la variable de entorno a continuación | Sí |

322 322 

Details

64Para autenticar Claude Code en la puerta de enlace, establezca su credencial en una variable de entorno. Qué variable depende de lo que su equipo de puerta de enlace le dijo:64Para autenticar Claude Code en la puerta de enlace, establezca su credencial en una variable de entorno. Qué variable depende de lo que su equipo de puerta de enlace le dijo:

65 65 

66| Establecer la credencial en | Usar cuando |66| Establecer la credencial en | Usar cuando |

67| :------------------------------------------------------ | :------------------------------------------------------------------------- |67| :- | :- |

68| `ANTHROPIC_AUTH_TOKEN` | Su equipo de puerta de enlace dijo "bearer token" o "Authorization header" |68| `ANTHROPIC_AUTH_TOKEN` | Su equipo de puerta de enlace dijo "bearer token" o "Authorization header" |

69| `ANTHROPIC_API_KEY` | Su equipo de puerta de enlace dijo "API key" o "x-api-key" |69| `ANTHROPIC_API_KEY` | Su equipo de puerta de enlace dijo "API key" o "x-api-key" |

70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | La credencial rota o viene de un almacén |70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | La credencial rota o viene de un almacén |


578Estos son los errores más comunes al ejecutar Claude Code a través de una puerta de enlace, con la causa del lado de la puerta de enlace y la solución:578Estos son los errores más comunes al ejecutar Claude Code a través de una puerta de enlace, con la causa del lado de la puerta de enlace y la solución:

579 579 

580| Error | Causa | Solución |580| Error | Causa | Solución |

581| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |581| :- | :- | :- |

582| Una advertencia de inicio que nombra dos fuentes de credencial y termina en `auth may not work as expected`. Las versiones más antiguas muestran `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` en su lugar. | Una credencial de puerta de enlace y un inicio de sesión guardado están ambos activos; la variable se usa para solicitudes, pero el inicio de sesión obsoleto puede causar comportamiento de autenticación inesperado | Desestablezca la variable para usar el inicio de sesión guardado, o ejecute `/logout` para usar la credencial de puerta de enlace |582| Una advertencia de inicio que nombra dos fuentes de credencial y termina en `auth may not work as expected`. Las versiones más antiguas muestran `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` en su lugar. | Una credencial de puerta de enlace y un inicio de sesión guardado están ambos activos; la variable se usa para solicitudes, pero el inicio de sesión obsoleto puede causar comportamiento de autenticación inesperado | Desestablezca la variable para usar el inicio de sesión guardado, o ejecute `/logout` para usar la credencial de puerta de enlace |

583| Errores `401` que nombran un token inválido o no reconocido | La credencial no es una que la puerta de enlace emitió, o está en un encabezado que la puerta de enlace no lee | Confirme que la variable coincida con su tipo de credencial en la [tabla de credencial](#set-the-credential-variable), y regenere la clave en la puerta de enlace si fue revocada |583| Errores `401` que nombran un token inválido o no reconocido | La credencial no es una que la puerta de enlace emitió, o está en un encabezado que la puerta de enlace no lee | Confirme que la variable coincida con su tipo de credencial en la [tabla de credencial](#set-the-credential-variable), y regenere la clave en la puerta de enlace si fue revocada |

584| `Your apiKeyHelper script is failing`, o `apiKeyHelper failed:` en stderr en modo no interactivo | El comando en la configuración [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) no produjo una clave utilizable, por lo que las solicitudes llevan una clave de marcador de posición | Ejecute el comando directamente para ver por qué falla, y vuelva a autenticarse con su proveedor de credenciales si reporta una sesión expirada; consulte [la referencia de errores](/docs/es/errors#your-apikeyhelper-script-is-failing) |584| `Your apiKeyHelper script is failing`, o `apiKeyHelper failed:` en stderr en modo no interactivo | El comando en la configuración [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) no produjo una clave utilizable, por lo que las solicitudes llevan una clave de marcador de posición | Ejecute el comando directamente para ver por qué falla, y vuelva a autenticarse con su proveedor de credenciales si reporta una sesión expirada; consulte [la referencia de errores](/docs/es/errors#your-apikeyhelper-script-is-failing) |

Details

41Google Cloud's Agent Platform es el punto de conexión de Claude de Google Cloud, anteriormente Vertex AI; sus nombres de variables mantienen la ortografía `VERTEX`.41Google Cloud's Agent Platform es el punto de conexión de Claude de Google Cloud, anteriormente Vertex AI; sus nombres de variables mantienen la ortografía `VERTEX`.

42 42 

43| Formato | Seleccionado por | Puntos de conexión | Reenviar sin cambios |43| Formato | Seleccionado por | Puntos de conexión | Reenviar sin cambios |

44| :--------------------------------------- | :----------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------- |44| :- | :- | :- | :- |

45| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (opcional) | encabezados de solicitud `anthropic-beta` y `anthropic-version` |45| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (opcional) | encabezados de solicitud `anthropic-beta` y `anthropic-version` |

46| Amazon Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` con `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream`, `/model/{model}/count-tokens` (opcional) | campos de cuerpo de solicitud `anthropic_beta` y `anthropic_version` |46| Amazon Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` con `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream`, `/model/{model}/count-tokens` (opcional) | campos de cuerpo de solicitud `anthropic_beta` y `anthropic_version` |

47| Google Cloud's Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` con `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (opcional) | encabezados de solicitud `anthropic-beta` y `anthropic-version`, y el campo de cuerpo de solicitud `anthropic_version` |47| Google Cloud's Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` con `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (opcional) | encabezados de solicitud `anthropic-beta` y `anthropic-version`, y el campo de cuerpo de solicitud `anthropic_version` |


107La tabla siguiente compara los tres métodos de conexión, un comportamiento por fila. Omite Microsoft Foundry y Claude Platform en AWS, que también utilizan el formato de Anthropic Messages pero a los que Claude Code accede a través de sus propias variables. Para esos, consulte las páginas de [Microsoft Foundry](/docs/es/microsoft-foundry) y [Claude Platform en AWS](/docs/es/claude-platform-on-aws).107La tabla siguiente compara los tres métodos de conexión, un comportamiento por fila. Omite Microsoft Foundry y Claude Platform en AWS, que también utilizan el formato de Anthropic Messages pero a los que Claude Code accede a través de sus propias variables. Para esos, consulte las páginas de [Microsoft Foundry](/docs/es/microsoft-foundry) y [Claude Platform en AWS](/docs/es/claude-platform-on-aws).

108 108 

109| Comportamiento | Formato de Amazon Bedrock o Agent Platform | Formato de Anthropic Messages | Inicio de sesión en el gateway de aplicaciones Claude |109| Comportamiento | Formato de Amazon Bedrock o Agent Platform | Formato de Anthropic Messages | Inicio de sesión en el gateway de aplicaciones Claude |

110| :--------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- |110| :- | :- | :- | :- |

111| IDs de modelo en solicitudes de forma predeterminada | La forma del proveedor, como `us.anthropic.claude-opus-4-8` en Amazon Bedrock | IDs de Anthropic, como `claude-opus-4-8` | IDs de Anthropic |111| IDs de modelo en solicitudes de forma predeterminada | La forma del proveedor, como `us.anthropic.claude-opus-4-8` en Amazon Bedrock | IDs de Anthropic, como `claude-opus-4-8` | IDs de Anthropic |

112| Valores de `anthropic-beta` enviados | El subconjunto que Amazon Bedrock y Agent Platform aceptan | El conjunto completo descrito en [paso de características](#feature-pass-through), a menos que el desarrollador establezca [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | El subconjunto que Amazon Bedrock y Agent Platform aceptan |112| Valores de `anthropic-beta` enviados | El subconjunto que Amazon Bedrock y Agent Platform aceptan | El conjunto completo descrito en [paso de características](#feature-pass-through), a menos que el desarrollador establezca [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | El subconjunto que Amazon Bedrock y Agent Platform aceptan |

113| Campos de solicitud para un ID de modelo que Claude Code no reconoce, como un alias de gateway | Pensamiento con un presupuesto fijo en lugar de razonamiento adaptativo, y sin campos de gestión de esfuerzo o contexto | Todo lo que los modelos Claude actuales aceptan en la API de Claude, incluido el razonamiento adaptativo, el esfuerzo y la gestión del contexto, que un upstream de Amazon Bedrock o Agent Platform puede rechazar | Igual que el formato de Amazon Bedrock o Agent Platform |113| Campos de solicitud para un ID de modelo que Claude Code no reconoce, como un alias de gateway | Pensamiento con un presupuesto fijo en lugar de razonamiento adaptativo, y sin campos de gestión de esfuerzo o contexto | Todo lo que los modelos Claude actuales aceptan en la API de Claude, incluido el razonamiento adaptativo, el esfuerzo y la gestión del contexto, que un upstream de Amazon Bedrock o Agent Platform puede rechazar | Igual que el formato de Amazon Bedrock o Agent Platform |


132Claude Code incluye estos encabezados en solicitudes de API. Los nombres de encabezados no distinguen mayúsculas de minúsculas en la red. Reenvíe `anthropic-version` y `anthropic-beta` sin cambios, más `anthropic-workspace-id` cuando el proveedor ascendente es la [Claude Platform en AWS](/docs/es/claude-platform-on-aws); el resto la puerta de enlace puede consumir para enrutamiento, atribución y seguimiento, y no necesita reenviar.132Claude Code incluye estos encabezados en solicitudes de API. Los nombres de encabezados no distinguen mayúsculas de minúsculas en la red. Reenvíe `anthropic-version` y `anthropic-beta` sin cambios, más `anthropic-workspace-id` cuando el proveedor ascendente es la [Claude Platform en AWS](/docs/es/claude-platform-on-aws); el resto la puerta de enlace puede consumir para enrutamiento, atribución y seguimiento, y no necesita reenviar.

133 133 

134| Encabezado | Descripción |134| Encabezado | Descripción |

135| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |135| :- | :- |

136| `Authorization`, `x-api-key` | La credencial de puerta de enlace del desarrollador, en uno o ambos encabezados dependiendo de cuál [variable de credencial](/docs/es/llm-gateway-connect#set-the-credential-variable) establezcan |136| `Authorization`, `x-api-key` | La credencial de puerta de enlace del desarrollador, en uno o ambos encabezados dependiendo de cuál [variable de credencial](/docs/es/llm-gateway-connect#set-the-credential-variable) establezcan |

137| `anthropic-version` | Versión de API, actualmente `2023-06-01`. Las solicitudes con formato Amazon Bedrock y Agent Platform de Google Cloud también llevan el campo de cuerpo `anthropic_version`, cuyo valor es la cadena de dialecto del proveedor, no el valor de este encabezado |137| `anthropic-version` | Versión de API, actualmente `2023-06-01`. Las solicitudes con formato Amazon Bedrock y Agent Platform de Google Cloud también llevan el campo de cuerpo `anthropic_version`, cuyo valor es la cadena de dialecto del proveedor, no el valor de este encabezado |

138| `anthropic-beta` | Valores de capacidad separados por comas para la solicitud. Reenvíe el encabezado textualmente; no permita valores individuales, porque el conjunto cambia con las versiones de Claude Code. Cuando el desarrollador se autentica con un inicio de sesión de claude.ai, que es posible cuando `ANTHROPIC_BASE_URL` se establece sin una variable de credencial de puerta de enlace, este encabezado también lleva una capacidad OAuth que el proveedor ascendente requiere, y eliminarlo falla esas solicitudes con `401` |138| `anthropic-beta` | Valores de capacidad separados por comas para la solicitud. Reenvíe el encabezado textualmente; no permita valores individuales, porque el conjunto cambia con las versiones de Claude Code. Cuando el desarrollador se autentica con un inicio de sesión de claude.ai, que es posible cuando `ANTHROPIC_BASE_URL` se establece sin una variable de credencial de puerta de enlace, este encabezado también lleva una capacidad OAuth que el proveedor ascendente requiere, y eliminarlo falla esas solicitudes con `401` |


161Los encabezados llevan solo lo que las filas a continuación enumeran: vocabularios fijos, nombres de herramientas y duraciones, nunca texto de solicitud o contenidos de archivo. Cada valor es ASCII imprimible.161Los encabezados llevan solo lo que las filas a continuación enumeran: vocabularios fijos, nombres de herramientas y duraciones, nunca texto de solicitud o contenidos de archivo. Cada valor es ASCII imprimible.

162 162 

163| Encabezado | Descripción |163| Encabezado | Descripción |

164| :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |164| :- | :- |

165| `x-claude-code-request-class` | Qué tipo de solicitud es esta: `main` para un turno de la conversación principal, `subagent` para un turno de un [subagente](/docs/es/sub-agents), `workflow` para un agente ejecutándose dentro de un flujo de trabajo, `compaction` para la solicitud de resumen que compacta una conversación, o `auxiliary` para solicitudes secundarias como títulos de sesión, clasificadores y resúmenes. Enviado en cada solicitud |165| `x-claude-code-request-class` | Qué tipo de solicitud es esta: `main` para un turno de la conversación principal, `subagent` para un turno de un [subagente](/docs/es/sub-agents), `workflow` para un agente ejecutándose dentro de un flujo de trabajo, `compaction` para la solicitud de resumen que compacta una conversación, o `auxiliary` para solicitudes secundarias como títulos de sesión, clasificadores y resúmenes. Enviado en cada solicitud |

166| `x-claude-code-agent-type` | El tipo de subagente que emitió la solicitud: un nombre de tipo de agente integrado como `Explore`, `Plan` o `general-purpose`, o `custom` para un agente definido por el usuario, `teammate` para un miembro del [equipo de agentes](/docs/es/agent-teams) ejecutándose en el proceso del líder, o `fork` para un [fork](/docs/es/sub-agents#fork-the-current-conversation). Presente solo en los turnos propios de un subagente; la compactación o solicitudes secundarias de un subagente mantienen el ID del agente pero no llevan tipo. Un nombre de agente elegido por el usuario nunca se envía |166| `x-claude-code-agent-type` | El tipo de subagente que emitió la solicitud: un nombre de tipo de agente integrado como `Explore`, `Plan` o `general-purpose`, o `custom` para un agente definido por el usuario, `teammate` para un miembro del [equipo de agentes](/docs/es/agent-teams) ejecutándose en el proceso del líder, o `fork` para un [fork](/docs/es/sub-agents#fork-the-current-conversation). Presente solo en los turnos propios de un subagente; la compactación o solicitudes secundarias de un subagente mantienen el ID del agente pero no llevan tipo. Un nombre de agente elegido por el usuario nunca se envía |

167| `x-claude-code-compaction` | Presente en la solicitud que resume la conversación durante una [compactación](/docs/es/prompt-caching#compacting-the-conversation). El valor dice qué la activó: `auto` cuando la ventana de contexto se acercaba a la capacidad, `manual` para `/compact`, o `reactive` cuando la API rechazó una solicitud como demasiado larga. Ausente en todas las otras solicitudes |167| `x-claude-code-compaction` | Presente en la solicitud que resume la conversación durante una [compactación](/docs/es/prompt-caching#compacting-the-conversation). El valor dice qué la activó: `auto` cuando la ventana de contexto se acercaba a la capacidad, `manual` para `/compact`, o `reactive` cuando la API rechazó una solicitud como demasiado larga. Ausente en todas las otras solicitudes |


194Claude Code lee estos encabezados de respuesta para detectar flujos estancados, para decidir si y cuándo reintentar, y para mostrar límites de uso. La tabla enumera qué devolver para cada uno. También reenvíe los cuerpos de respuesta de error sin modificar, para que la [recuperación de rechazo de capacidad](#automatic-retry-and-error-forwarding) de Claude Code pueda coincidir con la redacción del error ascendente.194Claude Code lee estos encabezados de respuesta para detectar flujos estancados, para decidir si y cuándo reintentar, y para mostrar límites de uso. La tabla enumera qué devolver para cada uno. También reenvíe los cuerpos de respuesta de error sin modificar, para que la [recuperación de rechazo de capacidad](#automatic-retry-and-error-forwarding) de Claude Code pueda coincidir con la redacción del error ascendente.

195 195 

196| Encabezado | Qué devolver y por qué |196| Encabezado | Qué devolver y por qué |

197| :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |197| :- | :- |

198| `content-type` | Devuelva `text/event-stream` en respuestas de formato Anthropic Messages transmitidas, y `application/vnd.amazon.eventstream`, sin modificar, en respuestas de formato Amazon Bedrock, donde [un tipo diferente falla la solicitud](/docs/es/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). [Streaming](#streaming) enumera qué conexiones ejecutan detección de estancamiento en estos flujos |198| `content-type` | Devuelva `text/event-stream` en respuestas de formato Anthropic Messages transmitidas, y `application/vnd.amazon.eventstream`, sin modificar, en respuestas de formato Amazon Bedrock, donde [un tipo diferente falla la solicitud](/docs/es/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). [Streaming](#streaming) enumera qué conexiones ejecutan detección de estancamiento en estos flujos |

199| `retry-after` | Devuelva segundos enteros en lugar de una fecha HTTP. Claude Code espera al menos ese tiempo antes del siguiente [reintento automático](/docs/es/errors#automatic-retries), y fuera de sesiones [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/es/env-vars) un valor superior a 60 detiene los reintentos y muestra el error de inmediato |199| `retry-after` | Devuelva segundos enteros en lugar de una fecha HTTP. Claude Code espera al menos ese tiempo antes del siguiente [reintento automático](/docs/es/errors#automatic-retries), y fuera de sesiones [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/es/env-vars) un valor superior a 60 detiene los reintentos y muestra el error de inmediato |

200| `x-should-retry` | Pase el valor ascendente sin cambios. Claude Code lee este encabezado como una entrada cuando decide si reintentar una solicitud fallida: `true` marca la respuesta como reintentable y `false` la marca como no reintentable. Para recuentos de reintentos, retroceso y qué fallos reintenta Claude Code, consulte [reintentos automáticos](/docs/es/errors#automatic-retries) |200| `x-should-retry` | Pase el valor ascendente sin cambios. Claude Code lee este encabezado como una entrada cuando decide si reintentar una solicitud fallida: `true` marca la respuesta como reintentable y `false` la marca como no reintentable. Para recuentos de reintentos, retroceso y qué fallos reintenta Claude Code, consulte [reintentos automáticos](/docs/es/errors#automatic-retries) |


235La transmisión de herramientas de grano fino es uno de los valores predeterminados de conexión directa: está desactivada de forma predeterminada siempre que las solicitudes se enruten a través de una URL base personalizada, y una puerta de enlace la recibe cuando los desarrolladores establecen [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/docs/es/env-vars).235La transmisión de herramientas de grano fino es uno de los valores predeterminados de conexión directa: está desactivada de forma predeterminada siempre que las solicitudes se enruten a través de una URL base personalizada, y una puerta de enlace la recibe cuando los desarrolladores establecen [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/docs/es/env-vars).

236 236 

237| Característica | Encabezado y par de cuerpo | Síntoma cuando se rompe | Remediación |237| Característica | Encabezado y par de cuerpo | Síntoma cuando se rompe | Remediación |

238| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------- |238| :- | :- | :- | :- |

239| [Razonamiento adaptativo](/docs/es/model-config#adjust-effort-level) | Sin encabezado beta. Claude Code envía `thinking: {"type": "adaptive"}` para Claude 4.6 y posterior, y trata nombres de modelo que no reconoce, como alias de puerta de enlace, como modelos actuales que reciben el campo | `400` nombrando el campo `thinking` o la etiqueta `adaptive` cuando la compilación del modelo ascendente no la acepta | Actualice el proveedor ascendente. En Opus 4.6 y Sonnet 4.6, los desarrolladores pueden establecer `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` en su lugar |239| [Razonamiento adaptativo](/docs/es/model-config#adjust-effort-level) | Sin encabezado beta. Claude Code envía `thinking: {"type": "adaptive"}` para Claude 4.6 y posterior, y trata nombres de modelo que no reconoce, como alias de puerta de enlace, como modelos actuales que reciben el campo | `400` nombrando el campo `thinking` o la etiqueta `adaptive` cuando la compilación del modelo ascendente no la acepta | Actualice el proveedor ascendente. En Opus 4.6 y Sonnet 4.6, los desarrolladores pueden establecer `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` en su lugar |

240| [Gestión de contexto](https://platform.claude.com/docs/en/build-with-claude/context-editing) | El encabezado beta de gestión de contexto se empareja con el campo de cuerpo `context_management` | `400` con `Extra inputs are not permitted`. Común cuando una puerta de enlace acepta solicitudes con formato Anthropic pero las reenvía a Amazon Bedrock | Reenvíe ambos, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/es/env-vars) |240| [Gestión de contexto](https://platform.claude.com/docs/en/build-with-claude/context-editing) | El encabezado beta de gestión de contexto se empareja con el campo de cuerpo `context_management` | `400` con `Extra inputs are not permitted`. Común cuando una puerta de enlace acepta solicitudes con formato Anthropic pero las reenvía a Amazon Bedrock | Reenvíe ambos, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/es/env-vars) |

241| [Contexto extendido](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) y [pensamiento intercalado](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Solo encabezados beta, sin campo de cuerpo | Silenciosamente no disponible cuando se elimina el encabezado; el proveedor ascendente nunca ve la solicitud de capacidad | Reenvíe `anthropic-beta` textualmente |241| [Contexto extendido](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) y [pensamiento intercalado](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Solo encabezados beta, sin campo de cuerpo | Silenciosamente no disponible cuando se elimina el encabezado; el proveedor ascendente nunca ve la solicitud de capacidad | Reenvíe `anthropic-beta` textualmente |

Details

56Los pasos implican tres credenciales diferentes, y los puntos de control las nombran por marcador de posición para que pueda saber cuál es la culpable cuando algo falla:56Los pasos implican tres credenciales diferentes, y los puntos de control las nombran por marcador de posición para que pueda saber cuál es la culpable cuando algo falla:

57 57 

58| Credencial | Quién la tiene | Marcador de posición en puntos de control |58| Credencial | Quién la tiene | Marcador de posición en puntos de control |

59| :-------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------- |59| :- | :- | :- |

60| Credencial de proveedor | La puerta de enlace, que la reenvía al proveedor ascendente | Configurada en la puerta de enlace; nunca aparece en comandos de cliente |60| Credencial de proveedor | La puerta de enlace, que la reenvía al proveedor ascendente | Configurada en la puerta de enlace; nunca aparece en comandos de cliente |

61| Credencial administrativa de puerta de enlace | Usted, si su producto de puerta de enlace emite una para su interfaz de administrador o prueba | `<gateway-key>` |61| Credencial administrativa de puerta de enlace | Usted, si su producto de puerta de enlace emite una para su interfaz de administrador o prueba | `<gateway-key>` |

62| Clave de desarrollador | Cada desarrollador, emitida por la puerta de enlace en [Emitir credenciales de desarrollador](#issue-developer-credentials) | `<developer-key>` |62| Clave de desarrollador | Cada desarrollador, emitida por la puerta de enlace en [Emitir credenciales de desarrollador](#issue-developer-credentials) | `<developer-key>` |


180El mismo conjunto de variables se aplica cualquiera que sea el camino que elija. La mayoría de implementaciones solo necesitan `ANTHROPIC_BASE_URL` y una credencial; incluya las filas condicionales cuando su configuración de puerta de enlace lo requiera.180El mismo conjunto de variables se aplica cualquiera que sea el camino que elija. La mayoría de implementaciones solo necesitan `ANTHROPIC_BASE_URL` y una credencial; incluya las filas condicionales cuando su configuración de puerta de enlace lo requiera.

181 181 

182| Variable o configuración | Qué hace | Incluir cuando |182| Variable o configuración | Qué hace | Incluir cuando |

183| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |183| :- | :- | :- |

184| `ANTHROPIC_BASE_URL` | Envía las solicitudes de API de Claude Code a la puerta de enlace en lugar de `api.anthropic.com` | Siempre |184| `ANTHROPIC_BASE_URL` | Envía las solicitudes de API de Claude Code a la puerta de enlace en lugar de `api.anthropic.com` | Siempre |

185| `apiKeyHelper`, o una credencial en `ANTHROPIC_AUTH_TOKEN` o `ANTHROPIC_API_KEY` | Autentica cada solicitud a la puerta de enlace. El ayudante ejecuta un comando para obtener la clave; las variables contienen una clave estática, enviada como `Authorization: Bearer` y `x-api-key` respectivamente | Siempre; uno de los tres |185| `apiKeyHelper`, o una credencial en `ANTHROPIC_AUTH_TOKEN` o `ANTHROPIC_API_KEY` | Autentica cada solicitud a la puerta de enlace. El ayudante ejecuta un comando para obtener la clave; las variables contienen una clave estática, enviada como `Authorization: Bearer` y `x-api-key` respectivamente | Siempre; uno de los tres |

186| `ANTHROPIC_CUSTOM_HEADERS` | Añade encabezados HTTP adicionales a cada solicitud de API | Su puerta de enlace requiere un encabezado de inquilino o enrutamiento en cada solicitud |186| `ANTHROPIC_CUSTOM_HEADERS` | Añade encabezados HTTP adicionales a cada solicitud de API | Su puerta de enlace requiere un encabezado de inquilino o enrutamiento en cada solicitud |


283Después de la implementación, tres tipos de cambios llegan a la puerta de enlace con el tiempo. Cada uno tiene un síntoma a vigilar y una acción a tomar.283Después de la implementación, tres tipos de cambios llegan a la puerta de enlace con el tiempo. Cada uno tiene un síntoma a vigilar y una acción a tomar.

284 284 

285| Cambio | Síntoma cuando la puerta de enlace no se ha puesto al día | Acción |285| Cambio | Síntoma cuando la puerta de enlace no se ha puesto al día | Acción |

286| :----------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |286| :- | :- | :- |

287| Los nuevos lanzamientos de Claude Code añaden valores `anthropic-beta` y campos de cuerpo de solicitud | Los desarrolladores reportan errores `400` que nombran un nuevo campo después de actualizar Claude Code; consulte [paso de características](/docs/es/llm-gateway-protocol#feature-pass-through) | Reenvíe encabezados `anthropic-*` y cuerpos de solicitud textualmente en lugar de permitir listas; pruebe nuevos lanzamientos de Claude Code contra la puerta de enlace antes de que lleguen a los desarrolladores, comprobando las áreas en [Planificar actualizaciones de versión de Claude Code](#plan-claude-code-version-upgrades) |287| Los nuevos lanzamientos de Claude Code añaden valores `anthropic-beta` y campos de cuerpo de solicitud | Los desarrolladores reportan errores `400` que nombran un nuevo campo después de actualizar Claude Code; consulte [paso de características](/docs/es/llm-gateway-protocol#feature-pass-through) | Reenvíe encabezados `anthropic-*` y cuerpos de solicitud textualmente en lugar de permitir listas; pruebe nuevos lanzamientos de Claude Code contra la puerta de enlace antes de que lleguen a los desarrolladores, comprobando las áreas en [Planificar actualizaciones de versión de Claude Code](#plan-claude-code-version-upgrades) |

288| Nuevos modelos Claude se vuelven disponibles | Los desarrolladores que seleccionan un nuevo nombre de modelo obtienen `404`; el selector `/model` no lo lista | Añada el nombre del modelo a la configuración de enrutamiento de la puerta de enlace, luego vuelva a ejecutar la [verificación de enrutamiento](#confirm-the-gateway-routes-your-models). Si distribuye `ANTHROPIC_MODEL` o las variables de modelo predeterminado, actualice la configuración administrada |288| Nuevos modelos Claude se vuelven disponibles | Los desarrolladores que seleccionan un nuevo nombre de modelo obtienen `404`; el selector `/model` no lo lista | Añada el nombre del modelo a la configuración de enrutamiento de la puerta de enlace, luego vuelva a ejecutar la [verificación de enrutamiento](#confirm-the-gateway-routes-your-models). Si distribuye `ANTHROPIC_MODEL` o las variables de modelo predeterminado, actualice la configuración administrada |

289| Las credenciales expiran o necesitan rotación | Todas las solicitudes de desarrollador comienzan a fallar con `401` del ascendente | Rote la credencial de proveedor de la puerta de enlace en su propio cronograma; las claves de desarrollador rotan en la puerta de enlace, y un [`apiKeyHelper`](/docs/es/llm-gateway-connect#rotate-credentials-with-apikeyhelper) maneja la rotación por desarrollador sin redistribuir configuración |289| Las credenciales expiran o necesitan rotación | Todas las solicitudes de desarrollador comienzan a fallar con `401` del ascendente | Rote la credencial de proveedor de la puerta de enlace en su propio cronograma; las claves de desarrollador rotan en la puerta de enlace, y un [`apiKeyHelper`](/docs/es/llm-gateway-connect#rotate-credentials-with-apikeyhelper) maneja la rotación por desarrollador sin redistribuir configuración |


299Cuando prueba un lanzamiento, los nuevos encabezados o campos de solicitud que la puerta de enlace rechaza aparecen como los errores `400` descritos en [Mantener la puerta de enlace](#maintain-the-gateway). La tabla siguiente cubre cambios dependientes de la versión que no producen un error, con la configuración que mantiene cada uno constante en las actualizaciones.299Cuando prueba un lanzamiento, los nuevos encabezados o campos de solicitud que la puerta de enlace rechaza aparecen como los errores `400` descritos en [Mantener la puerta de enlace](#maintain-the-gateway). La tabla siguiente cubre cambios dependientes de la versión que no producen un error, con la configuración que mantiene cada uno constante en las actualizaciones.

300 300 

301| Área | Qué puede cambiar cuando los desarrolladores actualizan | Configuración que lo mantiene constante |301| Área | Qué puede cambiar cuando los desarrolladores actualizan | Configuración que lo mantiene constante |

302| :-------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |302| :- | :- | :- |

303| Valores predeterminados de indicadores de características | Las sesiones que [no obtienen indicadores de características de Anthropic](/docs/es/env-vars#features-that-need-feature-flag-fetching), como sesiones en un proveedor de nube o con telemetría desactivada, utilizan los valores predeterminados de indicadores integrados en la versión instalada. Cuando un lanzamiento cambia uno de esos valores predeterminados, el comportamiento cambia para esos desarrolladores tan pronto como actualicen | La fijación de versión en sí, `requiredMaximumVersion` o `DISABLE_UPDATES` |303| Valores predeterminados de indicadores de características | Las sesiones que [no obtienen indicadores de características de Anthropic](/docs/es/env-vars#features-that-need-feature-flag-fetching), como sesiones en un proveedor de nube o con telemetría desactivada, utilizan los valores predeterminados de indicadores integrados en la versión instalada. Cuando un lanzamiento cambia uno de esos valores predeterminados, el comportamiento cambia para esos desarrolladores tan pronto como actualicen | La fijación de versión en sí, `requiredMaximumVersion` o `DISABLE_UPDATES` |

304| Suposiciones de capacidad del modelo | Un ID de modelo que la versión instalada no reconoce, como el alias de puerta de enlace `prod-opus`, se ejecuta en suposiciones predeterminadas para [razonamiento adaptativo](/docs/es/model-config#adaptive-reasoning-and-fixed-thinking-budgets), el parámetro de esfuerzo y la [ventana de contexto](/docs/es/model-config#correct-the-window-for-a-gateway-or-custom-model-id) hasta que una versión posterior reconoce el ID o lo asigna | Enrute IDs de modelo de Anthropic en la puerta de enlace, o añada una entrada [`modelOverrides`](/docs/es/model-config#override-model-ids-per-version) que asigne el ID de modelo de Anthropic a su alias. En una conexión de proveedor de nube, puede en su lugar [declarar las capacidades de un modelo fijado](/docs/es/model-config#customize-pinned-model-display-and-capabilities) |304| Suposiciones de capacidad del modelo | Un ID de modelo que la versión instalada no reconoce, como el alias de puerta de enlace `prod-opus`, se ejecuta en suposiciones predeterminadas para [razonamiento adaptativo](/docs/es/model-config#adaptive-reasoning-and-fixed-thinking-budgets), el parámetro de esfuerzo y la [ventana de contexto](/docs/es/model-config#correct-the-window-for-a-gateway-or-custom-model-id) hasta que una versión posterior reconoce el ID o lo asigna | Enrute IDs de modelo de Anthropic en la puerta de enlace, o añada una entrada [`modelOverrides`](/docs/es/model-config#override-model-ids-per-version) que asigne el ID de modelo de Anthropic a su alias. En una conexión de proveedor de nube, puede en su lugar [declarar las capacidades de un modelo fijado](/docs/es/model-config#customize-pinned-model-display-and-capabilities) |

305| Modelo predeterminado y alias | El modelo en el que las nuevas sesiones comienzan de forma predeterminada, y los modelos que alias como `opus` y `sonnet` resuelven, están [integrados en cada versión](/docs/es/model-config#pin-models-for-third-party-deployments) y pueden cambiar cuando los desarrolladores actualizan | [`ANTHROPIC_DEFAULT_MODEL`](/docs/es/model-config#set-a-default-model-for-new-sessions) para el modelo en el que las nuevas sesiones comienzan, y las [variables `ANTHROPIC_DEFAULT_*_MODEL`](/docs/es/model-config#environment-variables), como `ANTHROPIC_DEFAULT_OPUS_MODEL`, para lo que cada alias resuelve. `ANTHROPIC_DEFAULT_MODEL` requiere Claude Code v2.1.236 o posterior |305| Modelo predeterminado y alias | El modelo en el que las nuevas sesiones comienzan de forma predeterminada, y los modelos que alias como `opus` y `sonnet` resuelven, están [integrados en cada versión](/docs/es/model-config#pin-models-for-third-party-deployments) y pueden cambiar cuando los desarrolladores actualizan | [`ANTHROPIC_DEFAULT_MODEL`](/docs/es/model-config#set-a-default-model-for-new-sessions) para el modelo en el que las nuevas sesiones comienzan, y las [variables `ANTHROPIC_DEFAULT_*_MODEL`](/docs/es/model-config#environment-variables), como `ANTHROPIC_DEFAULT_OPUS_MODEL`, para lo que cada alias resuelve. `ANTHROPIC_DEFAULT_MODEL` requiere Claude Code v2.1.236 o posterior |

managed-mcp.md +14 −14

Details

30Claude Code admite una variedad de niveles de restricción. Cada patrón utiliza uno o más de los mecanismos cubiertos a continuación: `managed-mcp.json` para implementar un conjunto fijo, la configuración administrada `managedMcpServers` para proporcionar servidores junto con los que agregan los usuarios, y `allowedMcpServers`/`deniedMcpServers` para filtrar lo que los usuarios configuran.30Claude Code admite una variedad de niveles de restricción. Cada patrón utiliza uno o más de los mecanismos cubiertos a continuación: `managed-mcp.json` para implementar un conjunto fijo, la configuración administrada `managedMcpServers` para proporcionar servidores junto con los que agregan los usuarios, y `allowedMcpServers`/`deniedMcpServers` para filtrar lo que los usuarios configuran.

31 31 

32| Patrón | Qué hace | Configurar |32| Patrón | Qué hace | Configurar |

33| :----------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------ |33| :- | :- | :- |

34| **Deshabilitar MCP** | No se cargan servidores, aparte de [servidores en proceso que la aplicación que inició la sesión registra](#exclusive-control-with-managed-mcp-json) y cualquiera que [proporcione a través de `managedMcpServers`](#provide-servers-through-managed-settings) | `managed-mcp.json` con un mapa de servidores vacío |34| **Deshabilitar MCP** | No se cargan servidores, aparte de [servidores en proceso que la aplicación que inició la sesión registra](#exclusive-control-with-managed-mcp-json) y cualquiera que [proporcione a través de `managedMcpServers`](#provide-servers-through-managed-settings) | `managed-mcp.json` con un mapa de servidores vacío |

35| **Implementación fija** | Cada usuario obtiene los mismos servidores y no puede agregar otros | `managed-mcp.json` con los servidores que desea |35| **Implementación fija** | Cada usuario obtiene los mismos servidores y no puede agregar otros | `managed-mcp.json` con los servidores que desea |

36| **Servidores proporcionados** | Cada usuario obtiene los servidores remotos que enumera y mantiene los suyos propios | `managedMcpServers` en configuración administrada |36| **Servidores proporcionados** | Cada usuario obtiene los servidores remotos que enumera y mantiene los suyos propios | `managedMcpServers` en configuración administrada |


65Cualquier proceso que pueda escribir en una ruta del sistema con privilegios de administrador puede implementar el archivo. En toda una flota, eso suele ser a través de herramientas de administración de dispositivos, como Jamf o un perfil de configuración en macOS, Directiva de grupo o Intune en Windows, o su administración de flota preferida en Linux. Claude Code busca el archivo en una de estas rutas:65Cualquier proceso que pueda escribir en una ruta del sistema con privilegios de administrador puede implementar el archivo. En toda una flota, eso suele ser a través de herramientas de administración de dispositivos, como Jamf o un perfil de configuración en macOS, Directiva de grupo o Intune en Windows, o su administración de flota preferida en Linux. Claude Code busca el archivo en una de estas rutas:

66 66 

67| Plataforma | Ruta |67| Plataforma | Ruta |

68| :---------- | :--------------------------------------------------------- |68| :- | :- |

69| macOS | `/Library/Application Support/ClaudeCode/managed-mcp.json` |69| macOS | `/Library/Application Support/ClaudeCode/managed-mcp.json` |

70| Linux y WSL | `/etc/claude-code/managed-mcp.json` |70| Linux y WSL | `/etc/claude-code/managed-mcp.json` |

71| Windows | `C:\Program Files\ClaudeCode\managed-mcp.json` |71| Windows | `C:\Program Files\ClaudeCode\managed-mcp.json` |


294`allowedMcpServers` y `deniedMcpServers` son listas de entradas. Cada entrada es un objeto con una única clave que identifica servidores por su URL, su comando o su nombre:294`allowedMcpServers` y `deniedMcpServers` son listas de entradas. Cada entrada es un objeto con una única clave que identifica servidores por su URL, su comando o su nombre:

295 295 

296| Clave | Coincide con | Usar para |296| Clave | Coincide con | Usar para |

297| :-------------- | :------------------------------------------------------------------------------------------ | :----------------------------------------------------- |297| :- | :- | :- |

298| `serverUrl` | Una URL de servidor remoto, exacta o con comodines `*` | Servidores HTTP y SSE |298| `serverUrl` | Una URL de servidor remoto, exacta o con comodines `*` | Servidores HTTP y SSE |

299| `serverCommand` | El comando exacto y los argumentos que inician un servidor stdio | Servidores stdio |299| `serverCommand` | El comando exacto y los argumentos que inician un servidor stdio | Servidores stdio |

300| `serverName` | La etiqueta asignada por el usuario. Solo coincidencia exacta; los comodines no se expanden | Cualquier tipo, pero vea la Advertencia a continuación |300| `serverName` | La etiqueta asignada por el usuario. Solo coincidencia exacta; los comodines no se expanden | Cualquier tipo, pero vea la Advertencia a continuación |


302Dejar `allowedMcpServers` sin establecer es diferente a establecerlo en una matriz vacía:302Dejar `allowedMcpServers` sin establecer es diferente a establecerlo en una matriz vacía:

303 303 

304| Configuración | Sin establecer (predeterminado) | Matriz vacía `[]` | Poblada |304| Configuración | Sin establecer (predeterminado) | Matriz vacía `[]` | Poblada |

305| :------------------ | :------------------------------- | :---------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |305| :- | :- | :- | :- |

306| `allowedMcpServers` | Se permiten todos los servidores | No se permite ningún servidor, aparte de [los propios de la organización](#how-a-server-is-evaluated) | Solo se permiten servidores coincidentes, aparte de [los propios de la organización](#how-a-server-is-evaluated) |306| `allowedMcpServers` | Se permiten todos los servidores | No se permite ningún servidor, aparte de [los propios de la organización](#how-a-server-is-evaluated) | Solo se permiten servidores coincidentes, aparte de [los propios de la organización](#how-a-server-is-evaluated) |

307| `deniedMcpServers` | No se bloquea ningún servidor | No se bloquea ningún servidor | Se bloquean servidores coincidentes |307| `deniedMcpServers` | No se bloquea ningún servidor | No se bloquea ningún servidor | Se bloquean servidores coincidentes |

308 308 


334 Un servidor `managed-mcp.json` que usa expansión `${VAR}` en su comando, argumentos, `env`, URL o encabezados aún se verifica, al igual que cada servidor que un usuario, un plugin, `--mcp-config` o claude.ai añade.334 Un servidor `managed-mcp.json` que usa expansión `${VAR}` en su comando, argumentos, `env`, URL o encabezados aún se verifica, al igual que cada servidor que un usuario, un plugin, `--mcp-config` o claude.ai añade.

335 335 

336| Tipo de servidor | Se permite cuando coincide |336| Tipo de servidor | Se permite cuando coincide |

337| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------- |337| :- | :- |

338| Remoto (HTTP o SSE) | Una entrada `serverUrl`. Una coincidencia `serverName` cuenta solo cuando la lista de permitidos no contiene entradas `serverUrl` |338| Remoto (HTTP o SSE) | Una entrada `serverUrl`. Una coincidencia `serverName` cuenta solo cuando la lista de permitidos no contiene entradas `serverUrl` |

339| Stdio | Una entrada `serverCommand`. Una coincidencia `serverName` cuenta solo cuando la lista de permitidos no contiene entradas `serverCommand` |339| Stdio | Una entrada `serverCommand`. Una coincidencia `serverName` cuenta solo cuando la lista de permitidos no contiene entradas `serverCommand` |

340 340 


345* **Las URLs admiten comodines `*`** en cualquier lugar del patrón, incluido el esquema. La coincidencia de nombre de host no distingue mayúsculas de minúsculas e ignora un punto FQDN final, por lo que `https://Mcp.Example.com/*` coincide con `https://mcp.example.com/api`. Las rutas permanecen sensibles a mayúsculas y minúsculas.345* **Las URLs admiten comodines `*`** en cualquier lugar del patrón, incluido el esquema. La coincidencia de nombre de host no distingue mayúsculas de minúsculas e ignora un punto FQDN final, por lo que `https://Mcp.Example.com/*` coincide con `https://mcp.example.com/api`. Las rutas permanecen sensibles a mayúsculas y minúsculas.

346 346 

347| Patrón | Permite |347| Patrón | Permite |

348| :-------------------------- | :------------------------------------------------------------------------------------- |348| :- | :- |

349| `https://mcp.example.com/*` | Todas las rutas en un dominio específico |349| `https://mcp.example.com/*` | Todas las rutas en un dominio específico |

350| `https://mcp.example.com` | También todas las rutas en ese dominio. Un patrón sin ruta coincide con cualquier ruta |350| `https://mcp.example.com` | También todas las rutas en ese dominio. Un patrón sin ruta coincide con cualquier ruta |

351| `https://*.example.com/*` | Cualquier subdominio de `example.com` |351| `https://*.example.com/*` | Cualquier subdominio de `example.com` |


359El valor configurado del servidor se expande desde el entorno de proceso activo, como el resto de `.mcp.json`. Una entrada de política se expande desde un entorno fijado en su lugar, por lo que una variable establecida por un proyecto o archivo de configuración de usuario no puede cambiar lo que significa una entrada de lista de permitidos. Debido a que una entrada de política aún depende del valor de la shell de inicio para cualquier variable a la que haga referencia, use URLs y comandos literales para entradas en las que confía para la aplicación.359El valor configurado del servidor se expande desde el entorno de proceso activo, como el resto de `.mcp.json`. Una entrada de política se expande desde un entorno fijado en su lugar, por lo que una variable establecida por un proyecto o archivo de configuración de usuario no puede cambiar lo que significa una entrada de lista de permitidos. Debido a que una entrada de política aún depende del valor de la shell de inicio para cualquier variable a la que haga referencia, use URLs y comandos literales para entradas en las que confía para la aplicación.

360 360 

361| Lista de entradas | Se expande desde | Expansión que cambiaría el esquema, host o ámbito de ruta de una entrada de URL |361| Lista de entradas | Se expande desde | Expansión que cambiaría el esquema, host o ámbito de ruta de una entrada de URL |

362| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |362| - | - | - |

363| `allowedMcpServers` | El entorno desde el que Claude Code se inició, más valores `env` de configuración administrada | Claude Code ignora la entrada |363| `allowedMcpServers` | El entorno desde el que Claude Code se inició, más valores `env` de configuración administrada | Claude Code ignora la entrada |

364| `deniedMcpServers` | Lo mismo, y una variable sin valor de inicio y sin `:-default` se rellena desde archivos de configuración fuera del repositorio, como configuración de usuario o administrada, que solo amplía lo que la entrada coincide | La entrada aún coincide |364| `deniedMcpServers` | Lo mismo, y una variable sin valor de inicio y sin `:-default` se rellena desde archivos de configuración fuera del repositorio, como configuración de usuario o administrada, que solo amplía lo que la entrada coincide | La entrada aún coincide |

365 365 


408 ```408 ```

409 409 

410 | Servidor | Resultado |410 | Servidor | Resultado |

411 | :------------------------------------------------------ | :--------------------------------------------------------- |411 | :- | :- |

412 | Servidor HTTP en `https://mcp.example.com/api` | Permitido: coincide con patrón de URL |412 | Servidor HTTP en `https://mcp.example.com/api` | Permitido: coincide con patrón de URL |

413 | Servidor HTTP en `https://api.internal.example.com/mcp` | Permitido: coincide con subdominio comodín |413 | Servidor HTTP en `https://api.internal.example.com/mcp` | Permitido: coincide con subdominio comodín |

414 | Servidor HTTP en `https://external.example.com/mcp` | Bloqueado: no coincide con ningún patrón de URL |414 | Servidor HTTP en `https://external.example.com/mcp` | Bloqueado: no coincide con ningún patrón de URL |


425 ```425 ```

426 426 

427 | Servidor | Resultado |427 | Servidor | Resultado |

428 | :----------------------------------------------------- | :----------------------------------------------- |428 | :- | :- |

429 | Servidor stdio con `["npx", "-y", "approved-package"]` | Permitido: coincide con comando |429 | Servidor stdio con `["npx", "-y", "approved-package"]` | Permitido: coincide con comando |

430 | Servidor stdio con `["node", "server.js"]` | Bloqueado: no coincide con comando |430 | Servidor stdio con `["node", "server.js"]` | Bloqueado: no coincide con comando |

431 | Servidor HTTP llamado `my-api` | Bloqueado: sin entradas de nombre para coincidir |431 | Servidor HTTP llamado `my-api` | Bloqueado: sin entradas de nombre para coincidir |


442 ```442 ```

443 443 

444 | Servidor | Resultado |444 | Servidor | Resultado |

445 | :-------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------- |445 | :- | :- |

446 | Servidor stdio llamado `local-tool` con `["npx", "-y", "approved-package"]` | Permitido: coincide con comando |446 | Servidor stdio llamado `local-tool` con `["npx", "-y", "approved-package"]` | Permitido: coincide con comando |

447 | Servidor stdio llamado `local-tool` con `["node", "server.js"]` | Bloqueado: existen entradas de comando pero no coincide |447 | Servidor stdio llamado `local-tool` con `["node", "server.js"]` | Bloqueado: existen entradas de comando pero no coincide |

448 | Servidor stdio llamado `github` con `["node", "server.js"]` | Bloqueado: los servidores stdio deben coincidir con comandos cuando existen entradas de comando |448 | Servidor stdio llamado `github` con `["node", "server.js"]` | Bloqueado: los servidores stdio deben coincidir con comandos cuando existen entradas de comando |


461 ```461 ```

462 462 

463 | Servidor | Resultado |463 | Servidor | Resultado |

464 | :----------------------------------------------------------- | :-------------------------------------- |464 | :- | :- |

465 | Servidor stdio llamado `github` con cualquier comando | Permitido: sin restricciones de comando |465 | Servidor stdio llamado `github` con cualquier comando | Permitido: sin restricciones de comando |

466 | Servidor stdio llamado `internal-tool` con cualquier comando | Permitido: sin restricciones de comando |466 | Servidor stdio llamado `internal-tool` con cualquier comando | Permitido: sin restricciones de comando |

467 | Servidor HTTP llamado `github` | Permitido: coincide con nombre |467 | Servidor HTTP llamado `github` | Permitido: coincide con nombre |


481 ```481 ```

482 482 

483 | Servidor | Resultado |483 | Servidor | Resultado |

484 | :------------------------------------------------- | :---------------------------------------------------------------------------------------------------- |484 | :- | :- |

485 | Servidor HTTP en `https://mcp.example.com/api` | Permitido: coincide con patrón de URL de lista de permitidos, sin coincidencia de lista de bloqueados |485 | Servidor HTTP en `https://mcp.example.com/api` | Permitido: coincide con patrón de URL de lista de permitidos, sin coincidencia de lista de bloqueados |

486 | Servidor HTTP en `https://staging.example.com/api` | Bloqueado: coincide con ambos, pero la lista de bloqueados tiene prioridad |486 | Servidor HTTP en `https://staging.example.com/api` | Bloqueado: coincide con ambos, pero la lista de bloqueados tiene prioridad |

487 | Servidor HTTP en `https://other.com/mcp` | Bloqueado: no coincide con la lista de permitidos |487 | Servidor HTTP en `https://other.com/mcp` | Bloqueado: no coincide con la lista de permitidos |


512Para ver lo que los usuarios ven al iniciar cuando se implementa `managed-mcp.json` y la sesión también tiene servidores `--mcp-config`, consulte [Control exclusivo con managed-mcp.json](#exclusive-control-with-managed-mcp-json). Utilice esta tabla para reconocer los otros informes y para indicar a los usuarios qué esperar antes de implementar un cambio:512Para ver lo que los usuarios ven al iniciar cuando se implementa `managed-mcp.json` y la sesión también tiene servidores `--mcp-config`, consulte [Control exclusivo con managed-mcp.json](#exclusive-control-with-managed-mcp-json). Utilice esta tabla para reconocer los otros informes y para indicar a los usuarios qué esperar antes de implementar un cambio:

513 513 

514| Restricción | Lo que ve el usuario |514| Restricción | Lo que ve el usuario |

515| :-------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |515| :- | :- |

516| `managed-mcp.json` está presente y el usuario ejecuta `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |516| `managed-mcp.json` está presente y el usuario ejecuta `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |

517| El servidor está en una lista de bloqueo y el usuario ejecuta `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |517| El servidor está en una lista de bloqueo y el usuario ejecuta `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

518| El servidor no está en la lista de permitidos y el usuario ejecuta `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |518| El servidor no está en la lista de permitidos y el usuario ejecuta `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |


535Cada archivo y configuración que cubre esta página, qué controla y cómo entregarlo:535Cada archivo y configuración que cubre esta página, qué controla y cómo entregarlo:

536 536 

537| Superficie | Qué controla | Dónde vive | Cómo entregar |537| Superficie | Qué controla | Dónde vive | Cómo entregar |

538| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |538| :- | :- | :- | :- |

539| `managed-mcp.json` | Conjunto de servidor fijo, control exclusivo | Ruta del sistema: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, o `C:\Program Files\ClaudeCode\` | MDM, GPO, administración de flota, o cualquier proceso con privilegios de administrador. No se puede establecer a través de configuración administrada por servidor |539| `managed-mcp.json` | Conjunto de servidor fijo, control exclusivo | Ruta del sistema: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, o `C:\Program Files\ClaudeCode\` | MDM, GPO, administración de flota, o cualquier proceso con privilegios de administrador. No se puede establecer a través de configuración administrada por servidor |

540| `managedMcpServers` | Servidores remotos proporcionados a cada usuario junto con los suyos propios | Solo fuentes de configuración administrada; la configuración no tiene efecto en otros lugares | Una [fuente de configuración administrada](/docs/es/admin-setup#decide-how-settings-reach-devices): configuración administrada por servidor, una política de puerta de enlace, `managed-settings.json`, perfil MDM, o registro HKLM |540| `managedMcpServers` | Servidores remotos proporcionados a cada usuario junto con los suyos propios | Solo fuentes de configuración administrada; la configuración no tiene efecto en otros lugares | Una [fuente de configuración administrada](/docs/es/admin-setup#decide-how-settings-reach-devices): configuración administrada por servidor, una política de puerta de enlace, `managed-settings.json`, perfil MDM, o registro HKLM |

541| `allowedMcpServers` | Lista de permitidos de servidores permitidos | Cualquier [ámbito de configuración](/docs/es/settings#where-settings-live); [Cómo se evalúa un servidor](#how-a-server-is-evaluated) dice cómo se combinan las listas de varios ámbitos y fuentes administradas | Para aplicación, una [fuente de configuración administrada](/docs/es/admin-setup#decide-how-settings-reach-devices): configuración administrada por servidor, `managed-settings.json`, perfil MDM, o registro |541| `allowedMcpServers` | Lista de permitidos de servidores permitidos | Cualquier [ámbito de configuración](/docs/es/settings#where-settings-live); [Cómo se evalúa un servidor](#how-a-server-is-evaluated) dice cómo se combinan las listas de varios ámbitos y fuentes administradas | Para aplicación, una [fuente de configuración administrada](/docs/es/admin-setup#decide-how-settings-reach-devices): configuración administrada por servidor, `managed-settings.json`, perfil MDM, o registro |

Details

71Elija un mecanismo según cómo ya administre dispositivos, usando la tabla a continuación.71Elija un mecanismo según cómo ya administre dispositivos, usando la tabla a continuación.

72 72 

73| Mecanismo | Cómo lo entrega | Cuándo Claude Code lo lee | Úselo cuando |73| Mecanismo | Cómo lo entrega | Cuándo Claude Code lo lee | Úselo cuando |

74| :--------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------- |74| :- | :- | :- | :- |

75| [Configuración administrada por servidor](/docs/es/server-managed-settings) | En la consola de administración de claude.ai, o en una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway) autohospedada | Se obtiene al inicio y se sondea cada hora; consulte [cambios que necesitan aprobación](#where-and-when-a-policy-applies) | Desea un lugar para cambiar la política de una organización de claude.ai sin tocar cada máquina |75| [Configuración administrada por servidor](/docs/es/server-managed-settings) | En la consola de administración de claude.ai, o en una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway) autohospedada | Se obtiene al inicio y se sondea cada hora; consulte [cambios que necesitan aprobación](#where-and-when-a-policy-applies) | Desea un lugar para cambiar la política de una organización de claude.ai sin tocar cada máquina |

76| Política MDM o a nivel de SO | Como un perfil de configuración de macOS o un valor de registro `HKLM` de Windows, a través de Jamf, Intune, Group Policy o una herramienta similar; consulte [dónde cada mecanismo almacena la política](#where-each-mechanism-stores-the-policy) | Se lee al inicio y se verifica si hay cambios cada 30 minutos | Ya administra dispositivos con MDM o Group Policy |76| Política MDM o a nivel de SO | Como un perfil de configuración de macOS o un valor de registro `HKLM` de Windows, a través de Jamf, Intune, Group Policy o una herramienta similar; consulte [dónde cada mecanismo almacena la política](#where-each-mechanism-stores-the-policy) | Se lee al inicio y se verifica si hay cambios cada 30 minutos | Ya administra dispositivos con MDM o Group Policy |

77| Basado en archivo | Como `managed-settings.json` en un directorio del sistema en cada máquina; consulte [dónde cada mecanismo almacena la política](#where-each-mechanism-stores-the-policy) | Se lee al inicio y se recarga cuando cambia un archivo | Máquinas sin MDM, hosts Linux o imágenes que construye usted mismo |77| Basado en archivo | Como `managed-settings.json` en un directorio del sistema en cada máquina; consulte [dónde cada mecanismo almacena la política](#where-each-mechanism-stores-the-policy) | Se lee al inicio y se recarga cuando cambia un archivo | Máquinas sin MDM, hosts Linux o imágenes que construye usted mismo |


207Esta tabla muestra cómo Claude Code combina cada tipo de clave bajo `"merge"`. La [entrada `managedSourcesBehavior`](/docs/es/settings-reference#managedsourcesbehavior) nombra cada clave en tres de las filas: listas de permitidos de restricción, valores tomados completos y claves leídas solo de la fuente de mayor rango.207Esta tabla muestra cómo Claude Code combina cada tipo de clave bajo `"merge"`. La [entrada `managedSourcesBehavior`](/docs/es/settings-reference#managedsourcesbehavior) nombra cada clave en tres de las filas: listas de permitidos de restricción, valores tomados completos y claves leídas solo de la fuente de mayor rango.

208 208 

209| Tipo de clave | Cómo Claude Code la combina | Ejemplos |209| Tipo de clave | Cómo Claude Code la combina | Ejemplos |

210| :--------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |210| :- | :- | :- |

211| Listas | Combina las entradas de cada fuente | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |211| Listas | Combina las entradas de cada fuente | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |

212| Bloqueos | Aplica el valor más restrictivo que establece cualquier fuente; un valor más flexible se aplica solo de la fuente de mayor rango | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |212| Bloqueos | Aplica el valor más restrictivo que establece cualquier fuente; un valor más flexible se aplica solo de la fuente de mayor rango | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |

213| Listas de permitidos de restricción | Toma la lista completa de la fuente de mayor rango que la establece, sin agregar entradas de fuentes inferiores | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins` y la cadena `fallbackModel` |213| Listas de permitidos de restricción | Toma la lista completa de la fuente de mayor rango que la establece, sin agregar entradas de fuentes inferiores | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins` y la cadena `fallbackModel` |


363Algunas claves de aplicación no se descartan cuando son inválidas. Claude Code aplica una reserva más restrictiva hasta que se corrija el valor; la tabla muestra qué aplica para cada clave:363Algunas claves de aplicación no se descartan cuando son inválidas. Claude Code aplica una reserva más restrictiva hasta que se corrija el valor; la tabla muestra qué aplica para cada clave:

364 364 

365| Campo | Comportamiento cuando está presente pero es inválido |365| Campo | Comportamiento cuando está presente pero es inválido |

366| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |366| :- | :- |

367| `allowedMcpServers` | Se aplica como una lista de permitidos vacía hasta que se corrija el valor, por lo que ningún servidor MCP que los usuarios agreguen se admite. Los servidores que su organización entrega a través de [`managedMcpServers`](/docs/es/settings-reference#managedmcpservers) aún se cargan, y los servidores `managed-mcp.json` se cargan según [Cómo se evalúa un servidor](/docs/es/managed-mcp#how-a-server-is-evaluated). Una entrada individual inválida se elimina y el subconjunto válido se aplica. |367| `allowedMcpServers` | Se aplica como una lista de permitidos vacía hasta que se corrija el valor, por lo que ningún servidor MCP que los usuarios agreguen se admite. Los servidores que su organización entrega a través de [`managedMcpServers`](/docs/es/settings-reference#managedmcpservers) aún se cargan, y los servidores `managed-mcp.json` se cargan según [Cómo se evalúa un servidor](/docs/es/managed-mcp#how-a-server-is-evaluated). Una entrada individual inválida se elimina y el subconjunto válido se aplica. |

368| `allowedHttpHookUrls` | Claude Code aplica una [lista de permitidos](/docs/es/settings-reference#allowedhttphookurls) administrada vacía hasta que corrija el valor, por lo que un hook HTTP se ejecuta solo si otro archivo de configuración enumera su URL. Si solo una entrada individual es inválida, Claude Code elimina esa entrada y aplica el resto. |368| `allowedHttpHookUrls` | Claude Code aplica una [lista de permitidos](/docs/es/settings-reference#allowedhttphookurls) administrada vacía hasta que corrija el valor, por lo que un hook HTTP se ejecuta solo si otro archivo de configuración enumera su URL. Si solo una entrada individual es inválida, Claude Code elimina esa entrada y aplica el resto. |

369| `httpHookAllowedEnvVars` | Claude Code aplica una [lista de permitidos](/docs/es/settings-reference#httphookallowedenvvars) administrada vacía hasta que corrija el valor, por lo que una variable de encabezado se interpola solo si otro archivo de configuración la nombra. Si solo una entrada individual es inválida, Claude Code elimina esa entrada y aplica el resto. |369| `httpHookAllowedEnvVars` | Claude Code aplica una [lista de permitidos](/docs/es/settings-reference#httphookallowedenvvars) administrada vacía hasta que corrija el valor, por lo que una variable de encabezado se interpola solo si otro archivo de configuración la nombra. Si solo una entrada individual es inválida, Claude Code elimina esa entrada y aplica el resto. |


404La tabla cubre los controles de permisos, plugins y entrega. Para cualquier clave no enumerada aquí, la columna Scope de la [referencia de configuración](/docs/es/settings-reference#all-settings) dice si es solo administrada; las claves solo administradas restantes allí incluyen la URL de inicio de sesión de puerta de enlace, versión, navegador, simulador móvil, host SSH, sesión local de Desktop, ruta binaria de sandbox, precios de modelo y controles CLAUDE.md.404La tabla cubre los controles de permisos, plugins y entrega. Para cualquier clave no enumerada aquí, la columna Scope de la [referencia de configuración](/docs/es/settings-reference#all-settings) dice si es solo administrada; las claves solo administradas restantes allí incluyen la URL de inicio de sesión de puerta de enlace, versión, navegador, simulador móvil, host SSH, sesión local de Desktop, ruta binaria de sandbox, precios de modelo y controles CLAUDE.md.

405 405 

406| Configuración | Descripción |406| Configuración | Descripción |

407| :-------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |407| :- | :- |

408| [`allowAllClaudeAiMcps`](/docs/es/settings-reference#allowallclaudeaimcps) | Cargue los conectores de claude.ai que Claude Code obtiene a sí mismo junto con un `managed-mcp.json` implementado en lugar de suprimirlos |408| [`allowAllClaudeAiMcps`](/docs/es/settings-reference#allowallclaudeaimcps) | Cargue los conectores de claude.ai que Claude Code obtiene a sí mismo junto con un `managed-mcp.json` implementado en lugar de suprimirlos |

409| [`allowedChannelPlugins`](/docs/es/settings-reference#allowedchannelplugins) | Lista de permitidos de plugins de canal que pueden enviar mensajes. Reemplaza la lista de permitidos predeterminada de Anthropic cuando se establece. Requiere `channelsEnabled: true`. Consulte [Restringir qué plugins de canal pueden ejecutarse](/docs/es/channels#restrict-which-channel-plugins-can-run) |409| [`allowedChannelPlugins`](/docs/es/settings-reference#allowedchannelplugins) | Lista de permitidos de plugins de canal que pueden enviar mensajes. Reemplaza la lista de permitidos predeterminada de Anthropic cuando se establece. Requiere `channelsEnabled: true`. Consulte [Restringir qué plugins de canal pueden ejecutarse](/docs/es/channels#restrict-which-channel-plugins-can-run) |

410| [`allowManagedHooksOnly`](/docs/es/settings-reference#allowmanagedhooksonly) | Cuando es `true`, restringe qué hooks se ejecutan; consulte [qué se ejecuta bajo `allowManagedHooksOnly`](/docs/es/settings-reference#what-runs-under-allowmanagedhooksonly) para la lista de efectos completa |410| [`allowManagedHooksOnly`](/docs/es/settings-reference#allowmanagedhooksonly) | Cuando es `true`, restringe qué hooks se ejecutan; consulte [qué se ejecuta bajo `allowManagedHooksOnly`](/docs/es/settings-reference#what-runs-under-allowmanagedhooksonly) para la lista de efectos completa |

mcp.md +5 −5

Details

572Los servidores MCP se pueden configurar en tres alcances. El alcance que elija controla en qué proyectos se carga el servidor y si la configuración se comparte con su equipo. Los administradores también pueden implementar o proporcionar servidores para cada usuario a través de [configuración administrada](#managed-mcp-configuration).572Los servidores MCP se pueden configurar en tres alcances. El alcance que elija controla en qué proyectos se carga el servidor y si la configuración se comparte con su equipo. Los administradores también pueden implementar o proporcionar servidores para cada usuario a través de [configuración administrada](#managed-mcp-configuration).

573 573 

574| Alcance | Se carga en | Compartido con equipo | Almacenado en |574| Alcance | Se carga en | Compartido con equipo | Almacenado en |

575| -------------------------- | -------------------- | ------------------------------------- | ----------------------------------- |575| - | - | - | - |

576| [Local](#local-scope) | Solo proyecto actual | No | `~/.claude.json` |576| [Local](#local-scope) | Solo proyecto actual | No | `~/.claude.json` |

577| [Proyecto](#project-scope) | Solo proyecto actual | Sí, a través del control de versiones | `.mcp.json` en la raíz del proyecto |577| [Proyecto](#project-scope) | Solo proyecto actual | Sí, a través del control de versiones | `.mcp.json` en la raíz del proyecto |

578| [Usuario](#user-scope) | Todos sus proyectos | No | `~/.claude.json` |578| [Usuario](#user-scope) | Todos sus proyectos | No | `~/.claude.json` |


1085Claude Code establece estas variables de entorno al ejecutar el ayudante:1085Claude Code establece estas variables de entorno al ejecutar el ayudante:

1086 1086 

1087| Variable | Valor |1087| Variable | Valor |

1088| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |1088| :- | :- |

1089| `CLAUDE_CODE_MCP_SERVER_NAME` | el nombre del servidor MCP |1089| `CLAUDE_CODE_MCP_SERVER_NAME` | el nombre del servidor MCP |

1090| `CLAUDE_CODE_MCP_SERVER_URL` | la URL del servidor MCP |1090| `CLAUDE_CODE_MCP_SERVER_URL` | la URL del servidor MCP |

1091| `CLAUDE_PLUGIN_ROOT` | el directorio raíz del plugin. Se establece solo cuando un [plugin](/docs/es/plugins/components#mcp-servers) proporciona el servidor |1091| `CLAUDE_PLUGIN_ROOT` | el directorio raíz del plugin. Se establece solo cuando un [plugin](/docs/es/plugins/components#mcp-servers) proporciona el servidor |


1101Claude Code elige el directorio de trabajo del comando `headersHelper` de la configuración que declara el servidor. Un `cd` que Claude ejecuta en Bash no lo mueve, y [`/cd`](/docs/es/permissions#move-the-session-to-another-directory) lo mueve solo para servidores que se ejecutan desde el directorio de trabajo principal de la sesión. Cada fila a continuación proporciona el directorio contra el cual se resuelve una ruta relativa en su comando `headersHelper`.1101Claude Code elige el directorio de trabajo del comando `headersHelper` de la configuración que declara el servidor. Un `cd` que Claude ejecuta en Bash no lo mueve, y [`/cd`](/docs/es/permissions#move-the-session-to-another-directory) lo mueve solo para servidores que se ejecutan desde el directorio de trabajo principal de la sesión. Cada fila a continuación proporciona el directorio contra el cual se resuelve una ruta relativa en su comando `headersHelper`.

1102 1102 

1103| Dónde configuró el servidor | Directorio de trabajo |1103| Dónde configuró el servidor | Directorio de trabajo |

1104| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------- |1104| :- | :- |

1105| Un [plugin](/docs/es/plugins/components#mcp-servers) | El directorio raíz del plugin. Requiere Claude Code v2.1.195 o posterior |1105| Un [plugin](/docs/es/plugins/components#mcp-servers) | El directorio raíz del plugin. Requiere Claude Code v2.1.195 o posterior |

1106| Un `.mcp.json` de proyecto o un servidor de [alcance local](#local-scope) | El directorio del proyecto donde se declara el servidor |1106| Un `.mcp.json` de proyecto o un servidor de [alcance local](#local-scope) | El directorio del proyecto donde se declara el servidor |

1107| Un archivo de agente en su proyecto, un servidor de la opción `mcpServers` del SDK o el método `setMcpServers()`, o [`--mcp-config`](/docs/es/cli-reference) | El [directorio de trabajo principal](/docs/es/permissions#working-directories) de la sesión |1107| Un archivo de agente en su proyecto, un servidor de la opción `mcpServers` del SDK o el método `setMcpServers()`, o [`--mcp-config`](/docs/es/cli-reference) | El [directorio de trabajo principal](/docs/es/permissions#working-directories) de la sesión |


1270Qué configuración rige un conector de claude.ai depende de dónde se ejecute su sesión, porque solo algunas sesiones obtienen conectores de claude.ai por sí mismas. Cada fila a continuación nombra cómo los conectores llegan en un tipo de sesión y qué los controla allí. Las [sesiones WSL](/docs/es/desktop-wsl#what-works-in-a-wsl-session) de la aplicación de escritorio no tienen fila porque los conectores aún no están disponibles en ellas.1270Qué configuración rige un conector de claude.ai depende de dónde se ejecute su sesión, porque solo algunas sesiones obtienen conectores de claude.ai por sí mismas. Cada fila a continuación nombra cómo los conectores llegan en un tipo de sesión y qué los controla allí. Las [sesiones WSL](/docs/es/desktop-wsl#what-works-in-a-wsl-session) de la aplicación de escritorio no tienen fila porque los conectores aún no están disponibles en ellas.

1271 1271 

1272| Dónde se ejecuta la sesión | Cómo llegan los conectores | Qué los rige |1272| Dónde se ejecuta la sesión | Cómo llegan los conectores | Qué los rige |

1273| :-------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1273| :- | :- | :- |

1274| Sesiones de Terminal, [VS Code](/docs/es/vs-code), [JetBrains](/docs/es/jetbrains), y [Agent SDK](/docs/es/agent-sdk/claude-code-features) | Claude Code los obtiene de claude.ai | La configuración en esta sección y [configuración MCP gestionada](/docs/es/managed-mcp) |1274| Sesiones de Terminal, [VS Code](/docs/es/vs-code), [JetBrains](/docs/es/jetbrains), y [Agent SDK](/docs/es/agent-sdk/claude-code-features) | Claude Code los obtiene de claude.ai | La configuración en esta sección y [configuración MCP gestionada](/docs/es/managed-mcp) |

1275| [Sesiones en la nube](/docs/es/claude-code-on-the-web) | El host remoto los pasa | Su configuración de organización de claude.ai, más la configuración de [lista de permitidos y lista de denegados](/docs/es/managed-mcp#policy-based-control-with-allowlists-and-denylists) que llega a la sesión y cualquier `managed-mcp.json` en el host que la ejecuta |1275| [Sesiones en la nube](/docs/es/claude-code-on-the-web) | El host remoto los pasa | Su configuración de organización de claude.ai, más la configuración de [lista de permitidos y lista de denegados](/docs/es/managed-mcp#policy-based-control-with-allowlists-and-denylists) que llega a la sesión y cualquier `managed-mcp.json` en el host que la ejecuta |

1276| Las sesiones locales y SSH de la [aplicación de escritorio](/docs/es/desktop) | La aplicación de escritorio los entrega en proceso | Entradas `blocked` en los [controles de herramientas de conector](#organization-controls-on-connector-tools) de su organización |1276| Las sesiones locales y SSH de la [aplicación de escritorio](/docs/es/desktop) | La aplicación de escritorio los entrega en proceso | Entradas `blocked` en los [controles de herramientas de conector](#organization-controls-on-connector-tools) de su organización |


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

1587 1587 

1588| Valor | Comportamiento |1588| Valor | Comportamiento |

1589| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1589| :- | :- |

1590| (sin establecer) | Todas las herramientas MCP diferidas y cargadas bajo demanda. Se revierte a carga por adelantado en modelos de Agent Platform de Google Cloud anteriores a la generación Claude 4.5, cuando `ANTHROPIC_BASE_URL` es un host que no es de primera parte, o en una implementación de Microsoft Foundry alojada en Azure |1590| (sin establecer) | Todas las herramientas MCP diferidas y cargadas bajo demanda. Se revierte a carga por adelantado en modelos de Agent Platform de Google Cloud anteriores a la generación Claude 4.5, cuando `ANTHROPIC_BASE_URL` es un host que no es de primera parte, o en una implementación de Microsoft Foundry alojada en Azure |

1591| `true` | Todas las herramientas MCP diferidas, excepto en una implementación de Microsoft Foundry alojada en Azure, donde el rechazo del lado del servidor aún fuerza la carga por adelantado, y en modelos de Agent Platform de Google Cloud anteriores a la generación Claude 4.5, donde Claude Code sigue cargando herramientas por adelantado. Claude Code envía el encabezado beta a través de proxies, y las solicitudes fallan en proxies que no admiten bloques `tool_reference` |1591| `true` | Todas las herramientas MCP diferidas, excepto en una implementación de Microsoft Foundry alojada en Azure, donde el rechazo del lado del servidor aún fuerza la carga por adelantado, y en modelos de Agent Platform de Google Cloud anteriores a la generación Claude 4.5, donde Claude Code sigue cargando herramientas por adelantado. Claude Code envía el encabezado beta a través de proxies, y las solicitudes fallan en proxies que no admiten bloques `tool_reference` |

1592| `auto` | Modo de umbral: Claude Code carga las herramientas que de otro modo diferiría por adelantado mientras sus definiciones totalizan menos del 10% de la ventana de contexto, y difiere todas ellas una vez que las definiciones alcanzan el 10% |1592| `auto` | Modo de umbral: Claude Code carga las herramientas que de otro modo diferiría por adelantado mientras sus definiciones totalizan menos del 10% de la ventana de contexto, y difiere todas ellas una vez que las definiciones alcanzan el 10% |

Details

61 El servidor aparece con un indicador de estado:61 El servidor aparece con un indicador de estado:

62 62 

63 | Estado | Significado |63 | Estado | Significado |

64 | :------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |64 | :- | :- |

65 | `✔ Connected` | Listo para usar. Esto es lo que debería ver para `claude-code-docs` |65 | `✔ Connected` | Listo para usar. Esto es lo que debería ver para `claude-code-docs` |

66 | `! Connected · tools fetch failed` | El servidor se conectó pero no pudo enumerar sus herramientas. Ejecute `claude mcp get <name>` para obtener el detalle del error |66 | `! Connected · tools fetch failed` | El servidor se conectó pero no pudo enumerar sus herramientas. Ejecute `claude mcp get <name>` para obtener el detalle del error |

67 | `! Needs authentication` | El servidor es accesible pero necesita un inicio de sesión del navegador, o un token pasado con `--header`. Consulte [Conectar un servidor que requiere inicio de sesión](#connect-a-server-that-requires-sign-in) |67 | `! Needs authentication` | El servidor es accesible pero necesita un inicio de sesión del navegador, o un token pasado con `--header`. Consulte [Conectar un servidor que requiere inicio de sesión](#connect-a-server-that-requires-sign-in) |


129El comando `claude mcp add` escribe el servidor en uno de tres ámbitos, almacenados en dos archivos, dependiendo de la bandera `--scope`. No necesita editar estos archivos directamente, pero saber dónde están ayuda con la depuración y el control de versiones.129El comando `claude mcp add` escribe el servidor en uno de tres ámbitos, almacenados en dos archivos, dependiendo de la bandera `--scope`. No necesita editar estos archivos directamente, pero saber dónde están ayuda con la depuración y el control de versiones.

130 130 

131| Ámbito | Archivo | Disponible para |131| Ámbito | Archivo | Disponible para |

132| :-------- | :------------------------------------------------------------- | :------------------------------------------------ |132| :- | :- | :- |

133| `local` | `~/.claude.json`, bajo la entrada para este proyecto | Solo usted, solo este proyecto. El predeterminado |133| `local` | `~/.claude.json`, bajo la entrada para este proyecto | Solo usted, solo este proyecto. El predeterminado |

134| `project` | `.mcp.json` en la raíz de su proyecto | Todos los que clonan el proyecto |134| `project` | `.mcp.json` en la raíz de su proyecto | Todos los que clonan el proyecto |

135| `user` | `~/.claude.json`, bajo la clave `mcpServers` de nivel superior | Solo usted, todos los proyectos |135| `user` | `~/.claude.json`, bajo la clave `mcpServers` de nivel superior | Solo usted, todos los proyectos |

memory.md +8 −8

Details

26Claude Code tiene dos sistemas de memoria complementarios. Ambos se cargan al inicio de cada conversación. Claude los trata como contexto, no como configuración forzada. Para bloquear una acción independientemente de lo que Claude decida, use un [hook PreToolUse](/docs/es/hooks-guide) en su lugar. Cuanto más específicas y concisas sean sus instrucciones, más consistentemente Claude las seguirá.26Claude Code tiene dos sistemas de memoria complementarios. Ambos se cargan al inicio de cada conversación. Claude los trata como contexto, no como configuración forzada. Para bloquear una acción independientemente de lo que Claude decida, use un [hook PreToolUse](/docs/es/hooks-guide) en su lugar. Cuanto más específicas y concisas sean sus instrucciones, más consistentemente Claude las seguirá.

27 27 

28| | Archivos CLAUDE.md | Auto memory |28| | Archivos CLAUDE.md | Auto memory |

29| :------------------- | :----------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |29| :- | :- | :- |

30| **Quién lo escribe** | Usted | Claude |30| **Quién lo escribe** | Usted | Claude |

31| **Qué contiene** | Instrucciones y reglas | Aprendizajes y patrones |31| **Qué contiene** | Instrucciones y reglas | Aprendizajes y patrones |

32| **Alcance** | Proyecto, usuario u organización | Por repositorio, compartido entre worktrees |32| **Alcance** | Proyecto, usuario u organización | Por repositorio, compartido entre worktrees |


63Los archivos CLAUDE.md pueden vivir en varios lugares, cada uno con un alcance diferente. La tabla a continuación los enumera en orden de carga, desde el alcance más amplio hasta el más específico, por lo que una instrucción de proyecto aparece en contexto después de una instrucción de usuario.63Los archivos CLAUDE.md pueden vivir en varios lugares, cada uno con un alcance diferente. La tabla a continuación los enumera en orden de carga, desde el alcance más amplio hasta el más específico, por lo que una instrucción de proyecto aparece en contexto después de una instrucción de usuario.

64 64 

65| Alcance | Ubicación | Propósito | Ejemplos de casos de uso | Compartido con |65| Alcance | Ubicación | Propósito | Ejemplos de casos de uso | Compartido con |

66| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- | ----------------------------------------------------- |66| - | - | - | - | - |

67| **Política administrada** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux y WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | Instrucciones de toda la organización administradas por TI/DevOps | Estándares de codificación de la empresa, políticas de seguridad, requisitos de cumplimiento | Todos los usuarios de la organización |67| **Política administrada** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux y WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | Instrucciones de toda la organización administradas por TI/DevOps | Estándares de codificación de la empresa, políticas de seguridad, requisitos de cumplimiento | Todos los usuarios de la organización |

68| **Instrucciones de usuario** | `~/.claude/CLAUDE.md` | Preferencias personales para todos los proyectos | Preferencias de estilo de código, atajos de herramientas personales | Solo usted (todos los proyectos) |68| **Instrucciones de usuario** | `~/.claude/CLAUDE.md` | Preferencias personales para todos los proyectos | Preferencias de estilo de código, atajos de herramientas personales | Solo usted (todos los proyectos) |

69| **Instrucciones de proyecto** | `./CLAUDE.md` o `./.claude/CLAUDE.md`. Consulte [AGENTS.md](#agents-md) para saber cuándo `./AGENTS.md` se carga en su lugar o junto con ellos | Instrucciones compartidas por el equipo para el proyecto | Arquitectura del proyecto, estándares de codificación, flujos de trabajo comunes | Miembros del equipo a través del control de versiones |69| **Instrucciones de proyecto** | `./CLAUDE.md` o `./.claude/CLAUDE.md`. Consulte [AGENTS.md](#agents-md) para saber cuándo `./AGENTS.md` se carga en su lugar o junto con ellos | Instrucciones compartidas por el equipo para el proyecto | Arquitectura del proyecto, estándares de codificación, flujos de trabajo comunes | Miembros del equipo a través del control de versiones |


223Use patrones glob en el campo `paths` para hacer coincidir archivos por extensión, directorio o cualquier combinación:223Use patrones glob en el campo `paths` para hacer coincidir archivos por extensión, directorio o cualquier combinación:

224 224 

225| Patrón | Coincide |225| Patrón | Coincide |

226| ---------------------- | ----------------------------------------------------- |226| - | - |

227| `**/*.ts` | Todos los archivos TypeScript en cualquier directorio |227| `**/*.ts` | Todos los archivos TypeScript en cualquier directorio |

228| `src/**/*` | Todos los archivos bajo el directorio `src/` |228| `src/**/*` | Todos los archivos bajo el directorio `src/` |

229| `*.md` | Archivos Markdown en la raíz del proyecto |229| `*.md` | Archivos Markdown en la raíz del proyecto |


253Configure una regla con [frontmatter](/docs/es/glossary#frontmatter) YAML entre marcadores `---` en la parte superior del archivo. `paths` es el único campo que Claude Code lee de una regla; cualquier otro campo se ignora sin un error. Claude Code elimina el frontmatter antes de cargar la regla en contexto.253Configure una regla con [frontmatter](/docs/es/glossary#frontmatter) YAML entre marcadores `---` en la parte superior del archivo. `paths` es el único campo que Claude Code lee de una regla; cualquier otro campo se ignora sin un error. Claude Code elimina el frontmatter antes de cargar la regla en contexto.

254 254 

255| Campo | Requerido | Descripción |255| Campo | Requerido | Descripción |

256| :------ | :-------- | :---------------------------------------------------------------------------------------------------------------------------------------- |256| :- | :- | :- |

257| `paths` | No | Patrones glob que [limitan la regla a archivos coincidentes](#path-specific-rules). Acepta una lista YAML o una cadena separada por comas |257| `paths` | No | Patrones glob que [limitan la regla a archivos coincidentes](#path-specific-rules). Acepta una lista YAML o una cadena separada por comas |

258 258 

259Si el YAML entre los marcadores no se analiza, Claude Code ignora el frontmatter y carga la regla como si no tuviera `paths`. Ejecute `claude --debug` para ver el error de análisis.259Si el YAML entre los marcadores no se analiza, Claude Code ignora el frontmatter y carga la regla como si no tuviera `paths`. Ejecute `claude --debug` para ver el error de análisis.


330Un CLAUDE.md administrado y [configuración administrada](/docs/es/managed-settings) sirven para propósitos diferentes. Use configuración para aplicación técnica y CLAUDE.md para orientación de comportamiento:330Un CLAUDE.md administrado y [configuración administrada](/docs/es/managed-settings) sirven para propósitos diferentes. Use configuración para aplicación técnica y CLAUDE.md para orientación de comportamiento:

331 331 

332| Preocupación | Configurar en |332| Preocupación | Configurar en |

333| :------------------------------------------------------------- | :------------------------------------------------------------------ |333| :- | :- |

334| Bloquear herramientas, comandos o rutas de archivo específicas | Configuración administrada: `permissions.deny` |334| Bloquear herramientas, comandos o rutas de archivo específicas | Configuración administrada: `permissions.deny` |

335| Aplicar aislamiento de sandbox | Configuración administrada: `sandbox.enabled` |335| Aplicar aislamiento de sandbox | Configuración administrada: `sandbox.enabled` |

336| Variables de entorno y enrutamiento de proveedores de API | Configuración administrada: `env` |336| Variables de entorno y enrutamiento de proveedores de API | Configuración administrada: `env` |


371Claude Code puede leer [`AGENTS.md`](/docs/es/glossary#agents-md) como sus instrucciones de proyecto, por lo que un repositorio ya configurado para otros agentes de codificación funciona sin agregar un `CLAUDE.md`, una importación o una configuración. Esta tabla muestra lo que Claude lee de forma predeterminada para cada combinación de archivos de instrucciones en su repositorio:371Claude Code puede leer [`AGENTS.md`](/docs/es/glossary#agents-md) como sus instrucciones de proyecto, por lo que un repositorio ya configurado para otros agentes de codificación funciona sin agregar un `CLAUDE.md`, una importación o una configuración. Esta tabla muestra lo que Claude lee de forma predeterminada para cada combinación de archivos de instrucciones en su repositorio:

372 372 

373| Su repositorio tiene | Claude lee |373| Su repositorio tiene | Claude lee |

374| :---------------------------------------------------------------------------------------------- | :------------------------------------------------------------------ |374| :- | :- |

375| Un `AGENTS.md`, y ningún `CLAUDE.md` o `CLAUDE.local.md` en su directorio de trabajo o superior | Su `AGENTS.md` |375| Un `AGENTS.md`, y ningún `CLAUDE.md` o `CLAUDE.local.md` en su directorio de trabajo o superior | Su `AGENTS.md` |

376| Un `AGENTS.md` y un `CLAUDE.md` o `CLAUDE.local.md` en su directorio de trabajo o superior | Solo sus archivos `CLAUDE.md` |376| Un `AGENTS.md` y un `CLAUDE.md` o `CLAUDE.local.md` en su directorio de trabajo o superior | Solo sus archivos `CLAUDE.md` |

377| Un `CLAUDE.md` que ya [importa `AGENTS.md`](#share-one-file-with-other-coding-tools) | Su `CLAUDE.md`, con `AGENTS.md` incluido a través de la importación |377| Un `CLAUDE.md` que ya [importa `AGENTS.md`](#share-one-file-with-other-coding-tools) | Su `CLAUDE.md`, con `AGENTS.md` incluido a través de la importación |


409Para cambiar qué archivos lee Claude, escriba `/config` en una sesión de Claude Code para abrir el panel de configuración, luego establezca **Project instructions** en uno de estos valores:409Para cambiar qué archivos lee Claude, escriba `/config` en una sesión de Claude Code para abrir el panel de configuración, luego establezca **Project instructions** en uno de estos valores:

410 410 

411| Valor | Lo que Claude lee |411| Valor | Lo que Claude lee |

412| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |412| :- | :- |

413| `claude-md-or-agents-md` | Sus archivos `CLAUDE.md`, o sus archivos `AGENTS.md` cuando no tiene `CLAUDE.md` o `CLAUDE.local.md` en su directorio de trabajo o superior. Este es el valor predeterminado |413| `claude-md-or-agents-md` | Sus archivos `CLAUDE.md`, o sus archivos `AGENTS.md` cuando no tiene `CLAUDE.md` o `CLAUDE.local.md` en su directorio de trabajo o superior. Este es el valor predeterminado |

414| `claude-md-and-agents-md` | Sus archivos `CLAUDE.md` y `AGENTS.md` juntos, los archivos `CLAUDE.md` de cada directorio primero y su `AGENTS.md` después. Claude Code omite un `AGENTS.md` que ya ha cargado, por lo que uno que su `CLAUDE.md` importa o vincula simbólicamente no se lee dos veces |414| `claude-md-and-agents-md` | Sus archivos `CLAUDE.md` y `AGENTS.md` juntos, los archivos `CLAUDE.md` de cada directorio primero y su `AGENTS.md` después. Claude Code omite un `AGENTS.md` que ya ha cargado, por lo que uno que su `CLAUDE.md` importa o vincula simbólicamente no se lee dos veces |

415| `claude-md` | Solo sus archivos `CLAUDE.md` |415| `claude-md` | Solo sus archivos `CLAUDE.md` |


448Un `AGENTS.md` que Claude lee a través de la configuración **Project instructions** difiere de un `CLAUDE.md` en estos lugares:448Un `AGENTS.md` que Claude lee a través de la configuración **Project instructions** difiere de un `CLAUDE.md` en estos lugares:

449 449 

450| | `CLAUDE.md` | `AGENTS.md` leído a través de la configuración |450| | `CLAUDE.md` | `AGENTS.md` leído a través de la configuración |

451| :--------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ |451| :- | :- | :- |

452| [Hooks `InstructionsLoaded`](/docs/es/hooks#instructionsloaded) | Se activan | No se activan. Se activan como de costumbre para un `AGENTS.md` que un `CLAUDE.md` importa o vincula simbólicamente |452| [Hooks `InstructionsLoaded`](/docs/es/hooks#instructionsloaded) | Se activan | No se activan. Se activan como de costumbre para un `AGENTS.md` que un `CLAUDE.md` importa o vincula simbólicamente |

453| Directorios que agrega con `--add-dir` mientras [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories) está establecido | Su `CLAUDE.md` se carga | Su `AGENTS.md` no se carga |453| Directorios que agrega con `--add-dir` mientras [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories) está establecido | Su `CLAUDE.md` se carga | Su `AGENTS.md` no se carga |

454| Una importación `@path` de un archivo fuera de su directorio de trabajo | Claude Code le pide que apruebe [importaciones externas](#import-additional-files) | Se carga solo si ya aprobó importaciones externas para este proyecto, sin solicitud |454| Una importación `@path` de un archivo fuera de su directorio de trabajo | Claude Code le pide que apruebe [importaciones externas](#import-additional-files) | Se carga solo si ya aprobó importaciones externas para este proyecto, sin solicitud |

mobile.md +1 −1

Details

41Desde la aplicación puede iniciar sesiones en la nube, abrir un proyecto, dirigir una sesión de Claude Code que se ejecuta en su computadora, o enviar un mensaje a Dispatch con una tarea. La aplicación es la misma para cada uno; difieren en dónde ocurre el trabajo.41Desde la aplicación puede iniciar sesiones en la nube, abrir un proyecto, dirigir una sesión de Claude Code que se ejecuta en su computadora, o enviar un mensaje a Dispatch con una tarea. La aplicación es la misma para cada uno; difieren en dónde ocurre el trabajo.

42 42 

43| Característica | A qué se conecta | Cuándo usar |43| Característica | A qué se conecta | Cuándo usar |

44| :--------------------------------------------- | :------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |44| :- | :- | :- |

45| [Cloud sessions](/docs/es/claude-code-on-the-web) | Una sesión en infraestructura en la nube, administrada por Anthropic de forma predeterminada | Su repositorio está en GitHub y la tarea debe continuar ejecutándose después de dejar su teléfono. Consulte el [inicio rápido en la nube](/docs/es/web-quickstart) para configurar. |45| [Cloud sessions](/docs/es/claude-code-on-the-web) | Una sesión en infraestructura en la nube, administrada por Anthropic de forma predeterminada | Su repositorio está en GitHub y la tarea debe continuar ejecutándose después de dejar su teléfono. Consulte el [inicio rápido en la nube](/docs/es/web-quickstart) para configurar. |

46| [Projects](/docs/es/claude-projects) | Una conversación donde Claude coordina sesiones en la nube paralelas como hilos | Tiene un flujo de trabajo relacionado en lugar de una tarea y desea ver qué hilos finalizaron o lo necesitan. |46| [Projects](/docs/es/claude-projects) | Una conversación donde Claude coordina sesiones en la nube paralelas como hilos | Tiene un flujo de trabajo relacionado en lugar de una tarea y desea ver qué hilos finalizaron o lo necesitan. |

47| [Remote Control](/docs/es/remote-control) | Una sesión de Claude Code que se ejecuta en su computadora | El trabajo necesita su sistema de archivos local, herramientas o servidores MCP. |47| [Remote Control](/docs/es/remote-control) | Una sesión de Claude Code que se ejecuta en su computadora | El trabajo necesita su sistema de archivos local, herramientas o servidores MCP. |

model-config.md +12 −12

Details

32Use un alias de modelo para seleccionar configuraciones de modelo sin recordar números de versión exactos:32Use un alias de modelo para seleccionar configuraciones de modelo sin recordar números de versión exactos:

33 33 

34| Alias de modelo | Comportamiento |34| Alias de modelo | Comportamiento |

35| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |35| - | - |

36| **`default`** | Valor especial que borra cualquier anulación de modelo y revierte al [valor predeterminado en tiempo de ejecución para su cuenta](#default-model-setting). No es en sí mismo un alias de modelo |36| **`default`** | Valor especial que borra cualquier anulación de modelo y revierte al [valor predeterminado en tiempo de ejecución para su cuenta](#default-model-setting). No es en sí mismo un alias de modelo |

37| **`best`** | Utiliza el modelo que el alias [`fable`](#fable-alias-resolution) se resuelve a donde Fable está disponible para usted; de lo contrario, el mismo modelo que `opus` |37| **`best`** | Utiliza el modelo que el alias [`fable`](#fable-alias-resolution) se resuelve a donde Fable está disponible para usted; de lo contrario, el mismo modelo que `opus` |

38| **`fable`** | Utiliza el [modelo Fable para su proveedor](#fable-alias-resolution) para sus tareas más difíciles y de mayor duración |38| **`fable`** | Utiliza el [modelo Fable para su proveedor](#fable-alias-resolution) para sus tareas más difíciles y de mayor duración |


46La versión a la que se resuelven los alias `opus` y `sonnet` depende del proveedor:46La versión a la que se resuelven los alias `opus` y `sonnet` depende del proveedor:

47 47 

48| Proveedor | `opus` | `sonnet` |48| Proveedor | `opus` | `sonnet` |

49| :--------------------------------------------------- | :------- | :--------- |49| :- | :- | :- |

50| API de Anthropic | Opus 5.5 | Sonnet 5 |50| API de Anthropic | Opus 5.5 | Sonnet 5 |

51| [Claude Platform on AWS](/docs/es/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |51| [Claude Platform on AWS](/docs/es/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |

52| Amazon Bedrock, Agent Platform de Google Cloud | Opus 5.5 | Sonnet 4.5 |52| Amazon Bedrock, Agent Platform de Google Cloud | Opus 5.5 | Sonnet 4.5 |


290Cada superficie aplica la lista de permitidos que recibe. El mecanismo de entrega que llega a cada superficie difiere:290Cada superficie aplica la lista de permitidos que recibe. El mecanismo de entrega que llega a cada superficie difiere:

291 291 

292| Mecanismo de entrega | CLI e IDE | Sesiones locales de escritorio | Sesiones web, móviles y en la nube | Agent SDK y no interactivo | Cowork |292| Mecanismo de entrega | CLI e IDE | Sesiones locales de escritorio | Sesiones web, móviles y en la nube | Agent SDK y no interactivo | Cowork |

293| :-------------------------------------------------------------------------------------------------------- | :-------- | :----------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------- | :--------------------------- |293| :- | :- | :- | :- | :- | :- |

294| [Configuración administrada por servidor](/docs/es/server-managed-settings) desde la consola de administración | Aplicada | Aplicada | Aplicada | Aplicada | No entregada |294| [Configuración administrada por servidor](/docs/es/server-managed-settings) desde la consola de administración | Aplicada | Aplicada | Aplicada | Aplicada | No entregada |

295| [MDM o archivos de configuración administrada](/docs/es/managed-settings#delivery-mechanisms) | Aplicada | Aplicada | No entregada en entornos alojados por Anthropic; en [entornos autohospedados](/docs/es/self-hosted-environments), aplicada desde la imagen del ejecutor según [cómo Claude Code combina fuentes administradas](/docs/es/managed-settings#how-claude-code-combines-managed-sources) | Aplicada | Aplicada donde se implementa |295| [MDM o archivos de configuración administrada](/docs/es/managed-settings#delivery-mechanisms) | Aplicada | Aplicada | No entregada en entornos alojados por Anthropic; en [entornos autohospedados](/docs/es/self-hosted-environments), aplicada desde la imagen del ejecutor según [cómo Claude Code combina fuentes administradas](/docs/es/managed-settings#how-claude-code-combines-managed-sources) | Aplicada | Aplicada donde se implementa |

296 296 


578Los niveles de esfuerzo disponibles dependen del modelo. Los modelos no enumerados aquí no admiten esfuerzo:578Los niveles de esfuerzo disponibles dependen del modelo. Los modelos no enumerados aquí no admiten esfuerzo:

579 579 

580| Modelo | Niveles |580| Modelo | Niveles |

581| :---------------------------------------------- | :-------------------------------------- |581| :- | :- |

582| Fable 5.1 y Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |582| Fable 5.1 y Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

583| Opus 5.5, Opus 5, Sonnet 5, Opus 4.8 y Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |583| Opus 5.5, Opus 5, Sonnet 5, Opus 4.8 y Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

584| Opus 4.6 y Sonnet 4.6 | `low`, `medium`, `high`, `max` |584| Opus 4.6 y Sonnet 4.6 | `low`, `medium`, `high`, `max` |


640Cada nivel intercambia gasto de tokens contra capacidad. El predeterminado se adapta a la mayoría de tareas de codificación; ajusta cuando quieras un equilibrio diferente.640Cada nivel intercambia gasto de tokens contra capacidad. El predeterminado se adapta a la mayoría de tareas de codificación; ajusta cuando quieras un equilibrio diferente.

641 641 

642| Nivel | Cuándo usarlo |642| Nivel | Cuándo usarlo |

643| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |643| :- | :- |

644| `low` | Reserva para tareas cortas, limitadas y sensibles a la latencia que no son sensibles a la inteligencia |644| `low` | Reserva para tareas cortas, limitadas y sensibles a la latencia que no son sensibles a la inteligencia |

645| `medium` | Reduce el uso de tokens para trabajo sensible a costos que puede sacrificar algo de inteligencia. El predeterminado en Opus 5.5 |645| `medium` | Reduce el uso de tokens para trabajo sensible a costos que puede sacrificar algo de inteligencia. El predeterminado en Opus 5.5 |

646| `high` | Equilibra el uso de tokens e inteligencia. El predeterminado en cada modelo excepto Opus 5.5 y Opus 4.7 |646| `high` | Equilibra el uso de tokens e inteligencia. El predeterminado en cada modelo excepto Opus 5.5 y Opus 4.7 |


693El pensamiento extendido es el razonamiento que Claude emite antes de responder. En modelos que admiten [razonamiento adaptativo](#adjust-effort-level), el nivel de esfuerzo es el control principal de cuánto pensamiento ocurre; las configuraciones a continuación activan o desactivan el pensamiento y controlan cómo se muestra. Con el pensamiento desactivado en Anthropic API, Claude Code envía esfuerzo `high` en lugar de un nivel más alto a modelos que sabe que [no aceptan esa combinación](/docs/es/errors#effort-isnt-available-with-thinking-turned-off), como Opus 5.693El pensamiento extendido es el razonamiento que Claude emite antes de responder. En modelos que admiten [razonamiento adaptativo](#adjust-effort-level), el nivel de esfuerzo es el control principal de cuánto pensamiento ocurre; las configuraciones a continuación activan o desactivan el pensamiento y controlan cómo se muestra. Con el pensamiento desactivado en Anthropic API, Claude Code envía esfuerzo `high` en lugar de un nivel más alto a modelos que sabe que [no aceptan esa combinación](/docs/es/errors#effort-isnt-available-with-thinking-turned-off), como Opus 5.

694 694 

695| Control | Cómo establecerlo |695| Control | Cómo establecerlo |

696| :--------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |696| :- | :- |

697| Alternar para la sesión actual | Presiona `Option+T` en macOS o `Alt+T` en Windows y Linux |697| Alternar para la sesión actual | Presiona `Option+T` en macOS o `Alt+T` en Windows y Linux |

698| Establecer el predeterminado global | Ejecuta `/config` y alterna el modo de pensamiento. Guardado como `alwaysThinkingEnabled` en `~/.claude/settings.json` |698| Establecer el predeterminado global | Ejecuta `/config` y alterna el modo de pensamiento. Guardado como `alwaysThinkingEnabled` en `~/.claude/settings.json` |

699| Desactivar a través de una variable de entorno | Establece [`MAX_THINKING_TOKENS=0`](/docs/es/env-vars), que desactiva el pensamiento en Anthropic API excepto en Opus 5.5 y modelos Fable. En [proveedores de terceros](/docs/es/third-party-integrations), Claude Code omite el parámetro `thinking` en su lugar, y los modelos de razonamiento adaptativo aún pueden pensar. Otros valores se aplican solo con un [presupuesto de pensamiento fijo](#adaptive-reasoning-and-fixed-thinking-budgets) |699| Desactivar a través de una variable de entorno | Establece [`MAX_THINKING_TOKENS=0`](/docs/es/env-vars), que desactiva el pensamiento en Anthropic API excepto en Opus 5.5 y modelos Fable. En [proveedores de terceros](/docs/es/third-party-integrations), Claude Code omite el parámetro `thinking` en su lugar, y los modelos de razonamiento adaptativo aún pueden pensar. Otros valores se aplican solo con un [presupuesto de pensamiento fijo](#adaptive-reasoning-and-fixed-thinking-budgets) |


713Opus 4.6 y Sonnet 4.6 alcanzan 1M solo a través de su variante `[1m]`, y el acceso a esa variante depende de tu plan. En planes Max, Team y Enterprise, incluidos tanto asientos de Team Standard como Team Premium, Opus 4.6 con contexto de 1M se incluye con tu suscripción. Sonnet 4.6 con contexto de 1M requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) en cada plan de suscripción, incluido Max.713Opus 4.6 y Sonnet 4.6 alcanzan 1M solo a través de su variante `[1m]`, y el acceso a esa variante depende de tu plan. En planes Max, Team y Enterprise, incluidos tanto asientos de Team Standard como Team Premium, Opus 4.6 con contexto de 1M se incluye con tu suscripción. Sonnet 4.6 con contexto de 1M requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) en cada plan de suscripción, incluido Max.

714 714 

715| Plan | Opus 4.6 con contexto de 1M | Sonnet 4.6 con contexto de 1M |715| Plan | Opus 4.6 con contexto de 1M | Sonnet 4.6 con contexto de 1M |

716| ---------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |716| - | - | - |

717| Max, Team y Enterprise | Incluido con suscripción | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |717| Max, Team y Enterprise | Incluido con suscripción | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

718| Pro | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |718| Pro | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Requiere [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

719| API y pago por uso | Acceso completo | Acceso completo |719| API y pago por uso | Acceso completo | Acceso completo |


854Utilice las siguientes variables de entorno para controlar los nombres de modelo a los que se asignan los alias. Cada valor debe ser un nombre de modelo completo, o el identificador equivalente para su proveedor de API. Para elegir el modelo en el que comienzan sus sesiones, establezca [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), que esta tabla omite.854Utilice las siguientes variables de entorno para controlar los nombres de modelo a los que se asignan los alias. Cada valor debe ser un nombre de modelo completo, o el identificador equivalente para su proveedor de API. Para elegir el modelo en el que comienzan sus sesiones, establezca [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), que esta tabla omite.

855 855 

856| Variable de entorno | Descripción |856| Variable de entorno | Descripción |

857| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |857| - | - |

858| `ANTHROPIC_DEFAULT_FABLE_MODEL` | El modelo a utilizar para `fable`, y el ID de modelo que Claude Code reconoce como modelo Fable para [alternancia automática de modelo](#automatic-model-fallback) en proveedores de terceros |858| `ANTHROPIC_DEFAULT_FABLE_MODEL` | El modelo a utilizar para `fable`, y el ID de modelo que Claude Code reconoce como modelo Fable para [alternancia automática de modelo](#automatic-model-fallback) en proveedores de terceros |

859| `ANTHROPIC_DEFAULT_OPUS_MODEL` | El modelo a utilizar para `opus`, o para `opusplan` cuando Plan Mode está activo. |859| `ANTHROPIC_DEFAULT_OPUS_MODEL` | El modelo a utilizar para `opus`, o para `opusplan` cuando Plan Mode está activo. |

860| `ANTHROPIC_DEFAULT_SONNET_MODEL` | El modelo a utilizar para `sonnet`, o para `opusplan` cuando Plan Mode no está activo. |860| `ANTHROPIC_DEFAULT_SONNET_MODEL` | El modelo a utilizar para `sonnet`, o para `opusplan` cuando Plan Mode no está activo. |


880Utilice las siguientes variables de entorno con IDs de modelo específicos de versión para su proveedor:880Utilice las siguientes variables de entorno con IDs de modelo específicos de versión para su proveedor:

881 881 

882| Proveedor | Ejemplo |882| Proveedor | Ejemplo |

883| :------------------------------------ | :------------------------------------------------------------------- |883| :- | :- |

884| Amazon Bedrock | `export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` |884| Amazon Bedrock | `export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` |

885| Plataforma de Agentes de Google Cloud | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |885| Plataforma de Agentes de Google Cloud | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |

886| Microsoft Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |886| Microsoft Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |


921Estas variables tienen efecto en proveedores de terceros como Amazon Bedrock, Plataforma de Agentes de Google Cloud y Microsoft Foundry. Las variables `_NAME` y `_DESCRIPTION` también tienen efecto cuando `ANTHROPIC_BASE_URL` apunta a una [puerta de enlace LLM](/docs/es/llm-gateway). No tienen efecto cuando se conecta directamente a `api.anthropic.com`.921Estas variables tienen efecto en proveedores de terceros como Amazon Bedrock, Plataforma de Agentes de Google Cloud y Microsoft Foundry. Las variables `_NAME` y `_DESCRIPTION` también tienen efecto cuando `ANTHROPIC_BASE_URL` apunta a una [puerta de enlace LLM](/docs/es/llm-gateway). No tienen efecto cuando se conecta directamente a `api.anthropic.com`.

922 922 

923| Variable de entorno | Descripción |923| Variable de entorno | Descripción |

924| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |924| - | - |

925| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nombre de visualización para el modelo Opus fijo en el selector `/model`. Cuando no está configurado, la fila muestra el nombre del modelo si Claude Code reconoce el ID fijo, y el ID fijo en caso contrario |925| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nombre de visualización para el modelo Opus fijo en el selector `/model`. Cuando no está configurado, la fila muestra el nombre del modelo si Claude Code reconoce el ID fijo, y el ID fijo en caso contrario |

926| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Descripción de visualización para el modelo Opus fijo en el selector `/model`. Cuando no está configurado, la fila muestra una descripción predeterminada que comienza con `Custom Opus model` |926| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Descripción de visualización para el modelo Opus fijo en el selector `/model`. Cuando no está configurado, la fila muestra una descripción predeterminada que comienza con `Custom Opus model` |

927| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por comas de capacidades que admite el modelo Opus fijo |927| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Lista separada por comas de capacidades que admite el modelo Opus fijo |


931Claude Code habilita características como [niveles de esfuerzo](#adjust-effort-level) y [pensamiento extendido](#extended-thinking) haciendo coincidir el ID de modelo con patrones conocidos. Los IDs específicos del proveedor como ARNs de Amazon Bedrock o nombres de implementación personalizados a menudo no coinciden con estos patrones, dejando las características compatibles deshabilitadas. Establezca `_SUPPORTED_CAPABILITIES` para indicar a Claude Code qué características admite realmente el modelo:931Claude Code habilita características como [niveles de esfuerzo](#adjust-effort-level) y [pensamiento extendido](#extended-thinking) haciendo coincidir el ID de modelo con patrones conocidos. Los IDs específicos del proveedor como ARNs de Amazon Bedrock o nombres de implementación personalizados a menudo no coinciden con estos patrones, dejando las características compatibles deshabilitadas. Establezca `_SUPPORTED_CAPABILITIES` para indicar a Claude Code qué características admite realmente el modelo:

932 932 

933| Valor de capacidad | Habilita |933| Valor de capacidad | Habilita |

934| ---------------------- | ---------------------------------------------------------------------------------------------------- |934| - | - |

935| `effort` | [Niveles de esfuerzo](#adjust-effort-level) y el comando `/effort` |935| `effort` | [Niveles de esfuerzo](#adjust-effort-level) y el comando `/effort` |

936| `xhigh_effort` | El nivel de esfuerzo `xhigh` |936| `xhigh_effort` | El nivel de esfuerzo `xhigh` |

937| `max_effort` | El nivel de esfuerzo `max` |937| `max_effort` | El nivel de esfuerzo `max` |


993Claude Code utiliza automáticamente [almacenamiento en caché de indicaciones](/docs/es/prompt-caching) para optimizar el rendimiento y reducir costos. Puede desactivar el almacenamiento en caché de indicaciones globalmente o para niveles de modelo específicos:993Claude Code utiliza automáticamente [almacenamiento en caché de indicaciones](/docs/es/prompt-caching) para optimizar el rendimiento y reducir costos. Puede desactivar el almacenamiento en caché de indicaciones globalmente o para niveles de modelo específicos:

994 994 

995| Variable de entorno | Descripción |995| Variable de entorno | Descripción |

996| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |996| - | - |

997| `DISABLE_PROMPT_CACHING` | Establezca en `1` para desactivar el almacenamiento en caché de indicaciones para todos los modelos. Tiene precedencia sobre la configuración por modelo |997| `DISABLE_PROMPT_CACHING` | Establezca en `1` para desactivar el almacenamiento en caché de indicaciones para todos los modelos. Tiene precedencia sobre la configuración por modelo |

998| `DISABLE_PROMPT_CACHING_HAIKU` | Establezca en `1` para desactivar el almacenamiento en caché de indicaciones solo para modelos Haiku |998| `DISABLE_PROMPT_CACHING_HAIKU` | Establezca en `1` para desactivar el almacenamiento en caché de indicaciones solo para modelos Haiku |

999| `DISABLE_PROMPT_CACHING_SONNET` | Establezca en `1` para desactivar el almacenamiento en caché de indicaciones solo para modelos Sonnet |999| `DISABLE_PROMPT_CACHING_SONNET` | Establezca en `1` para desactivar el almacenamiento en caché de indicaciones solo para modelos Sonnet |

Details

110En máquinas con configuración administrada, consulta [Cómo la configuración administrada bloquea el destino OTLP](#how-managed-settings-lock-the-otlp-destination) para ver qué elimina Claude Code.110En máquinas con configuración administrada, consulta [Cómo la configuración administrada bloquea el destino OTLP](#how-managed-settings-lock-the-otlp-destination) para ver qué elimina Claude Code.

111 111 

112| Variable de Entorno | Descripción | Valores de Ejemplo |112| Variable de Entorno | Descripción | Valores de Ejemplo |

113| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |113| - | - | - |

114| `CLAUDE_CODE_ENABLE_TELEMETRY` | Habilita la recopilación de telemetría (requerido) | `1` |114| `CLAUDE_CODE_ENABLE_TELEMETRY` | Habilita la recopilación de telemetría (requerido) | `1` |

115| `OTEL_METRICS_EXPORTER` | Tipos de exportador de métricas, separados por comas. Usa `none` para deshabilitar | `console`, `otlp`, `prometheus`, `none` |115| `OTEL_METRICS_EXPORTER` | Tipos de exportador de métricas, separados por comas. Usa `none` para deshabilitar | `console`, `otlp`, `prometheus`, `none` |

116| `OTEL_LOGS_EXPORTER` | Tipos de exportador de registros/eventos, separados por comas. Usa `none` para deshabilitar | `console`, `otlp`, `none` |116| `OTEL_LOGS_EXPORTER` | Tipos de exportador de registros/eventos, separados por comas. Usa `none` para deshabilitar | `console`, `otlp`, `none` |


144Cómo configures certificados de cliente para el exportador OTLP depende del protocolo OTLP en uso para esa señal, establecido a través de `OTEL_EXPORTER_OTLP_PROTOCOL` o la anulación por señal. La misma configuración se aplica a métricas, registros y trazas.144Cómo configures certificados de cliente para el exportador OTLP depende del protocolo OTLP en uso para esa señal, establecido a través de `OTEL_EXPORTER_OTLP_PROTOCOL` o la anulación por señal. La misma configuración se aplica a métricas, registros y trazas.

145 145 

146| Protocolo | Variables de certificado de cliente | Confiar en la CA del recopilador con |146| Protocolo | Variables de certificado de cliente | Confiar en la CA del recopilador con |

147| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------- |147| :- | :- | :- |

148| `http/protobuf`, `http/json` | `CLAUDE_CODE_CLIENT_CERT`, `CLAUDE_CODE_CLIENT_KEY`, y opcionalmente `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`. Consulta [Configuración de red](/docs/es/network-config#mtls-authentication) | `NODE_EXTRA_CA_CERTS` |148| `http/protobuf`, `http/json` | `CLAUDE_CODE_CLIENT_CERT`, `CLAUDE_CODE_CLIENT_KEY`, y opcionalmente `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`. Consulta [Configuración de red](/docs/es/network-config#mtls-authentication) | `NODE_EXTRA_CA_CERTS` |

149| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` y `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`, o las variantes por señal como `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` para usar un certificado diferente por señal | `OTEL_EXPORTER_OTLP_CERTIFICATE` |149| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` y `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`, o las variantes por señal como `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` para usar un certificado diferente por señal | `OTEL_EXPORTER_OTLP_CERTIFICATE` |

150 150 


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

158 158 

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

160| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------- | ------------------------- |160| - | - | - | - |

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

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

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


176Las trazas están deshabilitadas por defecto. Para habilitarlas, establece tanto `CLAUDE_CODE_ENABLE_TELEMETRY=1` como `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, luego establece `OTEL_TRACES_EXPORTER` para elegir dónde se envían los spans. Las trazas reutilizan la [configuración OTLP común](#common-configuration-variables) para punto final, protocolo, encabezados, y [mTLS](#mtls-authentication). En máquinas con configuración administrada, Claude Code [puede eliminar credenciales y puntos finales por señal establecidos por desarrolladores](#how-managed-settings-lock-the-otlp-destination) al inicio.176Las trazas están deshabilitadas por defecto. Para habilitarlas, establece tanto `CLAUDE_CODE_ENABLE_TELEMETRY=1` como `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, luego establece `OTEL_TRACES_EXPORTER` para elegir dónde se envían los spans. Las trazas reutilizan la [configuración OTLP común](#common-configuration-variables) para punto final, protocolo, encabezados, y [mTLS](#mtls-authentication). En máquinas con configuración administrada, Claude Code [puede eliminar credenciales y puntos finales por señal establecidos por desarrolladores](#how-managed-settings-lock-the-otlp-destination) al inicio.

177 177 

178| Variable de Entorno | Descripción | Valores de Ejemplo |178| Variable de Entorno | Descripción | Valores de Ejemplo |

179| ------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------ |179| - | - | - |

180| `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` | Habilitar trazas de span (requerido). `ENABLE_ENHANCED_TELEMETRY_BETA` también se acepta | `1` |180| `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` | Habilitar trazas de span (requerido). `ENABLE_ENHANCED_TELEMETRY_BETA` también se acepta | `1` |

181| `OTEL_TRACES_EXPORTER` | Tipos de exportador de trazas, separados por comas. Usa `none` para deshabilitar | `console`, `otlp`, `none` |181| `OTEL_TRACES_EXPORTER` | Tipos de exportador de trazas, separados por comas. Usa `none` para deshabilitar | `console`, `otlp`, `none` |

182| `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` | Protocolo para trazas, anula `OTEL_EXPORTER_OTLP_PROTOCOL` | `grpc`, `http/json`, `http/protobuf` |182| `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` | Protocolo para trazas, anula `OTEL_EXPORTER_OTLP_PROTOCOL` | `grpc`, `http/json`, `http/protobuf` |


227**`claude_code.interaction`**227**`claude_code.interaction`**

228 228 

229| Atributo | Descripción | Controlado Por |229| Atributo | Descripción | Controlado Por |

230| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |230| - | - | - |

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

232| `user_prompt_length` | Longitud del mensaje en caracteres | |232| `user_prompt_length` | Longitud del mensaje en caracteres | |

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


237**`claude_code.llm_request`**237**`claude_code.llm_request`**

238 238 

239| Atributo | Descripción | Controlado Por |239| Atributo | Descripción | Controlado Por |

240| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |240| - | - | - |

241| `model` | Identificador de modelo | |241| `model` | Identificador de modelo | |

242| `gen_ai.system` | Siempre `anthropic`. Convención semántica de GenAI de OpenTelemetry | |242| `gen_ai.system` | Siempre `anthropic`. Convención semántica de GenAI de OpenTelemetry | |

243| `gen_ai.request.model` | Mismo valor que `model`. Convención semántica de GenAI de OpenTelemetry | |243| `gen_ai.request.model` | Mismo valor que `model`. Convención semántica de GenAI de OpenTelemetry | |


274**`claude_code.tool`**274**`claude_code.tool`**

275 275 

276| Atributo | Descripción | Controlado Por |276| Atributo | Descripción | Controlado Por |

277| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------- |277| - | - | - |

278| `tool_name` | Nombre de la herramienta | |278| `tool_name` | Nombre de la herramienta | |

279| `tool_name_safe` | Forma de `tool_name` que no lleva nombres elegidos por el usuario. Los nombres de herramientas integradas pasan verbatim. Los nombres de herramientas MCP aparecen como `mcp_other`, excepto los nombres de herramientas que coinciden con algunas formas fijas, como herramientas `playwright` nombradas `browser_*`, que pasan verbatim. Requiere Claude Code v2.1.268 o posterior | |279| `tool_name_safe` | Forma de `tool_name` que no lleva nombres elegidos por el usuario. Los nombres de herramientas integradas pasan verbatim. Los nombres de herramientas MCP aparecen como `mcp_other`, excepto los nombres de herramientas que coinciden con algunas formas fijas, como herramientas `playwright` nombradas `browser_*`, que pasan verbatim. Requiere Claude Code v2.1.268 o posterior | |

280| `bash_command_class` | Para la herramienta Bash: categoría del primer programa del comando de una lista fija, como `vcs` o `package_manager`. `other` para un programa fuera de la lista, `unparsed` cuando la línea no se puede analizar. Requiere Claude Code v2.1.268 o posterior | |280| `bash_command_class` | Para la herramienta Bash: categoría del primer programa del comando de una lista fija, como `vcs` o `package_manager`. `other` para un programa fuera de la lista, `unparsed` cuando la línea no se puede analizar. Requiere Claude Code v2.1.268 o posterior | |


305El evento lleva estos atributos, cada uno truncado en el límite de contenido (60 KB por defecto). `Controlado Por` nombra la variable que un atributo necesita además de `OTEL_LOG_TOOL_CONTENT=1`, y para Edit y Write esa variable controla el evento en sí en lugar del atributo.305El evento lleva estos atributos, cada uno truncado en el límite de contenido (60 KB por defecto). `Controlado Por` nombra la variable que un atributo necesita además de `OTEL_LOG_TOOL_CONTENT=1`, y para Edit y Write esa variable controla el evento en sí en lugar del atributo.

306 306 

307| Atributo | Descripción | Controlado Por |307| Atributo | Descripción | Controlado Por |

308| -------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |308| - | - | - |

309| `content` | Texto que la herramienta Read retornó, o el texto que una llamada Write fue solicitada a escribir | `OTEL_LOG_TOOL_DETAILS` para la herramienta Write |309| `content` | Texto que la herramienta Read retornó, o el texto que una llamada Write fue solicitada a escribir | `OTEL_LOG_TOOL_DETAILS` para la herramienta Write |

310| `output` | Salida combinada de un comando Bash, con stderr intercalado en stdout | |310| `output` | Salida combinada de un comando Bash, con stderr intercalado en stdout | |

311| `diff` | Parche estructurado que la herramienta Edit aplicó | `OTEL_LOG_TOOL_DETAILS` |311| `diff` | Parche estructurado que la herramienta Edit aplicó | `OTEL_LOG_TOOL_DETAILS` |


317**`claude_code.tool.blocked_on_user`**317**`claude_code.tool.blocked_on_user`**

318 318 

319| Atributo | Descripción | Controlado Por |319| Atributo | Descripción | Controlado Por |

320| ------------- | ------------------------------------------------------------------------------------------ | -------------- |320| - | - | - |

321| `duration_ms` | Tiempo dedicado a esperar la decisión de permiso | |321| `duration_ms` | Tiempo dedicado a esperar la decisión de permiso | |

322| `decision` | `accept` o `reject` | |322| `decision` | `accept` o `reject` | |

323| `source` | Fuente de decisión, coincidiendo con el evento [Tool decision event](#tool-decision-event) | |323| `source` | Fuente de decisión, coincidiendo con el evento [Tool decision event](#tool-decision-event) | |


325**`claude_code.tool.execution`**325**`claude_code.tool.execution`**

326 326 

327| Atributo | Descripción | Controlado Por |327| Atributo | Descripción | Controlado Por |

328| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |328| - | - | - |

329| `duration_ms` | Tiempo dedicado a ejecutar el cuerpo de la herramienta | |329| `duration_ms` | Tiempo dedicado a ejecutar el cuerpo de la herramienta | |

330| `tool_use_id` | Mismo valor que en el span padre `claude_code.tool` | |330| `tool_use_id` | Mismo valor que en el span padre `claude_code.tool` | |

331| `gen_ai.tool.call.id` | Mismo valor que `tool_use_id`. Convención semántica de GenAI de OpenTelemetry | |331| `gen_ai.tool.call.id` | Mismo valor que `tool_use_id`. Convención semántica de GenAI de OpenTelemetry | |


340En sesiones de CLI interactivas, el trazado beta detallado también requiere que tu organización esté en la lista de permitidos para la característica. Las sesiones del SDK de Agent y no interactivas `-p` no requieren lista de permitidos.340En sesiones de CLI interactivas, el trazado beta detallado también requiere que tu organización esté en la lista de permitidos para la característica. Las sesiones del SDK de Agent y no interactivas `-p` no requieren lista de permitidos.

341 341 

342| Atributo | Descripción | Controlado Por |342| Atributo | Descripción | Controlado Por |

343| ------------------------ | --------------------------------------------------------- | ----------------------- |343| - | - | - |

344| `hook_event` | Tipo de evento de hook, como `PreToolUse` | |344| `hook_event` | Tipo de evento de hook, como `PreToolUse` | |

345| `hook_name` | Nombre completo del hook, como `PreToolUse:Write` | |345| `hook_name` | Nombre completo del hook, como `PreToolUse:Write` | |

346| `num_hooks` | Número de comandos de hook coincidentes ejecutados | |346| `num_hooks` | Número de comandos de hook coincidentes ejecutados | |


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

534 534 

535| Atributo | Descripción | Controlado por |535| Atributo | Descripción | Controlado por |

536| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |536| - | - | - |

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

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

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


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

565 565 

566| Atributo | Valor |566| Atributo | Valor |

567| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |567| - | - |

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

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

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


583Claude Code exporta las siguientes métricas. La columna Unit muestra la cadena de unidad de OpenTelemetry adjunta a cada métrica; las métricas de conteo no llevan ninguna.583Claude Code exporta las siguientes métricas. La columna Unit muestra la cadena de unidad de OpenTelemetry adjunta a cada métrica; las métricas de conteo no llevan ninguna.

584 584 

585| Nombre de métrica | Descripción | Unidad |585| Nombre de métrica | Descripción | Unidad |

586| ------------------------------------- | ------------------------------------------------------------------- | ------- |586| - | - | - |

587| `claude_code.session.count` | Conteo de sesiones de CLI iniciadas | ninguna |587| `claude_code.session.count` | Conteo de sesiones de CLI iniciadas | ninguna |

588| `claude_code.lines_of_code.count` | Conteo de líneas de código modificadas | ninguna |588| `claude_code.lines_of_code.count` | Conteo de líneas de código modificadas | ninguna |

589| `claude_code.pull_request.count` | Número de solicitudes de extracción creadas | ninguna |589| `claude_code.pull_request.count` | Número de solicitudes de extracción creadas | ninguna |


718Cuando un usuario envía un mensaje, Claude Code puede hacer múltiples llamadas de API y ejecutar varias herramientas. El atributo `prompt.id` le permite vincular todos esos eventos al único mensaje que los desencadenó.718Cuando un usuario envía un mensaje, Claude Code puede hacer múltiples llamadas de API y ejecutar varias herramientas. El atributo `prompt.id` le permite vincular todos esos eventos al único mensaje que los desencadenó.

719 719 

720| Atributo | Descripción |720| Atributo | Descripción |

721| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |721| - | - |

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

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

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


1424</h3>1424</h3>

1425 1425 

1426| Métrica | Oportunidad de Análisis |1426| Métrica | Oportunidad de Análisis |

1427| ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |1427| - | - |

1428| `claude_code.token.usage` | Desglosar por `type` (entrada/salida), usuario, equipo, modelo, `skill.name`, `plugin.name`, o `agent.name` |1428| `claude_code.token.usage` | Desglosar por `type` (entrada/salida), usuario, equipo, modelo, `skill.name`, `plugin.name`, o `agent.name` |

1429| `claude_code.session.count` | Rastrear adopción y compromiso a lo largo del tiempo |1429| `claude_code.session.count` | Rastrear adopción y compromiso a lo largo del tiempo |

1430| `claude_code.lines_of_code.count` | Medir productividad rastreando adiciones y eliminaciones de código, desglosado por modelo |1430| `claude_code.lines_of_code.count` | Medir productividad rastreando adiciones y eliminaciones de código, desglosado por modelo |


1514Para capturar la actividad del servidor MCP con detalle completo de llamadas, habilite el exportador de registros y establezca `OTEL_LOG_TOOL_DETAILS=1`. Cada operación MCP produce entonces eventos estructurados que llevan el nombre del servidor, nombre de la herramienta y argumentos de llamada junto con los atributos de identidad estándar:1514Para capturar la actividad del servidor MCP con detalle completo de llamadas, habilite el exportador de registros y establezca `OTEL_LOG_TOOL_DETAILS=1`. Cada operación MCP produce entonces eventos estructurados que llevan el nombre del servidor, nombre de la herramienta y argumentos de llamada junto con los atributos de identidad estándar:

1515 1515 

1516| Evento | Qué registra para MCP |1516| Evento | Qué registra para MCP |

1517| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1517| - | - |

1518| `mcp_server_connection` | Conexión del servidor, desconexión y fallo de conexión con `server_name`, `transport_type`, `server_scope`, y detalle de error |1518| `mcp_server_connection` | Conexión del servidor, desconexión y fallo de conexión con `server_name`, `transport_type`, `server_scope`, y detalle de error |

1519| `tool_result` | Cada llamada de herramienta MCP con `tool_name` y `mcp_server_scope`, una carga útil `tool_parameters` que contiene `mcp_server_name` y `mcp_tool_name`, y una carga útil `tool_input` que contiene los argumentos de llamada |1519| `tool_result` | Cada llamada de herramienta MCP con `tool_name` y `mcp_server_scope`, una carga útil `tool_parameters` que contiene `mcp_server_name` y `mcp_tool_name`, y una carga útil `tool_input` que contiene los argumentos de llamada |

1520| `tool_decision` | Si la llamada fue permitida o denegada, si la decisión provino de configuración, un hook, o el usuario, y una carga útil `tool_parameters` que contiene `mcp_server_name` y `mcp_tool_name` |1520| `tool_decision` | Si la llamada fue permitida o denegada, si la decisión provino de configuración, un hook, o el usuario, y una carga útil `tool_parameters` que contiene `mcp_server_name` y `mcp_tool_name` |


1532Al construir reglas de detección, busque la señal que desea monitorear y consulte su backend para el evento correspondiente y atributos:1532Al construir reglas de detección, busque la señal que desea monitorear y consulte su backend para el evento correspondiente y atributos:

1533 1533 

1534| Señal | Evento | Atributos Clave |1534| Señal | Evento | Atributos Clave |

1535| --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1535| - | - | - |

1536| Llamada de herramienta permitida o denegada, y por qué | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |1536| Llamada de herramienta permitida o denegada, y por qué | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |

1537| Escalada de modo de permiso | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1537| Escalada de modo de permiso | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1538| Hook de política bloqueó una acción | `hook_execution_complete` | `hook_event`, `num_blocking` |1538| Hook de política bloqueó una acción | `hook_execution_complete` | `hook_event`, `num_blocking` |

Details

206Claude Code ejecuta cuatro temporizadores independientes que abortan una respuesta de modelo en streaming cuando se queda en silencio, de modo que una conexión muerta falla y se reintenta en lugar de quedarse colgada. El plazo de primer byte cubre la espera de encabezados de respuesta, antes de que haya llegado ninguna parte de la respuesta. Cada uno de los otros tres supervisa una respuesta activa para una señal diferente.206Claude Code ejecuta cuatro temporizadores independientes que abortan una respuesta de modelo en streaming cuando se queda en silencio, de modo que una conexión muerta falla y se reintenta en lugar de quedarse colgada. El plazo de primer byte cubre la espera de encabezados de respuesta, antes de que haya llegado ninguna parte de la respuesta. Cada uno de los otros tres supervisa una respuesta activa para una señal diferente.

207 207 

208| Temporizador | Aborta cuando | Se ejecuta en | Tiempo de espera predeterminado |208| Temporizador | Aborta cuando | Se ejecuta en | Tiempo de espera predeterminado |

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

210| Plazo de primer byte | No llegan encabezados de respuesta después de que Claude Code envía la solicitud | API de Anthropic directa y [Claude Platform on AWS](/docs/es/claude-platform-on-aws), incluyendo a través de un proxy HTTPS, pero no cuando `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL` los enrutan a través de una [gateway](/docs/es/gateways). Opt-in en Amazon Bedrock con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; no se ejecuta en Agent Platform de Google Cloud o Microsoft Foundry | 180 segundos en la API de Anthropic directa, 300 segundos en otros lugares, más un segundo por cada 32KB del cuerpo de la solicitud |210| Plazo de primer byte | No llegan encabezados de respuesta después de que Claude Code envía la solicitud | API de Anthropic directa y [Claude Platform on AWS](/docs/es/claude-platform-on-aws), incluyendo a través de un proxy HTTPS, pero no cuando `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL` los enrutan a través de una [gateway](/docs/es/gateways). Opt-in en Amazon Bedrock con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; no se ejecuta en Agent Platform de Google Cloud o Microsoft Foundry | 180 segundos en la API de Anthropic directa, 300 segundos en otros lugares, más un segundo por cada 32KB del cuerpo de la solicitud |

211| Perro guardián a nivel de evento | No se analizan eventos de respuesta. En conexiones donde se ejecuta el perro guardián a nivel de byte, los bytes que llegan, incluyendo pings de keep-alive, también reinician este perro guardián, durante aproximadamente cinco minutos sin un evento analizado | Cada proveedor | 300 segundos |211| Perro guardián a nivel de evento | No se analizan eventos de respuesta. En conexiones donde se ejecuta el perro guardián a nivel de byte, los bytes que llegan, incluyendo pings de keep-alive, también reinician este perro guardián, durante aproximadamente cinco minutos sin un evento analizado | Cada proveedor | 300 segundos |

212| Perro guardián a nivel de byte | No llegan bytes en el cable, incluyendo pings de keep-alive de SSE | API de Anthropic directa, [Claude Platform on AWS](/docs/es/claude-platform-on-aws), y conexiones de [gateway](/docs/es/gateways), incluyendo un `ANTHROPIC_BASE_URL` personalizado. Opt-in en respuestas `vnd.amazon.eventstream` de Amazon Bedrock con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; no se ejecuta en Agent Platform de Google Cloud o Microsoft Foundry | 180 segundos en la API de Anthropic directa, 300 segundos en otros lugares |212| Perro guardián a nivel de byte | No llegan bytes en el cable, incluyendo pings de keep-alive de SSE | API de Anthropic directa, [Claude Platform on AWS](/docs/es/claude-platform-on-aws), y conexiones de [gateway](/docs/es/gateways), incluyendo un `ANTHROPIC_BASE_URL` personalizado. Opt-in en respuestas `vnd.amazon.eventstream` de Amazon Bedrock con `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; no se ejecuta en Agent Platform de Google Cloud o Microsoft Foundry | 180 segundos en la API de Anthropic directa, 300 segundos en otros lugares |


233Claude Code requiere acceso a las siguientes URLs. Agregue estas a la lista de permitidos en su configuración de proxy y reglas de firewall, especialmente en entornos de red en contenedores o restringidos. La verificación de conectividad de configuración de primera ejecución apunta aquí cuando no puede alcanzar `api.anthropic.com` o `platform.claude.com`; consulte [No se puede conectar a los servicios de Anthropic](/docs/es/errors#unable-to-connect-to-anthropic-services) para los mensajes de la verificación y los pasos de recuperación.233Claude Code requiere acceso a las siguientes URLs. Agregue estas a la lista de permitidos en su configuración de proxy y reglas de firewall, especialmente en entornos de red en contenedores o restringidos. La verificación de conectividad de configuración de primera ejecución apunta aquí cuando no puede alcanzar `api.anthropic.com` o `platform.claude.com`; consulte [No se puede conectar a los servicios de Anthropic](/docs/es/errors#unable-to-connect-to-anthropic-services) para los mensajes de la verificación y los pasos de recuperación.

234 234 

235| URL | Requerido para |235| URL | Requerido para |

236| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |236| - | - |

237| `api.anthropic.com` | Solicitudes de API de Claude, incluida la verificación de seguridad de dominio de WebFetch [domain safety check](/docs/es/data-usage#webfetch-domain-safety-check), obtención de banderas de características y registro de eventos de telemetría |237| `api.anthropic.com` | Solicitudes de API de Claude, incluida la verificación de seguridad de dominio de WebFetch [domain safety check](/docs/es/data-usage#webfetch-domain-safety-check), obtención de banderas de características y registro de eventos de telemetría |

238| `claude.ai` | Autenticación de cuenta de claude.ai |238| `claude.ai` | Autenticación de cuenta de claude.ai |

239| `claude.com` | El inicio de sesión de la cuenta de claude.ai abre una página `claude.com` en el navegador, que redirige a `claude.ai`; las búsquedas de documentación de WebFetch preaprobadas también llegan a este host desde la CLI |239| `claude.com` | El inicio de sesión de la cuenta de claude.ai abre una página `claude.com` en el navegador, que redirige a `claude.ai`; las búsquedas de documentación de WebFetch preaprobadas también llegan a este host desde la CLI |

Details

30Esta tabla muestra qué cambia cada estilo en una sesión y cuándo es apropiado:30Esta tabla muestra qué cambia cada estilo en una sesión y cuándo es apropiado:

31 31 

32| Estilo | Qué cambia | Úselo cuando |32| Estilo | Qué cambia | Úselo cuando |

33| :-------------------------- | :-------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |33| :- | :- | :- |

34| [Proactive](#proactive) | Claude comienza el trabajo de inmediato y realiza suposiciones razonables en lugar de preguntar sobre decisiones rutinarias | Desea que Claude continúe trabajando a través de decisiones rutinarias, y corregirá el rumbo si una suposición es incorrecta |34| [Proactive](#proactive) | Claude comienza el trabajo de inmediato y realiza suposiciones razonables en lugar de preguntar sobre decisiones rutinarias | Desea que Claude continúe trabajando a través de decisiones rutinarias, y corregirá el rumbo si una suposición es incorrecta |

35| [Concise](#concise) | Las respuestas comienzan con el resultado y omiten el preámbulo, la narración y los resúmenes | Las respuestas predeterminadas son más largas de lo que desea |35| [Concise](#concise) | Las respuestas comienzan con el resultado y omiten el preámbulo, la narración y los resúmenes | Las respuestas predeterminadas son más largas de lo que desea |

36| [Explanatory](#explanatory) | Claude añade bloques cortos de `Insight` que explican las opciones detrás del código que escribe | Está conociendo una base de código o desea el razonamiento junto con el cambio |36| [Explanatory](#explanatory) | Claude añade bloques cortos de `Insight` que explican las opciones detrás del código que escribe | Está conociendo una base de código o desea el razonamiento junto con el cambio |


180Configure un estilo de salida con [frontmatter](/docs/es/glossary#frontmatter) YAML entre marcadores `---` en la parte superior del archivo. Todos los campos son opcionales, y los nombres de los campos utilizan palabras en minúsculas separadas por guiones. Un campo mal escrito se ignora sin un error. Si el YAML no se analiza, el estilo aún se carga bajo su nombre de archivo sin campos establecidos; ejecute `claude --debug` para ver el error de análisis.180Configure un estilo de salida con [frontmatter](/docs/es/glossary#frontmatter) YAML entre marcadores `---` en la parte superior del archivo. Todos los campos son opcionales, y los nombres de los campos utilizan palabras en minúsculas separadas por guiones. Un campo mal escrito se ignora sin un error. Si el YAML no se analiza, el estilo aún se carga bajo su nombre de archivo sin campos establecidos; ejecute `claude --debug` para ver el error de análisis.

181 181 

182| Campo | Requerido | Descripción |182| Campo | Requerido | Descripción |

183| :------------------------- | :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |183| :- | :- | :- |

184| `name` | No | Nombre del estilo de salida, mostrado en el selector `/config`. Predeterminado: el nombre del archivo |184| `name` | No | Nombre del estilo de salida, mostrado en el selector `/config`. Predeterminado: el nombre del archivo |

185| `description` | No | Descripción del estilo de salida, mostrada en el selector `/config` |185| `description` | No | Descripción del estilo de salida, mostrada en el selector `/config` |

186| `keep-coding-instructions` | No | Establezca en `true` para mantener las instrucciones integradas de ingeniería de software de Claude Code junto con su estilo. Predeterminado: `false` |186| `keep-coding-instructions` | No | Establezca en `true` para mantener las instrucciones integradas de ingeniería de software de Claude Code junto con su estilo. Predeterminado: `false` |


197Esta tabla hace coincidir lo que desea con la característica que lo hace:197Esta tabla hace coincidir lo que desea con la característica que lo hace:

198 198 

199| Lo que desea | Usar | Por qué se ajusta |199| Lo que desea | Usar | Por qué se ajusta |

200| :---------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |200| :- | :- | :- |

201| Cada respuesta en una voz, longitud o formato determinados, o Claude en un rol diferente | Un estilo de salida | Se aplica a toda la sesión, y cambia estilos con un comando |201| Cada respuesta en una voz, longitud o formato determinados, o Claude en un rol diferente | Un estilo de salida | Se aplica a toda la sesión, y cambia estilos con un comando |

202| Claude debe conocer las convenciones, comandos y estructura de su proyecto | [CLAUDE.md](/docs/es/memory) | Contiene lo que Claude debe saber sobre la base de código, y permanece cargado cualquiera que sea el estilo que elija |202| Claude debe conocer las convenciones, comandos y estructura de su proyecto | [CLAUDE.md](/docs/es/memory) | Contiene lo que Claude debe saber sobre la base de código, y permanece cargado cualquiera que sea el estilo que elija |

203| Instrucciones para un tipo de tarea, como una lista de verificación de lanzamiento o un procedimiento de revisión | Una [skill](/docs/es/skills) | Claude la carga solo cuando la invoca o la tarea coincide, por lo que no da forma a respuestas no relacionadas |203| Instrucciones para un tipo de tarea, como una lista de verificación de lanzamiento o un procedimiento de revisión | Una [skill](/docs/es/skills) | Claude la carga solo cuando la invoca o la tarea coincide, por lo que no da forma a respuestas no relacionadas |

overview.md +1 −1

Details

227Más allá de los entornos [Terminal](/docs/es/quickstart), [VS Code](/docs/es/vs-code), [JetBrains](/docs/es/jetbrains), [Desktop](/docs/es/desktop) y [Web](/docs/es/claude-code-on-the-web) anteriores, Claude Code se integra con flujos de trabajo de CI/CD, chat y navegador:227Más allá de los entornos [Terminal](/docs/es/quickstart), [VS Code](/docs/es/vs-code), [JetBrains](/docs/es/jetbrains), [Desktop](/docs/es/desktop) y [Web](/docs/es/claude-code-on-the-web) anteriores, Claude Code se integra con flujos de trabajo de CI/CD, chat y navegador:

228 228 

229| Quiero... | Mejor opción |229| Quiero... | Mejor opción |

230| ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------- |230| - | - |

231| Continuar una sesión local desde mi teléfono u otro dispositivo | [Remote Control](/docs/es/remote-control) |231| Continuar una sesión local desde mi teléfono u otro dispositivo | [Remote Control](/docs/es/remote-control) |

232| Enviar eventos desde Telegram, Discord, iMessage o mis propios webhooks a una sesión | [Channels](/docs/es/channels) |232| Enviar eventos desde Telegram, Discord, iMessage o mis propios webhooks a una sesión | [Channels](/docs/es/channels) |

233| Iniciar una tarea localmente, continuar en móvil | [`claude --cloud`](/docs/es/claude-code-on-the-web#from-terminal-to-cloud), luego la [aplicación móvil Claude](/docs/es/mobile) |233| Iniciar una tarea localmente, continuar en móvil | [`claude --cloud`](/docs/es/claude-code-on-the-web#from-terminal-to-cloud), luego la [aplicación móvil Claude](/docs/es/mobile) |

Details

17Cada modo hace un compromiso diferente entre conveniencia y supervisión. La tabla a continuación muestra qué puede hacer Claude sin un aviso de permiso en cada modo. El modo manual aparece bajo su valor de configuración, `default`.17Cada modo hace un compromiso diferente entre conveniencia y supervisión. La tabla a continuación muestra qué puede hacer Claude sin un aviso de permiso en cada modo. El modo manual aparece bajo su valor de configuración, `default`.

18 18 

19| Modo | Qué se ejecuta sin preguntar | Mejor para |19| Modo | Qué se ejecuta sin preguntar | Mejor para |

20| :------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------ |20| :- | :- | :- |

21| `default` | Solo lecturas | Revisar cada acción usted mismo, trabajo sensible |21| `default` | Solo lecturas | Revisar cada acción usted mismo, trabajo sensible |

22| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | Lecturas, ediciones de archivos y comandos comunes del sistema de archivos (`mkdir`, `touch`, `mv`, `cp`, etc.) | Iterar sobre código que está revisando |22| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | Lecturas, ediciones de archivos y comandos comunes del sistema de archivos (`mkdir`, `touch`, `mv`, `cp`, etc.) | Iterar sobre código que está revisando |

23| [`plan`](#analyze-before-you-edit-with-plan-mode) | Lecturas, más comandos aprobados por clasificador cuando [modo automático](#eliminate-prompts-with-auto-mode) está disponible | Explorar una base de código antes de cambiarla |23| [`plan`](#analyze-before-you-edit-with-plan-mode) | Lecturas, más comandos aprobados por clasificador cuando [modo automático](#eliminate-prompts-with-auto-mode) está disponible | Explorar una base de código antes de cambiarla |


53Los modos de permisos deciden si Claude solicita antes de una acción, y el [sandbox Bash](/docs/es/sandboxing) y los [límites de aislamiento](/docs/es/sandbox-environments) externos deciden qué puede alcanzar una acción una vez que se ejecuta. Cada fila a continuación empareja un objetivo con las banderas o configuraciones que lo logran y el aislamiento que necesita, como punto de partida. [Modos disponibles](#available-modes) enumera qué se ejecuta sin un aviso en cada modo.53Los modos de permisos deciden si Claude solicita antes de una acción, y el [sandbox Bash](/docs/es/sandboxing) y los [límites de aislamiento](/docs/es/sandbox-environments) externos deciden qué puede alcanzar una acción una vez que se ejecuta. Cada fila a continuación empareja un objetivo con las banderas o configuraciones que lo logran y el aislamiento que necesita, como punto de partida. [Modos disponibles](#available-modes) enumera qué se ejecuta sin un aviso en cada modo.

54 54 

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 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` |

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) |


84El valor predeterminado integrado depende de cómo ejecute Claude Code, de su plan y de si Claude Code pudo obtener sus banderas de características. La primera fila que coincida con su sesión se aplica. La tabla cubre sesiones que inicia en una terminal o a través de la extensión de VS Code; para la aplicación de escritorio y claude.ai, consulte las pestañas Desktop y Web en [Cambiar modos de permisos](#switch-permission-modes).84El valor predeterminado integrado depende de cómo ejecute Claude Code, de su plan y de si Claude Code pudo obtener sus banderas de características. La primera fila que coincida con su sesión se aplica. La tabla cubre sesiones que inicia en una terminal o a través de la extensión de VS Code; para la aplicación de escritorio y claude.ai, consulte las pestañas Desktop y Web en [Cambiar modos de permisos](#switch-permission-modes).

85 85 

86| Cómo ejecuta Claude Code | Modo de permisos inicial integrado |86| Cómo ejecuta Claude Code | Modo de permisos inicial integrado |

87| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------- |87| :- | :- |

88| Cualquier archivo de configuración establece `disableAutoMode` en `"disable"` | `default` |88| Cualquier archivo de configuración establece `disableAutoMode` en `"disable"` | `default` |

89| La [obtención de banderas de características](/docs/es/env-vars#features-that-need-feature-flag-fetching) está desactivada | `default` |89| La [obtención de banderas de características](/docs/es/env-vars#features-that-need-feature-flag-fetching) está desactivada | `default` |

90| Su [primera sesión después de instalar Claude Code o actualizar](/docs/es/env-vars#first-session-after-an-install-or-upgrade) a una versión que agrega este valor predeterminado, a menos que, después de una instalación nueva, Claude Code obtenga las banderas a tiempo | `default` |90| Su [primera sesión después de instalar Claude Code o actualizar](/docs/es/env-vars#first-session-after-an-install-or-upgrade) a una versión que agrega este valor predeterminado, a menos que, después de una instalación nueva, Claude Code obtenga las banderas a tiempo | `default` |


111Puede establecer el modo de permisos inicial para una sesión, o como predeterminado para cada sesión en una máquina, proyecto u organización. Cuando más de un archivo de configuración establece `permissions.defaultMode`, [precedencia de configuración](/docs/es/settings#settings-precedence) decide, por lo que un valor de proyecto o administrado supera `~/.claude/settings.json`. Para cambiar el modo de permisos de una sesión que ya se está ejecutando, consulte [Cambiar modos de permisos](#switch-permission-modes).111Puede establecer el modo de permisos inicial para una sesión, o como predeterminado para cada sesión en una máquina, proyecto u organización. Cuando más de un archivo de configuración establece `permissions.defaultMode`, [precedencia de configuración](/docs/es/settings#settings-precedence) decide, por lo que un valor de proyecto o administrado supera `~/.claude/settings.json`. Para cambiar el modo de permisos de una sesión que ya se está ejecutando, consulte [Cambiar modos de permisos](#switch-permission-modes).

112 112 

113| Para establecer el modo de permisos inicial para | Haga esto |113| Para establecer el modo de permisos inicial para | Haga esto |

114| :------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |114| :- | :- |

115| Una sesión que está a punto de iniciar | Pase el modo de permisos como una bandera, por ejemplo `claude --permission-mode default` |115| Una sesión que está a punto de iniciar | Pase el modo de permisos como una bandera, por ejemplo `claude --permission-mode default` |

116| Cada sesión de terminal que inicia en esta máquina | Establezca `permissions.defaultMode` en `~/.claude/settings.json`. Para lo que lee la extensión de VS Code, consulte [Cambiar modos de permisos](#switch-permission-modes) |116| Cada sesión de terminal que inicia en esta máquina | Establezca `permissions.defaultMode` en `~/.claude/settings.json`. Para lo que lee la extensión de VS Code, consulte [Cambiar modos de permisos](#switch-permission-modes) |

117| Cada sesión de terminal que inicia en un proyecto | Establezca `permissions.defaultMode` en `.claude/settings.json` del proyecto. Las sesiones que inicia en una terminal respetan cada valor excepto `auto` y `bypassPermissions`; las sesiones que inicia la extensión de VS Code no leen configuración de proyecto para el modo de permisos inicial |117| Cada sesión de terminal que inicia en un proyecto | Establezca `permissions.defaultMode` en `.claude/settings.json` del proyecto. Las sesiones que inicia en una terminal respetan cada valor excepto `auto` y `bypassPermissions`; las sesiones que inicia la extensión de VS Code no leen configuración de proyecto para el modo de permisos inicial |


166 **Durante una sesión**: haga clic en el indicador de modo en la parte inferior del cuadro de solicitud. Utiliza estas etiquetas para los modos en esta página:166 **Durante una sesión**: haga clic en el indicador de modo en la parte inferior del cuadro de solicitud. Utiliza estas etiquetas para los modos en esta página:

167 167 

168 | Etiqueta de interfaz | Modo |168 | Etiqueta de interfaz | Modo |

169 | :--------------------- | :------------------ |169 | :- | :- |

170 | Manual | `default` |170 | Manual | `default` |

171 | Editar automáticamente | `acceptEdits` |171 | Editar automáticamente | `acceptEdits` |

172 | Plan | `plan` |172 | Plan | `plan` |


614Las escrituras en un pequeño conjunto de rutas nunca se aprueban automáticamente, excepto en modo `bypassPermissions` y en sesiones de terminal interactivas en modo plan con [permisos de omisión](#skip-all-checks-with-bypasspermissions-mode) disponibles. Esto previene la corrupción accidental del estado del repositorio y la configuración de Claude.614Las escrituras en un pequeño conjunto de rutas nunca se aprueban automáticamente, excepto en modo `bypassPermissions` y en sesiones de terminal interactivas en modo plan con [permisos de omisión](#skip-all-checks-with-bypasspermissions-mode) disponibles. Esto previene la corrupción accidental del estado del repositorio y la configuración de Claude.

615 615 

616| Modo | Escrituras en rutas protegidas |616| Modo | Escrituras en rutas protegidas |

617| :----------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |617| :- | :- |

618| `default`, `acceptEdits` | Solicitadas |618| `default`, `acceptEdits` | Solicitadas |

619| `plan` | Permitidas en sesiones de terminal interactivas con [permisos de omisión](#skip-all-checks-with-bypasspermissions-mode) disponibles. De lo contrario, enrutadas al clasificador cuando [modo automático](#eliminate-prompts-with-auto-mode) está disponible durante la planificación, y solicitadas cuando no lo está |619| `plan` | Permitidas en sesiones de terminal interactivas con [permisos de omisión](#skip-all-checks-with-bypasspermissions-mode) disponibles. De lo contrario, enrutadas al clasificador cuando [modo automático](#eliminate-prompts-with-auto-mode) está disponible durante la planificación, y solicitadas cuando no lo está |

620| `auto` | Enrutadas al clasificador |620| `auto` | Enrutadas al clasificador |


659Qué sucede en su lugar depende de su modo de permisos:659Qué sucede en su lugar depende de su modo de permisos:

660 660 

661| Modo | Qué hace Claude Code con una eliminación de ruta crítica |661| Modo | Qué hace Claude Code con una eliminación de ruta crítica |

662| :----------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |662| :- | :- |

663| `default`, `acceptEdits` | Le solicita que la apruebe |663| `default`, `acceptEdits` | Le solicita que la apruebe |

664| `plan` | Le solicita que la apruebe. Con [modo automático disponible durante la planificación](#analyze-before-you-edit-with-plan-mode) y sin permisos de omisión disponibles, la envía al clasificador en su lugar |664| `plan` | Le solicita que la apruebe. Con [modo automático disponible durante la planificación](#analyze-before-you-edit-with-plan-mode) y sin permisos de omisión disponibles, la envía al clasificador en su lugar |

665| `auto` | La envía al [clasificador](#eliminate-prompts-with-auto-mode) |665| `auto` | La envía al [clasificador](#eliminate-prompts-with-auto-mode) |

permissions.md +15 −15

Details

15Claude Code utiliza un sistema de permisos escalonado para equilibrar potencia y seguridad. La tabla muestra, para cada tipo de herramienta, si el modo Manual solicita aprobación antes de que se ejecute la acción. Los otros [modos de permisos](#permission-modes) cambian cuál de estos le solicita; en modo automático un clasificador revisa las acciones en lugar de usted, y [cómo el clasificador evalúa las acciones](/docs/es/permission-modes#how-the-classifier-evaluates-actions) enumera cuáles ve.15Claude Code utiliza un sistema de permisos escalonado para equilibrar potencia y seguridad. La tabla muestra, para cada tipo de herramienta, si el modo Manual solicita aprobación antes de que se ejecute la acción. Los otros [modos de permisos](#permission-modes) cambian cuál de estos le solicita; en modo automático un clasificador revisa las acciones en lugar de usted, y [cómo el clasificador evalúa las acciones](/docs/es/permission-modes#how-the-classifier-evaluates-actions) enumera cuáles ve.

16 16 

17| Tipo de herramienta | Ejemplo | Se requiere aprobación | Comportamiento de "Sí, no preguntar de nuevo" |17| Tipo de herramienta | Ejemplo | Se requiere aprobación | Comportamiento de "Sí, no preguntar de nuevo" |

18| :----------------------- | :------------------------- | :------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------- |18| :- | :- | :- | :- |

19| Solo lectura | Lecturas de archivos, Grep | No, dentro del [directorio de trabajo y directorios adicionales](#working-directories) | N/A |19| Solo lectura | Lecturas de archivos, Grep | No, dentro del [directorio de trabajo y directorios adicionales](#working-directories) | N/A |

20| Comandos Bash | Ejecución de shell | Sí, excepto un conjunto integrado de [comandos de solo lectura](#read-only-commands) | Permanentemente por repositorio y comando |20| Comandos Bash | Ejecución de shell | Sí, excepto un conjunto integrado de [comandos de solo lectura](#read-only-commands) | Permanentemente por repositorio y comando |

21| Modificación de archivos | Editar/escribir archivos | Sí | Hasta el final de la sesión |21| Modificación de archivos | Editar/escribir archivos | Sí | Hasta el final de la sesión |


76Claude Code admite varios modos de permisos que controlan cómo se aprueban las llamadas de herramientas. Consulte [Modos de permisos](/docs/es/permission-modes) para saber cuándo usar cada uno. Para cambiar el modo en el que comienzan las sesiones, establezca `defaultMode` en sus [archivos de configuración](/docs/es/settings#where-settings-live). [Qué modo comienza una sesión](/docs/es/permission-modes#which-mode-a-session-starts-in) cubre el valor predeterminado integrado para cada plan y lo que lee la extensión de VS Code.76Claude Code admite varios modos de permisos que controlan cómo se aprueban las llamadas de herramientas. Consulte [Modos de permisos](/docs/es/permission-modes) para saber cuándo usar cada uno. Para cambiar el modo en el que comienzan las sesiones, establezca `defaultMode` en sus [archivos de configuración](/docs/es/settings#where-settings-live). [Qué modo comienza una sesión](/docs/es/permission-modes#which-mode-a-session-starts-in) cubre el valor predeterminado integrado para cada plan y lo que lee la extensión de VS Code.

77 77 

78| Modo | Descripción |78| Modo | Descripción |

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

80| `default` | Solicita permiso en el primer uso de cada herramienta. Etiquetado como Manual en la CLI, en las extensiones de VS Code y JetBrains, y en la aplicación de escritorio, y Claude Code acepta `manual` como un alias. La etiqueta y el alias requieren Claude Code v2.1.200 o posterior. La etiqueta de la aplicación de escritorio no depende de su versión de CLI |80| `default` | Solicita permiso en el primer uso de cada herramienta. Etiquetado como Manual en la CLI, en las extensiones de VS Code y JetBrains, y en la aplicación de escritorio, y Claude Code acepta `manual` como un alias. La etiqueta y el alias requieren Claude Code v2.1.200 o posterior. La etiqueta de la aplicación de escritorio no depende de su versión de CLI |

81| `acceptEdits` | Acepta automáticamente ediciones de archivos y comandos comunes del sistema de archivos como `mkdir`, `touch`, `mv` y `cp` para rutas en el directorio de trabajo o `additionalDirectories` |81| `acceptEdits` | Acepta automáticamente ediciones de archivos y comandos comunes del sistema de archivos como `mkdir`, `touch`, `mv` y `cp` para rutas en el directorio de trabajo o `additionalDirectories` |

82| `plan` | Claude lee archivos y ejecuta comandos de shell de solo lectura para explorar pero no edita sus archivos de origen; con [modo automático](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) disponible, los comandos aprobados por clasificador también se ejecutan. Etiquetado como Plan en la CLI y en la extensión de VS Code |82| `plan` | Claude lee archivos y ejecuta comandos de shell de solo lectura para explorar pero no edita sus archivos de origen; con [modo automático](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) disponible, los comandos aprobados por clasificador también se ejecutan. Etiquetado como Plan en la CLI y en la extensión de VS Code |


103Para coincidir con todos los usos de una herramienta, use solo el nombre de la herramienta sin paréntesis:103Para coincidir con todos los usos de una herramienta, use solo el nombre de la herramienta sin paréntesis:

104 104 

105| Regla | Efecto |105| Regla | Efecto |

106| :--------- | :-------------------------------------------------- |106| :- | :- |

107| `Bash` | Coincide con todos los comandos Bash |107| `Bash` | Coincide con todos los comandos Bash |

108| `WebFetch` | Coincide con todas las solicitudes de obtención web |108| `WebFetch` | Coincide con todas las solicitudes de obtención web |

109| `Read` | Coincide con todas las lecturas de archivos |109| `Read` | Coincide con todas las lecturas de archivos |


117Agregue un especificador entre paréntesis para coincidir con usos específicos de herramientas:117Agregue un especificador entre paréntesis para coincidir con usos específicos de herramientas:

118 118 

119| Regla | Efecto |119| Regla | Efecto |

120| :----------------------------- | :----------------------------------------------------------------- |120| :- | :- |

121| `Bash(npm run build)` | Coincide con el comando exacto `npm run build` |121| `Bash(npm run build)` | Coincide con el comando exacto `npm run build` |

122| `Read(./.env)` | Coincide con la lectura del archivo `.env` en el directorio actual |122| `Read(./.env)` | Coincide con la lectura del archivo `.env` en el directorio actual |

123| `WebFetch(domain:example.com)` | Coincide con solicitudes de obtención a example.com |123| `WebFetch(domain:example.com)` | Coincide con solicitudes de obtención a example.com |


133Una regla de parámetro coincide cuando Claude llama a la herramienta con ese parámetro establecido en ese valor exacto. Una regla de permiso para un valor de parámetro no establecería que la llamada sea segura en general, por lo que las reglas de permiso continúan usando la sintaxis de especificador propia de cada herramienta. Esto funciona para cualquier parámetro escalar que acepte la herramienta:133Una regla de parámetro coincide cuando Claude llama a la herramienta con ese parámetro establecido en ese valor exacto. Una regla de permiso para un valor de parámetro no establecería que la llamada sea segura en general, por lo que las reglas de permiso continúan usando la sintaxis de especificador propia de cada herramienta. Esto funciona para cualquier parámetro escalar que acepte la herramienta:

134 134 

135| Regla | Coincide |135| Regla | Coincide |

136| :----------------------------- | :------------------------------------------------------ |136| :- | :- |

137| `Agent(model:opus)` | Llamadas de Agent que solicitan el nivel de modelo Opus |137| `Agent(model:opus)` | Llamadas de Agent que solicitan el nivel de modelo Opus |

138| `Agent(isolation:worktree)` | Llamadas de Agent que solicitan un git worktree |138| `Agent(isolation:worktree)` | Llamadas de Agent que solicitan un git worktree |

139| `Bash(run_in_background:true)` | Llamadas de Bash que se ejecutan en segundo plano |139| `Bash(run_in_background:true)` | Llamadas de Bash que se ejecutan en segundo plano |


178Un `*` puede ir en cualquier lugar de la regla: al inicio, en el medio o al final. Cada fila muestra una regla, comandos que coincide, y comandos cercanos que no coincide:178Un `*` puede ir en cualquier lugar de la regla: al inicio, en el medio o al final. Cada fila muestra una regla, comandos que coincide, y comandos cercanos que no coincide:

179 179 

180| Usted escribe | Coincide | No coincide |180| Usted escribe | Coincide | No coincide |

181| :--------------------- | :----------------------------------------------------------------------------------- | :------------------------------------- |181| :- | :- | :- |

182| `Bash(npm run build)` | `npm run build` | `npm run build --watch` |182| `Bash(npm run build)` | `npm run build` | `npm run build --watch` |

183| `Bash(npm run *)` | `npm run build`, `npm run test --watch`, `npm run` | `npm install` |183| `Bash(npm run *)` | `npm run build`, `npm run test --watch`, `npm run` | `npm install` |

184| `Bash(git log * main)` | `git log --oneline main`, `git log -5 main`, `git log --output=<file> main` | `git log main`, `git push origin main` |184| `Bash(git log * main)` | `git log --oneline main`, `git log -5 main`, `git log --output=<file> main` | `git log main`, `git push origin main` |


265Una regla de Bash coincide con el texto del comando que Claude escribe, después de que Claude Code divide [comandos compuestos](#compound-commands) y elimina [envoltorios](#process-wrappers). No coincide con el mismo programa invocado de una forma diferente, por lo que una regla de negación o solicitud cubre la invocación que Claude generalmente produce y no es un límite de seguridad alrededor del programa. Estas reglas en `deny` o `ask` detienen la primera forma y no las otras:265Una regla de Bash coincide con el texto del comando que Claude escribe, después de que Claude Code divide [comandos compuestos](#compound-commands) y elimina [envoltorios](#process-wrappers). No coincide con el mismo programa invocado de una forma diferente, por lo que una regla de negación o solicitud cubre la invocación que Claude generalmente produce y no es un límite de seguridad alrededor del programa. Estas reglas en `deny` o `ask` detienen la primera forma y no las otras:

266 266 

267| Regla | Detiene | No detiene |267| Regla | Detiene | No detiene |

268| :----------------- | :------------------------- | :---------------------------------------------------------------------------------------------------- |268| :- | :- | :- |

269| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |269| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |

270| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |270| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |

271| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |271| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |


370Las reglas Read y Edit usan ambas sintaxis de patrón [gitignore](https://git-scm.com/docs/gitignore) con cuatro tipos de patrón distintos; para patrones de directorio de un solo segmento, la profundidad de coincidencia también depende del tipo de regla, descrito más adelante en esta sección:370Las reglas Read y Edit usan ambas sintaxis de patrón [gitignore](https://git-scm.com/docs/gitignore) con cuatro tipos de patrón distintos; para patrones de directorio de un solo segmento, la profundidad de coincidencia también depende del tipo de regla, descrito más adelante en esta sección:

371 371 

372| Patrón | Significado | Ejemplo | Coincide |372| Patrón | Significado | Ejemplo | Coincide |

373| ----------------- | --------------------------------------------------- | -------------------------------- | ---------------------------------------------------------------------- |373| - | - | - | - |

374| `//path` | Ruta absoluta desde la raíz del sistema de archivos | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |374| `//path` | Ruta absoluta desde la raíz del sistema de archivos | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |

375| `~/path` | Ruta desde el directorio de inicio | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |375| `~/path` | Ruta desde el directorio de inicio | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |

376| `/path` | Ruta relativa a la fuente de configuración | `Edit(/src/**/*.ts)` | `<primary working directory>/src/**/*.ts` en configuración de proyecto |376| `/path` | Ruta relativa a la fuente de configuración | `Edit(/src/**/*.ts)` | `<primary working directory>/src/**/*.ts` en configuración de proyecto |


383Un patrón `/path` se ancla en un directorio asociado con la fuente de configuración que lo define, por lo que la misma regla coincide con ubicaciones diferentes dependiendo de dónde la coloque:383Un patrón `/path` se ancla en un directorio asociado con la fuente de configuración que lo define, por lo que la misma regla coincide con ubicaciones diferentes dependiendo de dónde la coloque:

384 384 

385| Regla definida en | `/path` se resuelve a |385| Regla definida en | `/path` se resuelve a |

386| :---------------------------------------------------- | :--------------------------------- |386| :- | :- |

387| Configuración de proyecto en `.claude/settings.json` | `<primary working directory>/path` |387| Configuración de proyecto en `.claude/settings.json` | `<primary working directory>/path` |

388| Configuración local en `.claude/settings.local.json` | `<primary working directory>/path` |388| Configuración local en `.claude/settings.local.json` | `<primary working directory>/path` |

389| Configuración de usuario en `~/.claude/settings.json` | `~/.claude/path` |389| Configuración de usuario en `~/.claude/settings.json` | `~/.claude/path` |


408Una regla solo coincide con archivos bajo su ancla; dentro de ese límite, la profundidad de coincidencia depende de la forma del patrón y, para patrones de directorio de un solo segmento, del tipo de regla, descrito a continuación. Los nombres de archivo desnudos siguen la semántica de gitignore y coinciden a cualquier profundidad, por lo que `Read(.env)` y `Read(**/.env)` son equivalentes:408Una regla solo coincide con archivos bajo su ancla; dentro de ese límite, la profundidad de coincidencia depende de la forma del patrón y, para patrones de directorio de un solo segmento, del tipo de regla, descrito a continuación. Los nombres de archivo desnudos siguen la semántica de gitignore y coinciden a cualquier profundidad, por lo que `Read(.env)` y `Read(**/.env)` son equivalentes:

409 409 

410| Regla de negación | Bloquea | No bloquea |410| Regla de negación | Bloquea | No bloquea |

411| ------------------------------ | ----------------------------------------------------------- | ---------------------------------------------------------- |411| - | - | - |

412| `Read(.env)` o `Read(**/.env)` | cualquier `.env` en o bajo el directorio actual | `.env` en un directorio padre u otro proyecto |412| `Read(.env)` o `Read(**/.env)` | cualquier `.env` en o bajo el directorio actual | `.env` en un directorio padre u otro proyecto |

413| `Read(//**/.env)` | cualquier `.env` en cualquier lugar del sistema de archivos | nada; la regla se ancla en la raíz del sistema de archivos |413| `Read(//**/.env)` | cualquier `.env` en cualquier lugar del sistema de archivos | nada; la regla se ancla en la raíz del sistema de archivos |

414 414 


432```432```

433 433 

434| Regla | Coincide `src/app.ts` | Coincide `vendor/pkg/src/lib.js` |434| Regla | Coincide `src/app.ts` | Coincide `vendor/pkg/src/lib.js` |

435| :------------------------------------------------ | :-------------------- | :------------------------------- |435| :- | :- | :- |

436| `Edit(src/**)` como regla de permiso | Sí | No |436| `Edit(src/**)` como regla de permiso | Sí | No |

437| `Edit(src/**)` como regla de negación o solicitud | Sí | Sí |437| `Edit(src/**)` como regla de negación o solicitud | Sí | Sí |

438| `Edit(/src/**)` en cualquier tipo de regla | Sí | No |438| `Edit(/src/**)` en cualquier tipo de regla | Sí | No |


491Cada fila muestra qué hace una regla en la lista `allow` y en la lista `deny`:491Cada fila muestra qué hace una regla en la lista `allow` y en la lista `deny`:

492 492 

493| Regla | En `allow` | En `deny` |493| Regla | En `allow` | En `deny` |

494| :------------------- | :---------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |494| :- | :- | :- |

495| `WebFetch` | Claude busca sin solicitarle aprobación. No cambia qué hosts pueden alcanzar los comandos en sandbox. | Claude Code elimina la herramienta `WebFetch`, por lo que Claude no puede buscar en absoluto. No cambia qué hosts pueden alcanzar los comandos en sandbox. |495| `WebFetch` | Claude busca sin solicitarle aprobación. No cambia qué hosts pueden alcanzar los comandos en sandbox. | Claude Code elimina la herramienta `WebFetch`, por lo que Claude no puede buscar en absoluto. No cambia qué hosts pueden alcanzar los comandos en sandbox. |

496| `WebFetch(domain:*)` | Claude busca sin solicitarle aprobación, y los comandos en sandbox pueden alcanzar cualquier host. | Claude Code mantiene la herramienta y rechaza cada búsqueda, y los comandos en sandbox no pueden alcanzar ningún host. |496| `WebFetch(domain:*)` | Claude busca sin solicitarle aprobación, y los comandos en sandbox pueden alcanzar cualquier host. | Claude Code mantiene la herramienta y rechaza cada búsqueda, y los comandos en sandbox no pueden alcanzar ningún host. |

497 497 


560Los patrones de ruta comparten los anclajes `//`, `~/` y `/` de [reglas Read y Edit](#read-and-edit), pero la coincidencia se ancla a la ruta de directorio completa en lugar de estilo gitignore. `*` coincide exactamente con un segmento de ruta y `**` coincide en segmentos. Un `/**` final también coincide con su raíz nombrada.560Los patrones de ruta comparten los anclajes `//`, `~/` y `/` de [reglas Read y Edit](#read-and-edit), pero la coincidencia se ancla a la ruta de directorio completa en lugar de estilo gitignore. `*` coincide exactamente con un segmento de ruta y `**` coincide en segmentos. Un `/**` final también coincide con su raíz nombrada.

561 561 

562| Regla | Coincide | No coincide |562| Regla | Coincide | No coincide |

563| --------------------- | ------------------------------------------------------------------------------------- | ----------------------------- |563| - | - | - |

564| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |564| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |

565| `Cd(~/code/**)` | `~/code` y cualquier directorio bajo él | directorios fuera de `~/code` |565| `Cd(~/code/**)` | `~/code` y cualquier directorio bajo él | directorios fuera de `~/code` |

566| `Cd(**/node_modules)` | cualquier directorio `node_modules` a cualquier profundidad bajo el directorio actual | `node_modules/pkg` |566| `Cd(**/node_modules)` | cualquier directorio `node_modules` a cualquier profundidad bajo el directorio actual | `node_modules/pkg` |


627Los siguientes tipos de configuración se cargan desde directorios `--add-dir`:627Los siguientes tipos de configuración se cargan desde directorios `--add-dir`:

628 628 

629| Configuración | Cargado desde `--add-dir` |629| Configuración | Cargado desde `--add-dir` |

630| :--------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |630| :- | :- |

631| [Skills](/docs/es/skills) en `.claude/skills/` | Sí, con recarga en vivo |631| [Skills](/docs/es/skills) en `.claude/skills/` | Sí, con recarga en vivo |

632| [Archivos de comando](/docs/es/skills#where-skills-live) en `.claude/commands/` | Sí, sin recarga en vivo. Cuando el directorio agregado y su proyecto definen un comando con el mismo nombre, Claude Code ejecuta el comando de su proyecto |632| [Archivos de comando](/docs/es/skills#where-skills-live) en `.claude/commands/` | Sí, sin recarga en vivo. Cuando el directorio agregado y su proyecto definen un comando con el mismo nombre, Claude Code ejecuta el comando de su proyecto |

633| [Subagentes](/docs/es/sub-agents) en `.claude/agents/` | Sí, sin recarga en vivo |633| [Subagentes](/docs/es/sub-agents) en `.claude/agents/` | Sí, sin recarga en vivo |


729Cada fila es un tipo de contenido que un repositorio puede proporcionar. Las columnas son las dos situaciones en las que no ha confiado en la carpeta misma: confió solo en una carpeta principal, o ejecutó `claude -p` o el SDK allí, que nunca muestra el diálogo de confianza. La columna de carpeta principal no se aplica dentro de un [repositorio anidado](#project-allow-rules-and-workspace-trust): en una sesión interactiva Claude Code muestra el diálogo de confianza para ella, y una ejecución `claude -p` o SDK allí sigue la columna `claude -p`.729Cada fila es un tipo de contenido que un repositorio puede proporcionar. Las columnas son las dos situaciones en las que no ha confiado en la carpeta misma: confió solo en una carpeta principal, o ejecutó `claude -p` o el SDK allí, que nunca muestra el diálogo de confianza. La columna de carpeta principal no se aplica dentro de un [repositorio anidado](#project-allow-rules-and-workspace-trust): en una sesión interactiva Claude Code muestra el diálogo de confianza para ella, y una ejecución `claude -p` o SDK allí sigue la columna `claude -p`.

730 730 

731| Lo que proporciona el repositorio | Confió solo en una carpeta principal | `claude -p` o el SDK, carpeta nunca confiada |731| Lo que proporciona el repositorio | Confió solo en una carpeta principal | `claude -p` o el SDK, carpeta nunca confiada |

732| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |732| :- | :- | :- |

733| [Hooks](/docs/es/hooks) en archivos de configuración, el bloque [`env`](/docs/es/settings-reference#env) y comandos auxiliares como [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper), y los [hooks](/docs/es/hooks#hooks-in-skills-and-agents) de una skill del proyecto y [`allowed-tools`](/docs/es/skills#pre-approve-tools-for-a-skill) | Utilizado | Utilizado. La confianza del espacio de trabajo nunca bloquea `allowed-tools` de una skill en ninguna sesión |733| [Hooks](/docs/es/hooks) en archivos de configuración, el bloque [`env`](/docs/es/settings-reference#env) y comandos auxiliares como [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper), y los [hooks](/docs/es/hooks#hooks-in-skills-and-agents) de una skill del proyecto y [`allowed-tools`](/docs/es/skills#pre-approve-tools-for-a-skill) | Utilizado | Utilizado. La confianza del espacio de trabajo nunca bloquea `allowed-tools` de una skill en ninguna sesión |

734| Reglas `permissions.allow` y `additionalDirectories` en `.claude/settings.json` | No se utiliza hasta que acepte el diálogo de confianza, que aparece nuevamente enumerándolas | No se utiliza. Claude Code imprime una advertencia [`this workspace has not been trusted`](/docs/es/errors#workspace-has-not-been-trusted) a stderr |734| Reglas `permissions.allow` y `additionalDirectories` en `.claude/settings.json` | No se utiliza hasta que acepte el diálogo de confianza, que aparece nuevamente enumerándolas | No se utiliza. Claude Code imprime una advertencia [`this workspace has not been trusted`](/docs/es/errors#workspace-has-not-been-trusted) a stderr |

735| Hooks de frontmatter en un [subagente](/docs/es/sub-agents#hooks-in-subagent-frontmatter) del proyecto, un plugin [`@skills-dir`](/docs/es/plugins/loading#plugins-shared-through-a-repository) del proyecto, y entradas [`extraKnownMarketplaces`](/docs/es/settings-reference#extraknownmarketplaces) del repositorio o un directorio `--add-dir` | No se utiliza, y no se ofrece diálogo | No se utiliza |735| Hooks de frontmatter en un [subagente](/docs/es/sub-agents#hooks-in-subagent-frontmatter) del proyecto, un plugin [`@skills-dir`](/docs/es/plugins/loading#plugins-shared-through-a-repository) del proyecto, y entradas [`extraKnownMarketplaces`](/docs/es/settings-reference#extraknownmarketplaces) del repositorio o un directorio `--add-dir` | No se utiliza, y no se ofrece diálogo | No se utiliza |

platforms.md +3 −3

Details

15Elija una plataforma según cómo le guste trabajar y dónde viva su proyecto.15Elija una plataforma según cómo le guste trabajar y dónde viva su proyecto.

16 16 

17| Plataforma | Mejor para | Lo que obtiene |17| Plataforma | Mejor para | Lo que obtiene |

18| :-------------------------------- | :--------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |18| :- | :- | :- |

19| [CLI](/docs/es/quickstart) | Flujos de trabajo de terminal, scripting, servidores remotos | Conjunto completo de características, [Agent SDK](/docs/es/headless), [uso de computadora](/docs/es/computer-use) en macOS (Pro y Max), proveedores de terceros |19| [CLI](/docs/es/quickstart) | Flujos de trabajo de terminal, scripting, servidores remotos | Conjunto completo de características, [Agent SDK](/docs/es/headless), [uso de computadora](/docs/es/computer-use) en macOS (Pro y Max), proveedores de terceros |

20| [Desktop](/docs/es/desktop) | Revisión visual, sesiones paralelas, configuración administrada | Visor de diferencias, vista previa de aplicaciones, [uso de computadora](/docs/es/desktop#let-claude-use-your-computer) y [Dispatch](/docs/es/desktop#sessions-from-dispatch) en Pro y Max |20| [Desktop](/docs/es/desktop) | Revisión visual, sesiones paralelas, configuración administrada | Visor de diferencias, vista previa de aplicaciones, [uso de computadora](/docs/es/desktop#let-claude-use-your-computer) y [Dispatch](/docs/es/desktop#sessions-from-dispatch) en Pro y Max |

21| [VS Code](/docs/es/vs-code) | Trabajar dentro de VS Code sin cambiar a una terminal | Diferencias en línea, terminal integrada, contexto de archivo |21| [VS Code](/docs/es/vs-code) | Trabajar dentro de VS Code sin cambiar a una terminal | Diferencias en línea, terminal integrada, contexto de archivo |


34Las integraciones permiten que Claude trabaje con servicios fuera de su base de código.34Las integraciones permiten que Claude trabaje con servicios fuera de su base de código.

35 35 

36| Integración | Qué hace | Úselo para |36| Integración | Qué hace | Úselo para |

37| :----------------------------------------------- | :------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------- |37| :- | :- | :- |

38| [Chrome](/docs/es/chrome) | Controla su navegador con sus sesiones iniciadas | Prueba de aplicaciones web, rellenar formularios, automatizar sitios sin una API |38| [Chrome](/docs/es/chrome) | Controla su navegador con sus sesiones iniciadas | Prueba de aplicaciones web, rellenar formularios, automatizar sitios sin una API |

39| [GitHub Actions](/docs/es/github-actions) | Ejecuta Claude en su canalización de CI | Revisiones automáticas de PR, clasificación de problemas, mantenimiento programado |39| [GitHub Actions](/docs/es/github-actions) | Ejecuta Claude en su canalización de CI | Revisiones automáticas de PR, clasificación de problemas, mantenimiento programado |

40| [GitLab CI/CD](/docs/es/gitlab-ci-cd) | Lo mismo que GitHub Actions para GitLab | Automatización impulsada por CI en GitLab |40| [GitLab CI/CD](/docs/es/gitlab-ci-cd) | Lo mismo que GitHub Actions para GitLab | Automatización impulsada por CI en GitLab |


51Claude Code ofrece varias formas de trabajar cuando no está en su terminal. Difieren en lo que desencadena el trabajo, dónde se ejecuta Claude y cuánta configuración necesita.51Claude Code ofrece varias formas de trabajar cuando no está en su terminal. Difieren en lo que desencadena el trabajo, dónde se ejecuta Claude y cuánta configuración necesita.

52 52 

53| | Desencadenante | Claude se ejecuta en | Configuración | Mejor para |53| | Desencadenante | Claude se ejecuta en | Configuración | Mejor para |

54| :------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------- |54| :- | :- | :- | :- | :- |

55| [Dispatch](/docs/es/desktop#sessions-from-dispatch) | Envíe un mensaje con una tarea desde la aplicación móvil de Claude | Su máquina (Desktop) | [Empareje la aplicación móvil con Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabajo mientras está fuera, configuración mínima |55| [Dispatch](/docs/es/desktop#sessions-from-dispatch) | Envíe un mensaje con una tarea desde la aplicación móvil de Claude | Su máquina (Desktop) | [Empareje la aplicación móvil con Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabajo mientras está fuera, configuración mínima |

56| [Remote Control](/docs/es/remote-control) | Controle una sesión en ejecución desde [claude.ai/code](https://claude.ai/code) o la aplicación móvil de Claude | Su máquina (CLI o VS Code) | Ejecute `claude remote-control` | Dirigir el trabajo en progreso desde otro dispositivo |56| [Remote Control](/docs/es/remote-control) | Controle una sesión en ejecución desde [claude.ai/code](https://claude.ai/code) o la aplicación móvil de Claude | Su máquina (CLI o VS Code) | Ejecute `claude remote-control` | Dirigir el trabajo en progreso desde otro dispositivo |

57| [Channels](/docs/es/channels) | Envíe eventos desde una aplicación de chat como Telegram o Discord, o su propio servidor | Su máquina (CLI) | [Instale un plugin de canal](/docs/es/channels#quickstart) o [cree el suyo propio](/docs/es/channels-reference) | Reaccionar a eventos externos como fallos de CI o mensajes de chat |57| [Channels](/docs/es/channels) | Envíe eventos desde una aplicación de chat como Telegram o Discord, o su propio servidor | Su máquina (CLI) | [Instale un plugin de canal](/docs/es/channels#quickstart) o [cree el suyo propio](/docs/es/channels-reference) | Reaccionar a eventos externos como fallos de CI o mensajes de chat |

plugin-evals.md +10 −10

Details

360La mayoría de las veces ejecuta `claude plugin eval .` desde la raíz del plugin, que ejecuta cada caso en el conjunto con el plugin en el que está parado cargado. Para ejecutar un archivo de caso único, o para evaluar un plugin que instaló en lugar de uno que está desarrollando, pase un destino diferente:360La mayoría de las veces ejecuta `claude plugin eval .` desde la raíz del plugin, que ejecuta cada caso en el conjunto con el plugin en el que está parado cargado. Para ejecutar un archivo de caso único, o para evaluar un plugin que instaló en lugar de uno que está desarrollando, pase un destino diferente:

361 361 

362| Destino | Qué se ejecuta |362| Destino | Qué se ejecuta |

363| :---------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |363| :- | :- |

364| Un directorio raíz de plugin, como `.` | Cada caso bajo su directorio de eval, con ese plugin cargado |364| Un directorio raíz de plugin, como `.` | Cada caso bajo su directorio de eval, con ese plugin cargado |

365| Un archivo `prompt.md` o `case.yaml` único | Ese caso, con su plugin envolvente cargado |365| Un archivo `prompt.md` o `case.yaml` único | Ese caso, con su plugin envolvente cargado |

366| Un plugin instalado por nombre, `name` o `name@marketplace` | Los casos en el directorio de eval de la copia instalada, con la copia instalada cargada. Los resultados se escriben bajo `./evals/results/` en su directorio actual, o `./<dir>/results/` con `--eval-dir` |366| Un plugin instalado por nombre, `name` o `name@marketplace` | Los casos en el directorio de eval de la copia instalada, con la copia instalada cargada. Los resultados se escriben bajo `./evals/results/` en su directorio actual, o `./<dir>/results/` con `--eval-dir` |


394Esta tabla cubre las opciones para conteo de ejecuciones, modelos, puntuación, costo, otorgamiento de herramientas, mocks, y salida. Ejecute `claude plugin eval --help` para la lista completa, que también incluye `--case`, `--tag`, `--eval-dir`, `--no-scaffold`, `--report`, y `--verbose`.394Esta tabla cubre las opciones para conteo de ejecuciones, modelos, puntuación, costo, otorgamiento de herramientas, mocks, y salida. Ejecute `claude plugin eval --help` para la lista completa, que también incluye `--case`, `--tag`, `--eval-dir`, `--no-scaffold`, `--report`, y `--verbose`.

395 395 

396| Opción | Predeterminado | Efecto |396| Opción | Predeterminado | Efecto |

397| :------------------------- | :---------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |397| :- | :- | :- |

398| `--runs <n>` | `runs` de cada caso, si no 3 | Ejecuciones por caso por brazo |398| `--runs <n>` | `runs` de cada caso, si no 3 | Ejecuciones por caso por brazo |

399| `-j`, `--concurrency <n>` | `1` | Ejecute hasta este número de ejecuciones de agente a la vez, de 1 a 8. Comparten el límite de velocidad de su cuenta, así que esto acorta el tiempo de reloj de pared en lugar de aumentar el rendimiento más allá de ese límite. Los resultados mantienen el orden del caso |399| `-j`, `--concurrency <n>` | `1` | Ejecute hasta este número de ejecuciones de agente a la vez, de 1 a 8. Comparten el límite de velocidad de su cuenta, así que esto acorta el tiempo de reloj de pared en lugar de aumentar el rendimiento más allá de ese límite. Los resultados mantienen el orden del caso |

400| `--model <model>` | `model` de cada caso, si no `ANTHROPIC_MODEL` si se establece, si no el predeterminado de Claude Code | Modelo para el agente bajo prueba. Fíjelo en CI para que un lanzamiento de modelo no se confunda con una regresión de plugin |400| `--model <model>` | `model` de cada caso, si no `ANTHROPIC_MODEL` si se establece, si no el predeterminado de Claude Code | Modelo para el agente bajo prueba. Fíjelo en CI para que un lanzamiento de modelo no se confunda con una regresión de plugin |


433El código de salida del trabajo le dice qué sucedió:433El código de salida del trabajo le dice qué sucedió:

434 434 

435| Código de salida | Significado |435| Código de salida | Significado |

436| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |436| :- | :- |

437| 0 | Cada caso puntuó en o por encima de `--threshold` y cada archivo de caso cargó |437| 0 | Cada caso puntuó en o por encima de `--threshold` y cada archivo de caso cargó |

438| 1 | Un caso puntuó por debajo del umbral, un archivo de caso falló al cargar, no se encontraron casos, una ejecución no pudo iniciarse, el directorio del plugin no es confiable y `--trust-plugin` no se pasó, o una opción fue inválida |438| 1 | Un caso puntuó por debajo del umbral, un archivo de caso falló al cargar, no se encontraron casos, una ejecución no pudo iniciarse, el directorio del plugin no es confiable y `--trust-plugin` no se pasó, o una opción fue inválida |

439| 2 | Ejecución parcial: se alcanzó el techo `--max-cost-usd`, o su credencial fue rechazada antes o en la primera ejecución. `results.json` aún se escribe con `partial: true` y la razón |439| 2 | Ejecución parcial: se alcanzó el techo `--max-cost-usd`, o su credencial fue rechazada antes o en la primera ejecución. `results.json` aún se escribe con `partial: true` y la razón |


486Estos son los campos que un script de control generalmente lee. El documento también lleva la configuración del conjunto, cada definición de calificador, y resultados de calificador por ejecución con explicaciones y evidencia:486Estos son los campos que un script de control generalmente lee. El documento también lleva la configuración del conjunto, cada definición de calificador, y resultados de calificador por ejecución con explicaciones y evidencia:

487 487 

488| Campo | Significado |488| Campo | Significado |

489| :------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |489| :- | :- |

490| `partial`, `partialReason` | `true` con `cost_ceiling`, `interrupted`, o `auth_failed` cuando el conjunto no terminó. Deje resultados parciales fuera de gráficos de tendencia |490| `partial`, `partialReason` | `true` con `cost_ceiling`, `interrupted`, o `auth_failed` cuando el conjunto no terminó. Deje resultados parciales fuera de gráficos de tendencia |

491| `aggregates.overallScore` | Puntuación de caso promedio en el conjunto |491| `aggregates.overallScore` | Puntuación de caso promedio en el conjunto |

492| `aggregates.casesPassed`, `aggregates.casesTotal` | Casos en o por encima de `--threshold`, y el total |492| `aggregates.casesPassed`, `aggregates.casesTotal` | Casos en o por encima de `--threshold`, y el total |


570El frontmatter de `prompt.md` acepta estos campos. Una clave desconocida es un error:570El frontmatter de `prompt.md` acepta estos campos. Una clave desconocida es un error:

571 571 

572| Campo | Predeterminado | Propósito |572| Campo | Predeterminado | Propósito |

573| :--------------------- | :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |573| :- | :- | :- |

574| `schema_version` | `"1.1"`, establecido para usted | Versión del formato de caso. Los casos escritos como `prompt.md` lo obtienen automáticamente, así que rara vez lo establece |574| `schema_version` | `"1.1"`, establecido para usted | Versión del formato de caso. Los casos escritos como `prompt.md` lo obtienen automáticamente, así que rara vez lo establece |

575| `name` | El nombre del directorio | Nombre del caso. Los globs `--case` lo coinciden y el informe lo usa como clave |575| `name` | El nombre del directorio | Nombre del caso. Los globs `--case` lo coinciden y el informe lo usa como clave |

576| `description` | | Para humanos. No se usa en tiempo de ejecución |576| `description` | | Para humanos. No se usa en tiempo de ejecución |


594Estos campos existen solo en `case.yaml`:594Estos campos existen solo en `case.yaml`:

595 595 

596| Campo | Propósito |596| Campo | Propósito |

597| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |597| :- | :- |

598| `context.scaffold_script` | Un script Bash en el directorio del caso que se ejecuta en el espacio de trabajo vacío antes de que Claude comience, para crear archivos de fixture o un repositorio git. Se ejecuta solo cuando pasa [`--scaffold`](#add-setup-or-history-with-case-yaml) |598| `context.scaffold_script` | Un script Bash en el directorio del caso que se ejecuta en el espacio de trabajo vacío antes de que Claude comience, para crear archivos de fixture o un repositorio git. Se ejecuta solo cuando pasa [`--scaffold`](#add-setup-or-history-with-case-yaml) |

599| `context.history_file` | Una transcripción `.jsonl` en el directorio del caso para reanudar. El prompt del caso se convierte en el siguiente turno del usuario |599| `context.history_file` | Una transcripción `.jsonl` en el directorio del caso para reanudar. El prompt del caso se convierte en el siguiente turno del usuario |

600| `context.add_dirs` | Directorios dentro del directorio del caso que Claude puede leer durante la ejecución, otorgados de solo lectura |600| `context.add_dirs` | Directorios dentro del directorio del caso que Claude puede leer durante la ejecución, otorgados de solo lectura |


608Cada archivo de calificador bajo `graders/` toma estas claves en frontmatter, más las opciones para su tipo. El nombre del calificador es el nombre de archivo sin `.md`:608Cada archivo de calificador bajo `graders/` toma estas claves en frontmatter, más las opciones para su tipo. El nombre del calificador es el nombre de archivo sin `.md`:

609 609 

610| Clave | Predeterminado | Propósito |610| Clave | Predeterminado | Propósito |

611| :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |611| :- | :- | :- |

612| `type` | requerido | Uno de los [tipos de calificador](#grader-types) |612| `type` | requerido | Uno de los [tipos de calificador](#grader-types) |

613| `weight` | `1` | Peso relativo en la puntuación de la ejecución. Cualquier número positivo |613| `weight` | `1` | Peso relativo en la puntuación de la ejecución. Cualquier número positivo |

614| `arm` | sin establecer | `with-only` excluye el calificador de la puntuación en una [ejecución de dos brazos](#compare-against-a-no-plugin-baseline); `both` fuerza un calificador que Claude Code de otro modo excluiría a ser puntuado en ambos brazos |614| `arm` | sin establecer | `with-only` excluye el calificador de la puntuación en una [ejecución de dos brazos](#compare-against-a-no-plugin-baseline); `both` fuerza un calificador que Claude Code de otro modo excluiría a ser puntuado en ambos brazos |


620Los calificadores `regex` toman un `target` y los calificadores `llm` toman un `focus`. Ambos aceptan los mismos valores:620Los calificadores `regex` toman un `target` y los calificadores `llm` toman un `focus`. Ambos aceptan los mismos valores:

621 621 

622| Valor | Lo que el calificador ve |622| Valor | Lo que el calificador ve |

623| :------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |623| :- | :- |

624| `last_message` | El texto de respuesta final de Claude. Este es el predeterminado |624| `last_message` | El texto de respuesta final de Claude. Este es el predeterminado |

625| `trace` | La sesión como JSON, una línea por mensaje. Un calificador `regex` ve cada mensaje; un juez `llm` ve los primeros 12 y los últimos 12. Las comillas y saltos de línea dentro de ella están escapados en JSON, así que una expresión regular coincide con `\"` en lugar de `"` |625| `trace` | La sesión como JSON, una línea por mensaje. Un calificador `regex` ve cada mensaje; un juez `llm` ve los primeros 12 y los últimos 12. Las comillas y saltos de línea dentro de ella están escapados en JSON, así que una expresión regular coincide con `\"` en lugar de `"` |

626| `files` | La lista de rutas que Claude creó durante la ejecución, una por línea. No sus contenidos, y no archivos que un scaffold creó o que Claude solo modificó |626| `files` | La lista de rutas que Claude creó durante la ejecución, una por línea. No sus contenidos, y no archivos que un scaffold creó o que Claude solo modificó |


634Cada tipo de calificador a continuación enumera sus opciones y cuándo aprueba:634Cada tipo de calificador a continuación enumera sus opciones y cuándo aprueba:

635 635 

636| Tipo | Opciones | Aprueba cuando |636| Tipo | Opciones | Aprueba cuando |

637| :------------ | :------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |637| :- | :- | :- |

638| `regex` | `pattern`, `flags`, `match`, `target` | La expresión regular de JavaScript `pattern` se encuentra en el destino. Establezca `match: not_contains` para requerir ausencia o `match: "count:N"` para requerir exactamente N coincidencias. Ponga insensibilidad a mayúsculas en `flags: i`; `(?i)` en línea no se admite |638| `regex` | `pattern`, `flags`, `match`, `target` | La expresión regular de JavaScript `pattern` se encuentra en el destino. Establezca `match: not_contains` para requerir ausencia o `match: "count:N"` para requerir exactamente N coincidencias. Ponga insensibilidad a mayúsculas en `flags: i`; `(?i)` en línea no se admite |

639| `tool_used` | `tool`, `input_match`, `min`, `max` | El número de llamadas a `tool` cuya entrada codificada en JSON coincide con la expresión regular `input_match` opcional está entre `min`, predeterminado 1, y `max`, predeterminado ilimitado. Para afirmar que una herramienta nunca se llamó, establezca tanto `min: 0` como `max: 0` |639| `tool_used` | `tool`, `input_match`, `min`, `max` | El número de llamadas a `tool` cuya entrada codificada en JSON coincide con la expresión regular `input_match` opcional está entre `min`, predeterminado 1, y `max`, predeterminado ilimitado. Para afirmar que una herramienta nunca se llamó, establezca tanto `min: 0` como `max: 0` |

640| `tool_order` | `before`, `after` | Ambas herramientas fueron llamadas y la primera llamada coincidente `before` precede a la primera llamada coincidente `after`. Cada una es un nombre de herramienta o `{ tool, input_match }` |640| `tool_order` | `before`, `after` | Ambas herramientas fueron llamadas y la primera llamada coincidente `before` precede a la primera llamada coincidente `after`. Cada una es un nombre de herramienta o `{ tool, input_match }` |


649Un archivo `<tool>.md` bajo `mocks/<server>/` responde una herramienta. Su cuerpo es el resultado de la herramienta, con sustituciones `{{input.<field>}}` y `{{file:fixtures/<name>}}`. Su frontmatter acepta estas claves:649Un archivo `<tool>.md` bajo `mocks/<server>/` responde una herramienta. Su cuerpo es el resultado de la herramienta, con sustituciones `{{input.<field>}}` y `{{file:fixtures/<name>}}`. Su frontmatter acepta estas claves:

650 650 

651| Clave | Predeterminado | Propósito |651| Clave | Predeterminado | Propósito |

652| :----------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |652| :- | :- | :- |

653| `type` | `fixed` | `fixed` devuelve el cuerpo como está escrito. `agent` trata el cuerpo como instrucciones para un modelo pequeño que juega el servidor para la ejecución y ve llamadas anteriores como historial |653| `type` | `fixed` | `fixed` devuelve el cuerpo como está escrito. `agent` trata el cuerpo como instrucciones para un modelo pequeño que juega el servidor para la ejecución y ve llamadas anteriores como historial |

654| `expect` | sin establecer | Un mapa de rutas de entrada punteadas a un nombre de tipo como `string`, `number`, `boolean`, `array`, u `object`, una `/regex/`, un literal, o una lista de literales permitidos. Una llamada que lo viola detiene la ejecución con puntuación 0 y se reporta como `aborted` con el servidor, herramienta, y razón |654| `expect` | sin establecer | Un mapa de rutas de entrada punteadas a un nombre de tipo como `string`, `number`, `boolean`, `array`, u `object`, una `/regex/`, un literal, o una lista de literales permitidos. Una llamada que lo viola detiene la ejecución con puntuación 0 y se reporta como `aborted` con el servidor, herramienta, y razón |

655| `error` | `false` | Solo `fixed`. Devuelva el cuerpo como un error de herramienta |655| `error` | `false` | Solo `fixed`. Devuelva el cuerpo como un error de herramienta |

Details

77La etiqueta toma tres atributos, todos requeridos:77La etiqueta toma tres atributos, todos requeridos:

78 78 

79| Atributo | Descripción |79| Atributo | Descripción |

80| :------- | :-------------------------------------------------------- |80| :- | :- |

81| `v` | Versión del protocolo. `1` es el único valor compatible |81| `v` | Versión del protocolo. `1` es el único valor compatible |

82| `type` | Tipo de sugerencia. `plugin` es el único valor compatible |82| `type` | Tipo de sugerencia. `plugin` es el único valor compatible |

83| `value` | Identificador del plugin en forma `name@marketplace` |83| `value` | Identificador del plugin en forma `name@marketplace` |

Details

51El comando no tiene una bandera para otra ubicación. Para crear un scaffold dentro de un proyecto, consulta [Crear un plugin](/docs/es/plugins/create).51El comando no tiene una bandera para otra ubicación. Para crear un scaffold dentro de un proyecto, consulta [Crear un plugin](/docs/es/plugins/create).

52 52 

53| Bandera | Descripción |53| Bandera | Descripción |

54| :----------------------- | :--------------------------------------------------------------------------------------------------------- |54| :- | :- |

55| `--description <text>` | Descripción del manifiesto |55| `--description <text>` | Descripción del manifiesto |

56| `--author <name>` | Nombre del autor. Por defecto es `git config user.name` |56| `--author <name>` | Nombre del autor. Por defecto es `git config user.name` |

57| `--author-email <email>` | Correo electrónico del autor. Por defecto es `git config user.email` |57| `--author-email <email>` | Correo electrónico del autor. Por defecto es `git config user.email` |


85La mayoría de los plugins se instalan sin un aviso. Para un plugin cuya entrada de marketplace [ejecuta un comando para instalarlo](/docs/es/plugins/host-marketplace) o [establece un `headersHelper` para su descarga](/docs/es/plugins/host-marketplace#how-users-accept-a-headershelper-command), Claude Code primero imprime el comando y pregunta `Run this command now? [y/N]`.85La mayoría de los plugins se instalan sin un aviso. Para un plugin cuya entrada de marketplace [ejecuta un comando para instalarlo](/docs/es/plugins/host-marketplace) o [establece un `headersHelper` para su descarga](/docs/es/plugins/host-marketplace#how-users-accept-a-headershelper-command), Claude Code primero imprime el comando y pregunta `Run this command now? [y/N]`.

86 86 

87| Bandera | Descripción |87| Bandera | Descripción |

88| :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |88| :- | :- |

89| `-s, --scope <scope>` | Ámbito de instalación: `user`, `project` o `local`. Por defecto es `user` |89| `-s, --scope <scope>` | Ámbito de instalación: `user`, `project` o `local`. Por defecto es `user` |

90| `--config <key=value>` | Establece una opción [`userConfig`](/docs/es/plugins/manifest-reference) que declara el manifiesto del plugin. Repite la bandera para cada opción. Requiere Claude Code v2.1.147 o posterior |90| `--config <key=value>` | Establece una opción [`userConfig`](/docs/es/plugins/manifest-reference) que declara el manifiesto del plugin. Repite la bandera para cada opción. Requiere Claude Code v2.1.147 o posterior |

91| `-y, --yes` | Acepta el comando de instalación mostrado sin el aviso `Run this command now?`. Se ignora cuando el comando se ejecuta dentro de una sesión de Claude Code, como desde la herramienta Bash o un hook. Requiere Claude Code v2.1.229 o posterior |91| `-y, --yes` | Acepta el comando de instalación mostrado sin el aviso `Run this command now?`. Se ignora cuando el comando se ejecuta dentro de una sesión de Claude Code, como desde la herramienta Bash o un hook. Requiere Claude Code v2.1.229 o posterior |


148```148```

149 149 

150| Bandera | Descripción |150| Bandera | Descripción |

151| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |151| :- | :- |

152| `-s, --scope <scope>` | Desinstala del ámbito: `user`, `project` o `local`. Por defecto es `user` |152| `-s, --scope <scope>` | Desinstala del ámbito: `user`, `project` o `local`. Por defecto es `user` |

153| `--keep-data` | Preserva el directorio de datos persistentes del plugin, `~/.claude/plugins/data/<id>/` |153| `--keep-data` | Preserva el directorio de datos persistentes del plugin, `~/.claude/plugins/data/<id>/` |

154| `--prune` | También elimina [dependencias](/docs/es/plugins/dependencies) auto-instaladas que ningún plugin restante necesita |154| `--prune` | También elimina [dependencias](/docs/es/plugins/dependencies) auto-instaladas que ningún plugin restante necesita |


174```174```

175 175 

176| Bandera | Descripción |176| Bandera | Descripción |

177| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |177| :- | :- |

178| `-s, --scope <scope>` | Ámbito para habilitar: `user`, `project` o `local`. Se auto-detecta cuando se omite |178| `-s, --scope <scope>` | Ámbito para habilitar: `user`, `project` o `local`. Se auto-detecta cuando se omite |

179| `--json` | Imprime el resultado como un objeto JSON en la última línea de stdout, en el [mismo formato que `plugin install --json`](#plugin-json-result). Requiere Claude Code v2.1.268 o posterior |179| `--json` | Imprime el resultado como un objeto JSON en la última línea de stdout, en el [mismo formato que `plugin install --json`](#plugin-json-result). Requiere Claude Code v2.1.268 o posterior |

180 180 


212```212```

213 213 

214| Bandera | Descripción |214| Bandera | Descripción |

215| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |215| :- | :- |

216| `-a, --all` | Deshabilita cada plugin habilitado. No se puede combinar con un nombre de plugin o `--scope` |216| `-a, --all` | Deshabilita cada plugin habilitado. No se puede combinar con un nombre de plugin o `--scope` |

217| `-s, --scope <scope>` | Ámbito para deshabilitar: `user`, `project` o `local`. Se auto-detecta cuando se omite |217| `-s, --scope <scope>` | Ámbito para deshabilitar: `user`, `project` o `local`. Se auto-detecta cuando se omite |

218| `--json` | Imprime el resultado como un objeto JSON en la última línea de stdout, en el [mismo formato que `plugin install --json`](#plugin-json-result). Requiere Claude Code v2.1.268 o posterior |218| `--json` | Imprime el resultado como un objeto JSON en la última línea de stdout, en el [mismo formato que `plugin install --json`](#plugin-json-result). Requiere Claude Code v2.1.268 o posterior |


245```245```

246 246 

247| Bandera | Descripción |247| Bandera | Descripción |

248| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |248| :- | :- |

249| `-s, --scope <scope>` | Ámbito a actualizar: `user`, `project`, `local` o `managed`. Por defecto es el ámbito en el que está instalado el plugin |249| `-s, --scope <scope>` | Ámbito a actualizar: `user`, `project`, `local` o `managed`. Por defecto es el ámbito en el que está instalado el plugin |

250| `-y, --yes` | Acepta un comando de instalación cambiado de un plugin [command-source](/docs/es/plugins/host-marketplace), sin el aviso. Requerido cuando stdin o stdout no es un TTY, a menos que pases `--accept-command`. Requiere Claude Code v2.1.229 o posterior |250| `-y, --yes` | Acepta un comando de instalación cambiado de un plugin [command-source](/docs/es/plugins/host-marketplace), sin el aviso. Requerido cuando stdin o stdout no es un TTY, a menos que pases `--accept-command`. Requiere Claude Code v2.1.229 o posterior |

251| `--accept-command <sha256>` | Acepta el comando declarado por el marketplace cuyo `sha256` una ejecución anterior de [`--json`](#plugin-json-result) reportó en `shownCommand`, en lugar de `-y`. No se puede combinar con `-y`. Requiere Claude Code v2.1.271 o posterior |251| `--accept-command <sha256>` | Acepta el comando declarado por el marketplace cuyo `sha256` una ejecución anterior de [`--json`](#plugin-json-result) reportó en `shownCommand`, en lugar de `-y`. No se puede combinar con `-y`. Requiere Claude Code v2.1.271 o posterior |


274```274```

275 275 

276| Bandera | Descripción |276| Bandera | Descripción |

277| :------------ | :---------------------------------------------------------------------------------------------------- |277| :- | :- |

278| `--json` | Imprime la lista como JSON |278| `--json` | Imprime la lista como JSON |

279| `--available` | También lista plugins que tus marketplaces ofrecen que no has instalado. No tiene efecto sin `--json` |279| `--available` | También lista plugins que tus marketplaces ofrecen que no has instalado. No tiene efecto sin `--json` |

280 280 


294Con `--json`, Claude Code imprime un array con un objeto por instalación. Cada objeto lleva los campos a continuación. `id`, `version`, `scope`, `enabled` e `installPath` siempre están presentes, y los otros aparecen solo cuando aplican.294Con `--json`, Claude Code imprime un array con un objeto por instalación. Cada objeto lleva los campos a continuación. `id`, `version`, `scope`, `enabled` e `installPath` siempre están presentes, y los otros aparecen solo cuando aplican.

295 295 

296| Campo | Tipo | Descripción |296| Campo | Tipo | Descripción |

297| :------------- | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |297| :- | :- | :- |

298| `id` | string | `name@marketplace` para installs, `name@inline` para plugins de solo sesión, `name@skills-dir` para plugins de directorio de skills, `name@synced` para plugins sincronizados desde claude.ai |298| `id` | string | `name@marketplace` para installs, `name@inline` para plugins de solo sesión, `name@skills-dir` para plugins de directorio de skills, `name@synced` para plugins sincronizados desde claude.ai |

299| `version` | string | Para una instalación de marketplace, la [versión que Claude Code calculó](/docs/es/plugins/loading#versions-and-updates) en la instalación. Para un plugin de solo sesión, directorio de skills o sincronizado, el `version` del manifiesto, o `unknown` cuando no declara ninguno |299| `version` | string | Para una instalación de marketplace, la [versión que Claude Code calculó](/docs/es/plugins/loading#versions-and-updates) en la instalación. Para un plugin de solo sesión, directorio de skills o sincronizado, el `version` del manifiesto, o `unknown` cuando no declara ninguno |

300| `scope` | string | `user`, `project`, `local` o `managed` para installs; `user` o `project` para plugins de directorio de skills; `session` para plugins de solo sesión; `synced` para plugins sincronizados desde claude.ai |300| `scope` | string | `user`, `project`, `local` o `managed` para installs; `user` o `project` para plugins de directorio de skills; `session` para plugins de solo sesión; `synced` para plugins sincronizados desde claude.ai |


312Con `--json --available`, Claude Code imprime un objeto en lugar de un array. Su campo `installed` contiene el array de objetos de plugin instalado, y su campo `available` contiene un objeto por plugin de marketplace no instalado con los campos a continuación.312Con `--json --available`, Claude Code imprime un objeto en lugar de un array. Su campo `installed` contiene el array de objetos de plugin instalado, y su campo `available` contiene un objeto por plugin de marketplace no instalado con los campos a continuación.

313 313 

314| Campo | Tipo | Descripción |314| Campo | Tipo | Descripción |

315| :---------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |315| :- | :- | :- |

316| `pluginId` | string | `name@marketplace` |316| `pluginId` | string | `name@marketplace` |

317| `name` | string | El nombre del plugin en el marketplace |317| `name` | string | El nombre del plugin en el marketplace |

318| `marketplaceName` | string | El marketplace que lo ofrece |318| `marketplaceName` | string | El marketplace que lo ofrece |


362```362```

363 363 

364| Bandera | Descripción |364| Bandera | Descripción |

365| :-------------------- | :--------------------------------------------------------------------------- |365| :- | :- |

366| `-s, --scope <scope>` | Prune en ámbito: `user`, `project` o `local`. Por defecto es `user` |366| `-s, --scope <scope>` | Prune en ámbito: `user`, `project` o `local`. Por defecto es `user` |

367| `--dry-run` | Lista lo que se eliminaría sin eliminarlo |367| `--dry-run` | Lista lo que se eliminaría sin eliminarlo |

368| `-y, --yes` | Omite el aviso de confirmación. Requerido cuando stdin o stdout no es un TTY |368| `-y, --yes` | Omite el aviso de confirmación. Requerido cuando stdin o stdout no es un TTY |


382Lo que `prune` hace depende de si una terminal está adjunta y si pasas `-y`:382Lo que `prune` hace depende de si una terminal está adjunta y si pasas `-y`:

383 383 

384| Terminal y banderas | Qué sucede |384| Terminal y banderas | Qué sucede |

385| :------------------------------ | :-------------------------------------------------------------------------------------------- |385| :- | :- |

386| Terminal interactiva, sin `-y` | Lista las dependencias huérfanas y pregunta `Remove? [y/N]` |386| Terminal interactiva, sin `-y` | Lista las dependencias huérfanas y pregunta `Remove? [y/N]` |

387| Cualquier terminal, `-y` | Las elimina e imprime `Removed N auto-installed plugins: <names>` |387| Cualquier terminal, `-y` | Las elimina e imprime `Removed N auto-installed plugins: <names>` |

388| stdin o stdout no TTY, sin `-y` | Imprime la lista y ``Not a TTY — run `claude plugin prune -y` to remove.``, sin eliminar nada |388| stdin o stdout no TTY, sin `-y` | Imprime la lista y ``Not a TTY — run `claude plugin prune -y` to remove.``, sin eliminar nada |


413Esta tabla lista las opciones que la mayoría de ejecuciones usan. Ejecuta `claude plugin eval --help` para el conjunto completo, incluyendo `--case`, `--tag`, `--output-dir`, `--report`, `--allow-real-servers`, `--keep-temp` y `--verbose`.413Esta tabla lista las opciones que la mayoría de ejecuciones usan. Ejecuta `claude plugin eval --help` para el conjunto completo, incluyendo `--case`, `--tag`, `--output-dir`, `--report`, `--allow-real-servers`, `--keep-temp` y `--verbose`.

414 414 

415| Opción | Descripción | Por defecto |415| Opción | Descripción | Por defecto |

416| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |416| :- | :- | :- |

417| `--runs <n>` | Ejecuciones por caso en cada [arm](/docs/es/plugin-evals#compare-against-a-no-plugin-baseline) | El `runs` de cada caso, si no 3 |417| `--runs <n>` | Ejecuciones por caso en cada [arm](/docs/es/plugin-evals#compare-against-a-no-plugin-baseline) | El `runs` de cada caso, si no 3 |

418| `-j, --concurrency <n>` | Sesiones de agente a ejecutar a la vez, 1 a 8. Comparten tu límite de velocidad | `1` |418| `-j, --concurrency <n>` | Sesiones de agente a ejecutar a la vez, 1 a 8. Comparten tu límite de velocidad | `1` |

419| `--model <model>` | Modelo para el agente bajo prueba | El `model` de cada caso, si no `ANTHROPIC_MODEL` si está establecido, si no el predeterminado de Claude Code |419| `--model <model>` | Modelo para el agente bajo prueba | El `model` de cada caso, si no `ANTHROPIC_MODEL` si está establecido, si no el predeterminado de Claude Code |


432El código de salida informa cómo terminó la ejecución. Para actuar sobre él en un pipeline, consulta [Ejecutar evals en CI](/docs/es/plugin-evals#run-evals-in-ci).432El código de salida informa cómo terminó la ejecución. Para actuar sobre él en un pipeline, consulta [Ejecutar evals en CI](/docs/es/plugin-evals#run-evals-in-ci).

433 433 

434| Código de salida | Significado |434| Código de salida | Significado |

435| :--------------- | :------------------------------------------------------------------------- |435| :- | :- |

436| `0` | Cada caso cumple el umbral |436| `0` | Cada caso cumple el umbral |

437| `1` | Un caso fallido, un error de carga, o un directorio de plugin no confiable |437| `1` | Un caso fallido, un error de carga, o un directorio de plugin no confiable |

438| `2` | Una ejecución parcial |438| `2` | Una ejecución parcial |


464El comando acepta estas opciones:464El comando acepta estas opciones:

465 465 

466| Opción | Descripción | Por defecto |466| Opción | Descripción | Por defecto |

467| :------------------ | :----------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- |467| :- | :- | :- |

468| `--bare` | Escribe un `prompt.md` en blanco y `graders/criteria.md` para `<name>` en su lugar de ejecutar la entrevista | |468| `--bare` | Escribe un `prompt.md` en blanco y `graders/criteria.md` para `<name>` en su lugar de ejecutar la entrevista | |

469| `-i, --interactive` | Requiere la entrevista. Falla sin una terminal en su lugar de escribir una plantilla | |469| `-i, --interactive` | Requiere la entrevista. Falla sin una terminal en su lugar de escribir una plantilla | |

470| `--eval-dir <dir>` | Directorio debajo del directorio actual para escribir casos en | El `experimental.evals` del manifiesto, si no `evals` |470| `--eval-dir <dir>` | Directorio debajo del directorio actual para escribir casos en | El `experimental.evals` del manifiesto, si no `evals` |


484El `[path]` es el directorio del plugin, por defecto el directorio actual. El comando encuentra la entrada de marketplace caminando hacia arriba desde ese directorio a un `.claude-plugin/marketplace.json` que lista el plugin.484El `[path]` es el directorio del plugin, por defecto el directorio actual. El comando encuentra la entrada de marketplace caminando hacia arriba desde ese directorio a un `.claude-plugin/marketplace.json` que lista el plugin.

485 485 

486| Bandera | Descripción |486| Bandera | Descripción |

487| :-------------------- | :---------------------------------------------------------------------------------------------- |487| :- | :- |

488| `--push` | Empuja la etiqueta a `--remote` después de crearla |488| `--push` | Empuja la etiqueta a `--remote` después de crearla |

489| `--dry-run` | Imprime lo que se etiquetaría sin crear la etiqueta |489| `--dry-run` | Imprime lo que se etiquetaría sin crear la etiqueta |

490| `-f, --force` | Omite los controles de árbol de trabajo sucio y etiqueta-ya-existe |490| `-f, --force` | Omite los controles de árbol de trabajo sucio y etiqueta-ya-existe |


524```524```

525 525 

526| Bandera | Descripción |526| Bandera | Descripción |

527| :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |527| :- | :- |

528| `--strict` | Trata advertencias como errores, por lo que campos no reconocidos y metadatos faltantes que el runtime tolera fallan la ejecución. Requiere Claude Code v2.1.145 o posterior |528| `--strict` | Trata advertencias como errores, por lo que campos no reconocidos y metadatos faltantes que el runtime tolera fallan la ejecución. Requiere Claude Code v2.1.145 o posterior |

529| `--json` | Salida del informe de validación como un objeto JSON con los mismos códigos de salida. Requiere Claude Code v2.1.259 o posterior |529| `--json` | Salida del informe de validación como un objeto JSON con los mismos códigos de salida. Requiere Claude Code v2.1.259 o posterior |

530 530 


566Claude Code imprime el archivo que validó, cualquier error y advertencia con sus rutas, y una línea de veredicto. El código de salida sigue el veredicto:566Claude Code imprime el archivo que validó, cualquier error y advertencia con sus rutas, y una línea de veredicto. El código de salida sigue el veredicto:

567 567 

568| Código de salida | Línea de veredicto | Significado |568| Código de salida | Línea de veredicto | Significado |

569| :--------------- | :----------------------------------------------------------------------------- | :------------------------------------------------------------ |569| :- | :- | :- |

570| `0` | `Validation passed` o `Validation passed with warnings` | El manifiesto carga. Con `--strict`, sin advertencias tampoco |570| `0` | `Validation passed` o `Validation passed with warnings` | El manifiesto carga. Con `--strict`, sin advertencias tampoco |

571| `1` | `Validation failed` o `Validation failed (--strict treats warnings as errors)` | Un error, o una advertencia bajo `--strict` |571| `1` | `Validation failed` o `Validation failed (--strict treats warnings as errors)` | Un error, o una advertencia bajo `--strict` |

572| `2` | `Unexpected error during validation: <reason>` | El validador en sí falló, como en una ruta ilegible |572| `2` | `Unexpected error during validation: <reason>` | El validador en sí falló, como en una ruta ilegible |


605```605```

606 606 

607| Bandera | Descripción |607| Bandera | Descripción |

608| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |608| :- | :- |

609| `--scope <scope>` | Archivo de configuración para declarar el marketplace en: `user`, `project` o `local`. Por defecto es `user` |609| `--scope <scope>` | Archivo de configuración para declarar el marketplace en: `user`, `project` o `local`. Por defecto es `user` |

610| `--sparse <paths...>` | Limita el checkout de git a estos directorios, para monorepos. Solo fuentes `github` y `git` |610| `--sparse <paths...>` | Limita el checkout de git a estos directorios, para monorepos. Solo fuentes `github` y `git` |

611| `--claudeai` | Lee el argumento como el nombre de un [marketplace alojado en claude.ai](/docs/es/plugins/install#add-from-claude-ai) en su lugar de una fuente. Requiere Claude Code v2.1.273 o posterior |611| `--claudeai` | Lee el argumento como el nombre de un [marketplace alojado en claude.ai](/docs/es/plugins/install#add-from-claude-ai) en su lugar de una fuente. Requiere Claude Code v2.1.273 o posterior |


613`<source>` toma cualquiera de las formas en la tabla a continuación, y su forma decide el tipo de fuente y cómo Claude Code obtiene el marketplace. Para el objeto de fuente resultante, consulta la [referencia de marketplace](/docs/es/plugins/marketplace-reference).613`<source>` toma cualquiera de las formas en la tabla a continuación, y su forma decide el tipo de fuente y cómo Claude Code obtiene el marketplace. Para el objeto de fuente resultante, consulta la [referencia de marketplace](/docs/es/plugins/marketplace-reference).

614 614 

615| Escribes | Tipo de fuente | Cómo Claude Code lo obtiene |615| Escribes | Tipo de fuente | Cómo Claude Code lo obtiene |

616| :------------------------------------------------------------------------------------------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------- |616| :- | :- | :- |

617| `owner/repo`, `owner/repo#ref` o `owner/repo@ref` | `github` | Clona el repositorio de GitHub, fijado a `ref` cuando se da. El propietario y el repo deben seguir las reglas de nombres de GitHub |617| `owner/repo`, `owner/repo#ref` o `owner/repo@ref` | `github` | Clona el repositorio de GitHub, fijado a `ref` cuando se da. El propietario y el repo deben seguir las reglas de nombres de GitHub |

618| `user@host:path[.git][#ref]` | `git` | Clona sobre SSH |618| `user@host:path[.git][#ref]` | `git` | Clona sobre SSH |

619| `https://example.com/repo.git[#ref]`, o una URL que contiene `/_git/` | `git` | Clona sobre HTTPS, incluyendo URLs de Azure DevOps |619| `https://example.com/repo.git[#ref]`, o una URL que contiene `/_git/` | `git` | Clona sobre HTTPS, incluyendo URLs de Azure DevOps |


657```657```

658 658 

659| Bandera | Descripción |659| Bandera | Descripción |

660| :------- | :------------------------- |660| :- | :- |

661| `--json` | Imprime la lista como JSON |661| `--json` | Imprime la lista como JSON |

662 662 

663Claude Code imprime `Configured marketplaces:` y una línea `Source:` por marketplace, o `No marketplaces configured`.663Claude Code imprime `Configured marketplaces:` y una línea `Source:` por marketplace, o `No marketplaces configured`.


665Con `--json`, Claude Code imprime un array con un objeto por marketplace, llevando los campos a continuación. Cada campo es una string.665Con `--json`, Claude Code imprime un array con un objeto por marketplace, llevando los campos a continuación. Cada campo es una string.

666 666 

667| Campo | Descripción |667| Campo | Descripción |

668| :---------------- | :--------------------------------------------------------------------------- |668| :- | :- |

669| `name` | El nombre del marketplace |669| `name` | El nombre del marketplace |

670| `source` | `github`, `git`, `url`, `directory`, `file` o `claudeai` |670| `source` | `github`, `git`, `url`, `directory`, `file` o `claudeai` |

671| `repo` | `owner/repo`. Solo fuentes `github` |671| `repo` | `owner/repo`. Solo fuentes `github` |


699El `<name>` es el nombre del marketplace que `plugin marketplace list` muestra, no la fuente que pasaste a `add`.699El `<name>` es el nombre del marketplace que `plugin marketplace list` muestra, no la fuente que pasaste a `add`.

700 700 

701| Bandera | Descripción |701| Bandera | Descripción |

702| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------- |702| :- | :- |

703| `--scope <scope>` | Elimina la declaración de un ámbito de configuración: `user`, `project` o `local`. Sin él, Claude Code elimina la declaración de cada ámbito |703| `--scope <scope>` | Elimina la declaración de un ámbito de configuración: `user`, `project` o `local`. Sin él, Claude Code elimina la declaración de cada ámbito |

704 704 

705Elimina un marketplace de cada ámbito:705Elimina un marketplace de cada ámbito:


745La tabla a continuación lista cada forma de sesión. Los subcomandos de shell `init`, `update`, `details`, `prune`, `eval` y `eval init` no tienen forma de sesión.745La tabla a continuación lista cada forma de sesión. Los subcomandos de shell `init`, `update`, `details`, `prune`, `eval` y `eval init` no tienen forma de sesión.

746 746 

747| Comando | Alias | Qué hace |747| Comando | Alias | Qué hace |

748| :-------------------------------------------------- | :--------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |748| :- | :- | :- |

749| `/plugin` | | Abre el panel en la pestaña **Discover**. Cualquier primera palabra no reconocida después de `/plugin` hace lo mismo |749| `/plugin` | | Abre el panel en la pestaña **Discover**. Cualquier primera palabra no reconocida después de `/plugin` hace lo mismo |

750| `/plugin help` | `/plugin --help`, `/plugin -h` | Muestra la lista de uso de subcomandos de `/plugin` |750| `/plugin help` | `/plugin --help`, `/plugin -h` | Muestra la lista de uso de subcomandos de `/plugin` |

751| `/plugin list [--enabled\|--disabled]` | `ls` | Imprime tus plugins instalados de marketplace en línea, con versión, ámbito y estado. Una bandera de filtro muestra solo ese estado. Un plugin cuyo estado de habilitación aún no se ha aplicado está marcado como `— run /reload-plugins to apply`. Requiere Claude Code v2.1.163 o posterior |751| `/plugin list [--enabled\|--disabled]` | `ls` | Imprime tus plugins instalados de marketplace en línea, con versión, ámbito y estado. Una bandera de filtro muestra solo ese estado. Un plugin cuyo estado de habilitación aún no se ha aplicado está marcado como `— run /reload-plugins to apply`. Requiere Claude Code v2.1.163 o posterior |


781```781```

782 782 

783| Bandera | Descripción |783| Bandera | Descripción |

784| :-------- | :---------------------------------------------------------------------------------------------------- |784| :- | :- |

785| `--force` | Aplica la recarga incluso cuando invalidaría el caché de prompt. `force` sin guiones también funciona |785| `--force` | Aplica la recarga incluso cuando invalidaría el caché de prompt. `force` sin guiones también funciona |

786 786 

787<h3 id="reload-summary">787<h3 id="reload-summary">


819Los autores de plugins las usan para probar un plugin antes de publicarlo. Para el flujo de trabajo de cargar-editar-recargar, consulta [Desarrollar sin un marketplace](/docs/es/plugins/create#develop-without-a-marketplace).819Los autores de plugins las usan para probar un plugin antes de publicarlo. Para el flujo de trabajo de cargar-editar-recargar, consulta [Desarrollar sin un marketplace](/docs/es/plugins/create#develop-without-a-marketplace).

820 820 

821| Bandera | Descripción | Ejemplo |821| Bandera | Descripción | Ejemplo |

822| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------- |822| :- | :- | :- |

823| `--plugin-dir <path>` | Carga un plugin desde un directorio o un archivo `.zip` de uno. Una carpeta de plugins carga cada carpeta hijo que contiene un `.claude-plugin/plugin.json`. Cada bandera toma una ruta | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |823| `--plugin-dir <path>` | Carga un plugin desde un directorio o un archivo `.zip` de uno. Una carpeta de plugins carga cada carpeta hijo que contiene un `.claude-plugin/plugin.json`. Cada bandera toma una ruta | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |

824| `--plugin-url <url>` | Obtiene un archivo `.zip` de plugin desde una URL. Repite la bandera, o pasa varias URLs separadas por espacios en un valor entrecomillado | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |824| `--plugin-url <url>` | Obtiene un archivo `.zip` de plugin desde una URL. Repite la bandera, o pasa varias URLs separadas por espacios en un valor entrecomillado | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |

825 825 

Details

29 Encuentre su idioma en la tabla a continuación e instale el binario en su fila. Si su idioma no está listado, consulte [Agregar un idioma sin un plugin oficial](#add-a-language-without-an-official-plugin).29 Encuentre su idioma en la tabla a continuación e instale el binario en su fila. Si su idioma no está listado, consulte [Agregar un idioma sin un plugin oficial](#add-a-language-without-an-official-plugin).

30 30 

31 | Idioma | Plugin | Binario |31 | Idioma | Plugin | Binario |

32 | :---------------------- | :--------------------------------------------------------------------------------------------------------------- | :--------------------------------- |32 | :- | :- | :- |

33 | C/C++ | [`clangd-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/clangd-lsp) | `clangd` |33 | C/C++ | [`clangd-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/clangd-lsp) | `clangd` |

34 | C# | [`csharp-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/csharp-lsp) | `csharp-ls` |34 | C# | [`csharp-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/csharp-lsp) | `csharp-ls` |

35 | Go | [`gopls-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/gopls-lsp) | `gopls` |35 | Go | [`gopls-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/gopls-lsp) | `gopls` |

Details

953Un plugin puede incluir temas de color y estilos de salida. Ambos aparecen en los mismos selectores que los del usuario. Para cualquiera de los dos, establecer la clave de manifiesto reemplaza el escaneo de carpeta.953Un plugin puede incluir temas de color y estilos de salida. Ambos aparecen en los mismos selectores que los del usuario. Para cualquiera de los dos, establecer la clave de manifiesto reemplaza el escaneo de carpeta.

954 954 

955| Componente | Guardar como | Formato | Aparece en | Clave de manifiesto |955| Componente | Guardar como | Formato | Aparece en | Clave de manifiesto |

956| :--------------- | :------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------- | :-------------------- |956| :- | :- | :- | :- | :- |

957| Tema | `themes/<slug>.json` | El formato de [archivo de tema personalizado](/docs/es/terminal-config#create-a-custom-theme) que los usuarios escriben en `~/.claude/themes/` | `/theme`, bajo el `name` del archivo | `experimental.themes` |957| Tema | `themes/<slug>.json` | El formato de [archivo de tema personalizado](/docs/es/terminal-config#create-a-custom-theme) que los usuarios escriben en `~/.claude/themes/` | `/theme`, bajo el `name` del archivo | `experimental.themes` |

958| Estilo de salida | `output-styles/<name>.md` | El formato de [estilo de salida personalizado](/docs/es/output-styles#create-a-custom-output-style), con frontmatter `name` y `description` | `/output-style`, como `<plugin>:<name>` | `outputStyles` |958| Estilo de salida | `output-styles/<name>.md` | El formato de [estilo de salida personalizado](/docs/es/output-styles#create-a-custom-output-style), con frontmatter `name` y `description` | `/output-style`, como `<plugin>:<name>` | `outputStyles` |

959 959 

Details

151La tabla enumera los directorios con los que la mayoría de los plugins comienzan, y el [diseño completo](/docs/es/plugins/manifest-reference#standard-layout) enumera el resto.151La tabla enumera los directorios con los que la mayoría de los plugins comienzan, y el [diseño completo](/docs/es/plugins/manifest-reference#standard-layout) enumera el resto.

152 152 

153| Ubicación | Contenidos |153| Ubicación | Contenidos |

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

155| `.claude-plugin/plugin.json` | El manifiesto. Cuando carga un plugin con `--plugin-dir` y no tiene manifiesto, Claude Code nombra el plugin después de su directorio |155| `.claude-plugin/plugin.json` | El manifiesto. Cuando carga un plugin con `--plugin-dir` y no tiene manifiesto, Claude Code nombra el plugin después de su directorio |

156| `skills/` | Un directorio `<name>/SKILL.md` por skill |156| `skills/` | Un directorio `<name>/SKILL.md` por skill |

157| `commands/` | Archivos Markdown planos, la forma anterior de skills. Use `skills/` para nuevos plugins |157| `commands/` | Archivos Markdown planos, la forma anterior de skills. Use `skills/` para nuevos plugins |

Details

169Cada entrada de plugin en `marketplace.json` tiene una `source` que le dice a Claude Code dónde obtener ese plugin. Elija la source según dónde se almacenan los archivos del plugin. La tabla enumera las sources que la mayoría de los propietarios de marketplace utilizan.169Cada entrada de plugin en `marketplace.json` tiene una `source` que le dice a Claude Code dónde obtener ese plugin. Elija la source según dónde se almacenan los archivos del plugin. La tabla enumera las sources que la mayoría de los propietarios de marketplace utilizan.

170 170 

171| Source | Úsela cuando | Valor mínimo de `source` |171| Source | Úsela cuando | Valor mínimo de `source` |

172| :------------ | :------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------- |172| :- | :- | :- |

173| Ruta relativa | Los archivos del plugin están dentro del directorio del marketplace mismo | `"./plugins/my-first-plugin"` |173| Ruta relativa | Los archivos del plugin están dentro del directorio del marketplace mismo | `"./plugins/my-first-plugin"` |

174| `github` | El plugin es su propio repositorio de GitHub | `{ "source": "github", "repo": "your-org/my-first-plugin" }` |174| `github` | El plugin es su propio repositorio de GitHub | `{ "source": "github", "repo": "your-org/my-first-plugin" }` |

175| `git-subdir` | El plugin es un subdirectorio de algún otro repositorio, como un monorepo | `{ "source": "git-subdir", "url": "your-org/monorepo", "path": "tools/my-first-plugin" }` |175| `git-subdir` | El plugin es un subdirectorio de algún otro repositorio, como un monorepo | `{ "source": "git-subdir", "url": "your-org/monorepo", "path": "tools/my-first-plugin" }` |

Details

50Para establecer una restricción de versión, use un objeto con estos campos, cada uno una cadena:50Para establecer una restricción de versión, use un objeto con estos campos, cada uno una cadena:

51 51 

52| Campo | Descripción |52| Campo | Descripción |

53| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |53| :- | :- |

54| `name` | El nombre del plugin de dependencia, tal como aparece en su entrada de marketplace. Claude Code lo busca en el mismo marketplace que el plugin declarante a menos que establezca `marketplace`. Requerido. |54| `name` | El nombre del plugin de dependencia, tal como aparece en su entrada de marketplace. Claude Code lo busca en el mismo marketplace que el plugin declarante a menos que establezca `marketplace`. Requerido. |

55| `version` | Un [rango de versión semántica](https://github.com/npm/node-semver#ranges) como `~2.1.0`, `^2.0`, `>=1.4`, o `=2.1.0`. La dependencia se instala en la etiqueta git más alta que satisface este rango, por lo que el mantenedor de la dependencia debe [etiquetar versiones](#tag-plugin-releases-for-version-resolution). |55| `version` | Un [rango de versión semántica](https://github.com/npm/node-semver#ranges) como `~2.1.0`, `^2.0`, `>=1.4`, o `=2.1.0`. La dependencia se instala en la etiqueta git más alta que satisface este rango, por lo que el mantenedor de la dependencia debe [etiquetar versiones](#tag-plugin-releases-for-version-resolution). |

56| `marketplace` | Un marketplace diferente para resolver `name` en. Una lista de permitidos controla las dependencias entre marketplaces, descrito en [Dependa de un plugin de otro marketplace](#depend-on-a-plugin-from-another-marketplace). |56| `marketplace` | Un marketplace diferente para resolver `name` en. Una lista de permitidos controla las dependencias entre marketplaces, descrito en [Dependa de un plugin de otro marketplace](#depend-on-a-plugin-from-another-marketplace). |


228Cuando varios plugins instalados restringen la misma dependencia, la dependencia se resuelve a la versión más alta que satisface todos sus rangos. Las combinaciones comunes se resuelven así:228Cuando varios plugins instalados restringen la misma dependencia, la dependencia se resuelve a la versión más alta que satisface todos sus rangos. Las combinaciones comunes se resuelven así:

229 229 

230| Plugin A requiere | Plugin B requiere | Resultado |230| Plugin A requiere | Plugin B requiere | Resultado |

231| :---------------- | :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |231| :- | :- | :- |

232| `^2.0` | `>=2.1` | Una instalación en la etiqueta `2.x` más alta en o por encima de `2.1.0`. Ambos plugins cargan. |232| `^2.0` | `>=2.1` | Una instalación en la etiqueta `2.x` más alta en o por encima de `2.1.0`. Ambos plugins cargan. |

233| `~2.1` | `~3.0` | La instalación del plugin B falla con un mensaje `has conflicting version requirements`. El plugin A y la dependencia permanecen como estaban. |233| `~2.1` | `~3.0` | La instalación del plugin B falla con un mensaje `has conflicting version requirements`. El plugin A y la dependencia permanecen como estaban. |

234| `=2.1.0` | ninguno | La dependencia permanece en `2.1.0`. La auto-actualización omite versiones más nuevas mientras el plugin A está instalado. |234| `=2.1.0` | ninguno | La dependencia permanece en `2.1.0`. La auto-actualización omite versiones más nuevas mientras el plugin A está instalado. |

Details

26Puede alojar el marketplace en GitHub, en otro host de git, como una URL `marketplace.json` alojada, o en un directorio en un sistema de archivos compartido. Envíe a sus usuarios el comando add para su host y dígales qué necesitan en su máquina:26Puede alojar el marketplace en GitHub, en otro host de git, como una URL `marketplace.json` alojada, o en un directorio en un sistema de archivos compartido. Envíe a sus usuarios el comando add para su host y dígales qué necesitan en su máquina:

27 27 

28| Host | Los usuarios ejecutan, en una sesión de Claude Code | Qué necesitan los usuarios |28| Host | Los usuarios ejecutan, en una sesión de Claude Code | Qué necesitan los usuarios |

29| :------------------------------------------------------------- | :--------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------- |29| :- | :- | :- |

30| GitHub | `/plugin marketplace add your-org/your-marketplace` | `git`, y para un repositorio privado el acceso descrito en [Grant access to a private marketplace](#grant-access-to-a-private-marketplace) |30| GitHub | `/plugin marketplace add your-org/your-marketplace` | `git`, y para un repositorio privado el acceso descrito en [Grant access to a private marketplace](#grant-access-to-a-private-marketplace) |

31| GitLab, Bitbucket, GitHub Enterprise Server u otro host de git | `/plugin marketplace add https://gitlab.example.com/team/plugins.git` | `git` y acceso al host desde su máquina. Envíe la URL completa, porque el atajo `owner/repo` siempre significa github.com |31| GitLab, Bitbucket, GitHub Enterprise Server u otro host de git | `/plugin marketplace add https://gitlab.example.com/team/plugins.git` | `git` y acceso al host desde su máquina. Envíe la URL completa, porque el atajo `owner/repo` siempre significa github.com |

32| Una URL `marketplace.json` alojada | `/plugin marketplace add https://plugins.example.com/marketplace.json` | Acceso HTTPS a la URL. Los usuarios no necesitan `git` para el catálogo en sí |32| Una URL `marketplace.json` alojada | `/plugin marketplace add https://plugins.example.com/marketplace.json` | Acceso HTTPS a la URL. Los usuarios no necesitan `git` para el catálogo en sí |


159Desplegar un plugin en toda una empresa implica a usted como propietario del marketplace, un administrador que controla la configuración administrada y cada persona que usa Claude Code. Puede ejecutar el despliegue sin el administrador, en cuyo caso cada persona agrega el marketplace e instala el plugin ellos mismos.159Desplegar un plugin en toda una empresa implica a usted como propietario del marketplace, un administrador que controla la configuración administrada y cada persona que usa Claude Code. Puede ejecutar el despliegue sin el administrador, en cuyo caso cada persona agrega el marketplace e instala el plugin ellos mismos.

160 160 

161| Quién | Qué hacen | Dónde se cubre |161| Quién | Qué hacen | Dónde se cubre |

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

163| Usted, el propietario del marketplace | Mantenga el catálogo en un repositorio que solo la empresa pueda leer, envíe el comando add para su host y diga qué necesita cada persona en su máquina | [Host your marketplace](#host-your-marketplace) y [Grant access to a private marketplace](#grant-access-to-a-private-marketplace) |163| Usted, el propietario del marketplace | Mantenga el catálogo en un repositorio que solo la empresa pueda leer, envíe el comando add para su host y diga qué necesita cada persona en su máquina | [Host your marketplace](#host-your-marketplace) y [Grant access to a private marketplace](#grant-access-to-a-private-marketplace) |

164| Un administrador | Registra el marketplace y activa sus plugins para todos con `extraKnownMarketplaces` y `enabledPlugins` en la configuración administrada, y establece `autoUpdate` allí | [Require a marketplace and its plugins](/docs/es/plugins/org#require-a-marketplace-and-its-plugins) y [Set update policy](/docs/es/plugins/org#set-update-policy) |164| Un administrador | Registra el marketplace y activa sus plugins para todos con `extraKnownMarketplaces` y `enabledPlugins` en la configuración administrada, y establece `autoUpdate` allí | [Require a marketplace and its plugins](/docs/es/plugins/org#require-a-marketplace-and-its-plugins) y [Set update policy](/docs/es/plugins/org#set-update-policy) |

165| Cada persona | Necesita acceso de lectura a un repositorio de git privado, con credenciales ya almacenadas en su máquina. Sin un administrador, también ejecutan los comandos add e install | [Add a private marketplace](/docs/es/plugins/install#add-a-private-marketplace) |165| Cada persona | Necesita acceso de lectura a un repositorio de git privado, con credenciales ya almacenadas en su máquina. Sin un administrador, también ejecutan los comandos add e install | [Add a private marketplace](/docs/es/plugins/install#add-a-private-marketplace) |


331El lugar que elige decide qué descargas obtienen los encabezados y cuándo Claude Code ejecuta el comando:331El lugar que elige decide qué descargas obtienen los encabezados y cuándo Claude Code ejecuta el comando:

332 332 

333| Lugar | Descargas que obtienen los encabezados | Cuándo Claude Code ejecuta un `headersHelper` establecido allí |333| Lugar | Descargas que obtienen los encabezados | Cuándo Claude Code ejecuta un `headersHelper` establecido allí |

334| :--------------------------- | :------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |334| :- | :- | :- |

335| Source `url` del marketplace | Descargas de archivo en el origen de la URL del marketplace, lo que significa el mismo esquema, host y puerto | Antes de cada obtención del `marketplace.json` del marketplace y antes de cada descarga de archivo en ese origen. Claude Code reutiliza la salida de una ejecución durante hasta 60 segundos |335| Source `url` del marketplace | Descargas de archivo en el origen de la URL del marketplace, lo que significa el mismo esquema, host y puerto | Antes de cada obtención del `marketplace.json` del marketplace y antes de cada descarga de archivo en ese origen. Claude Code reutiliza la salida de una ejecución durante hasta 60 segundos |

336| Entrada del plugin | Solo la descarga de esa entrada | Solo cuando un usuario instala o actualiza ese plugin solo y [acepta el comando](#how-users-accept-a-headershelper-command) |336| Entrada del plugin | Solo la descarga de esa entrada | Solo cuando un usuario instala o actualiza ese plugin solo y [acepta el comando](#how-users-accept-a-headershelper-command) |

337 337 


415Usted declara el `headersHelper` de un source `url` del marketplace en un archivo de configuración, como una entrada [`extraKnownMarketplaces`](/docs/es/settings-reference#extraknownmarketplaces), en lugar de en el catálogo que publica el marketplace. Claude Code por lo tanto no pide al usuario que lo acepte en cada instalación o actualización. En su lugar, el archivo de configuración que lo declara decide cuándo Claude Code lo ejecuta:415Usted declara el `headersHelper` de un source `url` del marketplace en un archivo de configuración, como una entrada [`extraKnownMarketplaces`](/docs/es/settings-reference#extraknownmarketplaces), en lugar de en el catálogo que publica el marketplace. Claude Code por lo tanto no pide al usuario que lo acepte en cada instalación o actualización. En su lugar, el archivo de configuración que lo declara decide cuándo Claude Code lo ejecuta:

416 416 

417| Archivo de configuración | Cuándo Claude Code ejecuta el comando |417| Archivo de configuración | Cuándo Claude Code ejecuta el comando |

418| :---------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |418| :- | :- |

419| Configuración del usuario, un archivo `--settings` o un archivo de configuración administrada en la máquina | Sin preguntar, incluyendo durante una actualización de marketplace en segundo plano |419| Configuración del usuario, un archivo `--settings` o un archivo de configuración administrada en la máquina | Sin preguntar, incluyendo durante una actualización de marketplace en segundo plano |

420| El `.claude/settings.json` o `.claude/settings.local.json` de un proyecto | Solo después de que el usuario acepte el [diálogo de confianza del espacio de trabajo](/docs/es/permissions#what-runs-before-you-trust-a-folder) para esa carpeta en sí. Una sesión `-p` o SDK no cuenta como aceptarlo, ni tampoco la confianza otorgada a una carpeta padre |420| El `.claude/settings.json` o `.claude/settings.local.json` de un proyecto | Solo después de que el usuario acepte el [diálogo de confianza del espacio de trabajo](/docs/es/permissions#what-runs-before-you-trust-a-folder) para esa carpeta en sí. Una sesión `-p` o SDK no cuenta como aceptarlo, ni tampoco la confianza otorgada a una carpeta padre |

421| Configuración administrada por servidor | En una sesión interactiva, solo después de que el usuario apruebe la configuración entregada en el [diálogo de aprobación de seguridad](/docs/es/server-managed-settings#security-approval-dialogs) |421| Configuración administrada por servidor | En una sesión interactiva, solo después de que el usuario apruebe la configuración entregada en el [diálogo de aprobación de seguridad](/docs/es/server-managed-settings#security-approval-dialogs) |

Details

211En una sesión de Claude Code, ejecute `/plugin marketplace add` seguido de la fuente del marketplace: un repositorio de GitHub, un repositorio git en cualquier host, un directorio o archivo local, o un `marketplace.json` alojado.211En una sesión de Claude Code, ejecute `/plugin marketplace add` seguido de la fuente del marketplace: un repositorio de GitHub, un repositorio git en cualquier host, un directorio o archivo local, o un `marketplace.json` alojado.

212 212 

213| Fuente | Lo que escribe | Ejemplo |213| Fuente | Lo que escribe | Ejemplo |

214| :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ |214| :- | :- | :- |

215| Repositorio de GitHub | `owner/repo`. Agregue `#ref` para fijar una rama o etiqueta. | `/plugin marketplace add anthropics/claude-code`, o `/plugin marketplace add your-org/plugins#v1.2.0` para fijar la etiqueta `v1.2.0` |215| Repositorio de GitHub | `owner/repo`. Agregue `#ref` para fijar una rama o etiqueta. | `/plugin marketplace add anthropics/claude-code`, o `/plugin marketplace add your-org/plugins#v1.2.0` para fijar la etiqueta `v1.2.0` |

216| Repositorio Git en cualquier host | La URL de clonación completa. Agregue `#ref` para fijar una rama o etiqueta. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |216| Repositorio Git en cualquier host | La URL de clonación completa. Agregue `#ref` para fijar una rama o etiqueta. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |

217| Directorio o archivo local | Una ruta relativa o absoluta a un directorio que contiene `.claude-plugin/marketplace.json`, o al archivo JSON en sí. Comience una ruta relativa con `./` o `../`, porque Claude Code lee un `name/name` desnudo como un repositorio de GitHub. | `/plugin marketplace add ./my-marketplace` |217| Directorio o archivo local | Una ruta relativa o absoluta a un directorio que contiene `.claude-plugin/marketplace.json`, o al archivo JSON en sí. Comience una ruta relativa con `./` o `../`, porque Claude Code lee un `name/name` desnudo como un repositorio de GitHub. | `/plugin marketplace add ./my-marketplace` |


400También puede enumerar, actualizar y eliminar marketplaces con comandos, desde su shell o dentro de una sesión:400También puede enumerar, actualizar y eliminar marketplaces con comandos, desde su shell o dentro de una sesión:

401 401 

402| Acción | En su shell | Dentro de una sesión |402| Acción | En su shell | Dentro de una sesión |

403| :------------------------------------- | :---------------------------------------- | :---------------------------------- |403| :- | :- | :- |

404| Enumere marketplaces | `claude plugin marketplace list` | `/plugin marketplace list` |404| Enumere marketplaces | `claude plugin marketplace list` | `/plugin marketplace list` |

405| Actualice el listado de un marketplace | `claude plugin marketplace update <name>` | `/plugin marketplace update <name>` |405| Actualice el listado de un marketplace | `claude plugin marketplace update <name>` | `/plugin marketplace update <name>` |

406| Elimine un marketplace | `claude plugin marketplace remove <name>` | `/plugin marketplace remove <name>` |406| Elimine un marketplace | `claude plugin marketplace remove <name>` | `/plugin marketplace remove <name>` |

Details

53Cada plugin tiene un id de la forma `<name>@<origin>`, que es lo que ve en archivos de configuración y en `claude plugin list --json`. La parte después de `@` le dice dónde Claude Code encontró el plugin:53Cada plugin tiene un id de la forma `<name>@<origin>`, que es lo que ve en archivos de configuración y en `claude plugin list --json`. La parte después de `@` le dice dónde Claude Code encontró el plugin:

54 54 

55| El ID termina en | Cómo llegó el plugin allí | Cómo lo activa o desactiva |55| El ID termina en | Cómo llegó el plugin allí | Cómo lo activa o desactiva |

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

57| `@<marketplace>` | Lo instaló desde un mercado que agregó | `"<name>@<marketplace>": true` o `false` bajo `enabledPlugins` en un archivo de configuración |57| `@<marketplace>` | Lo instaló desde un mercado que agregó | `"<name>@<marketplace>": true` o `false` bajo `enabledPlugins` en un archivo de configuración |

58| `@inline` | Inició Claude Code con `--plugin-dir` o `--plugin-url`, estableció [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/es/env-vars#variables), o una aplicación del SDK de Agent pasó la opción `plugins`. Se carga solo para esa sesión | Activado para la sesión a menos que el manifiesto establezca `defaultEnabled: false` o un archivo de configuración establezca `"<name>@inline": false` |58| `@inline` | Inició Claude Code con `--plugin-dir` o `--plugin-url`, estableció [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/es/env-vars#variables), o una aplicación del SDK de Agent pasó la opción `plugins`. Se carga solo para esa sesión | Activado para la sesión a menos que el manifiesto establezca `defaultEnabled: false` o un archivo de configuración establezca `"<name>@inline": false` |

59| `@skills-dir` | Guardó un directorio de plugin que tiene un `.claude-plugin/plugin.json` bajo `~/.claude/skills/` o el `.claude/skills/` del proyecto | El `defaultEnabled` del manifiesto, a menos que un archivo de configuración establezca `"<name>@skills-dir"` en `true` o `false` |59| `@skills-dir` | Guardó un directorio de plugin que tiene un `.claude-plugin/plugin.json` bajo `~/.claude/skills/` o el `.claude/skills/` del proyecto | El `defaultEnabled` del manifiesto, a menos que un archivo de configuración establezca `"<name>@skills-dir"` en `true` o `false` |


142Puede establecer una entrada `enabledPlugins` en cualquiera de seis fuentes. La tabla las enumera de menor a mayor precedencia, y a quién se aplica cada una. Para los archivos de configuración en sí, consulte [Archivos de configuración y a quién afectan](/docs/es/settings#where-settings-live).142Puede establecer una entrada `enabledPlugins` en cualquiera de seis fuentes. La tabla las enumera de menor a mayor precedencia, y a quién se aplica cada una. Para los archivos de configuración en sí, consulte [Archivos de configuración y a quién afectan](/docs/es/settings#where-settings-live).

143 143 

144| Fuente | Dónde lo establece | Alcanza |144| Fuente | Dónde lo establece | Alcanza |

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

146| `--add-dir` | `.claude/settings.json` o `.claude/settings.local.json` en un directorio que pasa con `--add-dir` | Solo esta sesión. Solo un valor `true` tiene efecto, y todas las otras fuentes lo anulan |146| `--add-dir` | `.claude/settings.json` o `.claude/settings.local.json` en un directorio que pasa con `--add-dir` | Solo esta sesión. Solo un valor `true` tiene efecto, y todas las otras fuentes lo anulan |

147| `user` | `~/.claude/settings.json` | Usted, en cada proyecto |147| `user` | `~/.claude/settings.json` | Usted, en cada proyecto |

148| `project` | `.claude/settings.json` | Todos los que clonan el repositorio |148| `project` | `.claude/settings.json` | Todos los que clonan el repositorio |


182Claude Code mantiene archivos de plugin y registros de estado bajo una raíz de plugins, que es `~/.claude/plugins` a menos que establezca [`CLAUDE_CODE_PLUGIN_CACHE_DIR`](/docs/es/env-vars). Cada ruta en la tabla es relativa a esa raíz.182Claude Code mantiene archivos de plugin y registros de estado bajo una raíz de plugins, que es `~/.claude/plugins` a menos que establezca [`CLAUDE_CODE_PLUGIN_CACHE_DIR`](/docs/es/env-vars). Cada ruta en la tabla es relativa a esa raíz.

183 183 

184| Ruta | Lo que contiene |184| Ruta | Lo que contiene |

185| :--------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |185| :- | :- |

186| `cache/<marketplace>/<plugin>/<version>/` | Un directorio por versión instalada de un plugin de mercado. `<plugin>` es el nombre de entrada del mercado y `<version>` es la [versión resuelta](#versions-and-updates). `${CLAUDE_PLUGIN_ROOT}` apunta a este directorio |186| `cache/<marketplace>/<plugin>/<version>/` | Un directorio por versión instalada de un plugin de mercado. `<plugin>` es el nombre de entrada del mercado y `<version>` es la [versión resuelta](#versions-and-updates). `${CLAUDE_PLUGIN_ROOT}` apunta a este directorio |

187| `data/<plugin-id>/` | El directorio persistente del plugin, expuesto como `${CLAUDE_PLUGIN_DATA}`. Para saber cómo se forma `<plugin-id>`, consulte [Variables de ruta y datos persistentes](/docs/es/plugins/components#path-variables-and-persistent-data). Claude Code lo crea cuando un componente del plugin lo usa por primera vez y lo mantiene en las actualizaciones. Claude Code lo elimina cuando desinstala el plugin de su último ámbito, a menos que pase `--keep-data` |187| `data/<plugin-id>/` | El directorio persistente del plugin, expuesto como `${CLAUDE_PLUGIN_DATA}`. Para saber cómo se forma `<plugin-id>`, consulte [Variables de ruta y datos persistentes](/docs/es/plugins/components#path-variables-and-persistent-data). Claude Code lo crea cuando un componente del plugin lo usa por primera vez y lo mantiene en las actualizaciones. Claude Code lo elimina cuando desinstala el plugin de su último ámbito, a menos que pase `--keep-data` |

188| `marketplaces/<name>/` | El clon o descarga de un mercado agregado desde GitHub, otro host de Git, o una URL. Un mercado agregado desde una fuente `file` o `directory` local no tiene copia aquí, y su `installLocation` en `known_marketplaces.json` es la ruta que proporcionó |188| `marketplaces/<name>/` | El clon o descarga de un mercado agregado desde GitHub, otro host de Git, o una URL. Un mercado agregado desde una fuente `file` o `directory` local no tiene copia aquí, y su `installLocation` en `known_marketplaces.json` es la ruta que proporcionó |


247La instalación se ejecuta solo cuando el directorio raíz del plugin contiene tanto un `package.json` como un archivo de bloqueo compatible. El archivo de bloqueo decide qué comando ejecuta Claude Code:247La instalación se ejecuta solo cuando el directorio raíz del plugin contiene tanto un `package.json` como un archivo de bloqueo compatible. El archivo de bloqueo decide qué comando ejecuta Claude Code:

248 248 

249| Archivo de bloqueo | Comando |249| Archivo de bloqueo | Comando |

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

251| `bun.lock` o `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |251| `bun.lock` o `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |

252| `npm-shrinkwrap.json` o `package-lock.json` | `npm ci --ignore-scripts` |252| `npm-shrinkwrap.json` o `package-lock.json` | `npm ci --ignore-scripts` |

253 253 


3153. Cuando ninguno está establecido, la versión viene del tipo de fuente:3153. Cuando ninguno está establecido, la versión viene del tipo de fuente:

316 316 

317| Tipo de fuente | Versión cuando no se establece ningún campo `version` |317| Tipo de fuente | Versión cuando no se establece ningún campo `version` |

318| :--------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |318| :- | :- |

319| `github`, `url`, o `git-subdir` | El SHA de confirmación de la fuente, acortado a 12 caracteres. Una versión `git-subdir` también lleva un hash de la ruta del subdirectorio |319| `github`, `url`, o `git-subdir` | El SHA de confirmación de la fuente, acortado a 12 caracteres. Una versión `git-subdir` también lleva un hash de la ruta del subdirectorio |

320| `archive` | El resumen SHA-256, acortado a 12 caracteres: el pin `sha256` en la entrada del mercado, o el resumen del archivo descargado cuando no hay pin |320| `archive` | El resumen SHA-256, acortado a 12 caracteres: el pin `sha256` en la entrada del mercado, o el resumen del archivo descargado cuando no hay pin |

321| Ruta relativa dentro de un mercado alojado en Git | El SHA de confirmación del directorio instalado |321| Ruta relativa dentro de un mercado alojado en Git | El SHA de confirmación del directorio instalado |


335Cuando instala un plugin, Claude Code lo busca en su copia local del catálogo del mercado. Puede ejecutar `/plugin install` en una sesión o `claude plugin install` en su shell, y nombrar el plugin con o sin su mercado. La tabla muestra cuál de esas combinaciones actualiza la copia local.335Cuando instala un plugin, Claude Code lo busca en su copia local del catálogo del mercado. Puede ejecutar `/plugin install` en una sesión o `claude plugin install` en su shell, y nombrar el plugin con o sin su mercado. La tabla muestra cuál de esas combinaciones actualiza la copia local.

336 336 

337| Nombre del plugin | Comando | Lo que Claude Code actualiza |337| Nombre del plugin | Comando | Lo que Claude Code actualiza |

338| :----------------- | :------------------------------------------ | :----------------------------------------------------------------------------------------------------- |338| :- | :- | :- |

339| `name@marketplace` | `/plugin install` o `claude plugin install` | El mercado nombrado, antes de la búsqueda |339| `name@marketplace` | `/plugin install` o `claude plugin install` | El mercado nombrado, antes de la búsqueda |

340| `name` solo | `/plugin install` | Solo mercados que tienen la actualización automática activada, y solo después de que la búsqueda falla |340| `name` solo | `/plugin install` | Solo mercados que tienen la actualización automática activada, y solo después de que la búsqueda falla |

341| `name` solo | `claude plugin install` | Nada. Lee los catálogos en caché sin actualizar |341| `name` solo | `claude plugin install` | Nada. Lee los catálogos en caché sin actualizar |

Details

125Para claves de componentes como `commands` y `hooks`, [Formas de ruta de componente](#component-path-forms) muestra cada forma aceptada con un ejemplo, y cada ruta sigue las [reglas de ruta](#path-rules) para el prefijo `./`, extensiones y contención.125Para claves de componentes como `commands` y `hooks`, [Formas de ruta de componente](#component-path-forms) muestra cada forma aceptada con un ejemplo, y cada ruta sigue las [reglas de ruta](#path-rules) para el prefijo `./`, extensiones y contención.

126 126 

127| Campo | Tipo | Descripción |127| Campo | Tipo | Descripción |

128| :----------------------------------- | :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |128| :- | :- | :- |

129| `$schema` | String | URL de JSON Schema para autocompletado del editor. Claude Code lo ignora en tiempo de carga |129| `$schema` | String | URL de JSON Schema para autocompletado del editor. Claude Code lo ignora en tiempo de carga |

130| [`name`](#name) | String | Identificador del plugin, obligatorio. Use kebab-case. Cada componente se espacía bajo él |130| [`name`](#name) | String | Identificador del plugin, obligatorio. Use kebab-case. Cada componente se espacía bajo él |

131| [`displayName`](#displayname) | String | Nombre mostrado en la UI en lugar de `name` |131| [`displayName`](#displayname) | String | Nombre mostrado en la UI en lugar de `name` |


234Cada valor establece exactamente uno de `source` o `content`, y una entrada que establece ambos o ninguno falla la validación. Los otros campos en esta tabla son opcionales:234Cada valor establece exactamente uno de `source` o `content`, y una entrada que establece ambos o ninguno falla la validación. Los otros campos en esta tabla son opcionales:

235 235 

236| Campo | Tipo | Descripción |236| Campo | Tipo | Descripción |

237| :------------- | :--------------- | :----------------------------------------------------------------------------- |237| :- | :- | :- |

238| `source` | string | Ruta al archivo Markdown del comando, relativa a la raíz del plugin |238| `source` | string | Ruta al archivo Markdown del comando, relativa a la raíz del plugin |

239| `content` | string | Markdown en línea para el cuerpo del comando, en lugar de `source` |239| `content` | string | Markdown en línea para el cuerpo del comando, en lugar de `source` |

240| `description` | string | Descripción mostrada para el comando |240| `description` | string | Descripción mostrada para el comando |


290Un valor `mcpServers` toma una de estas formas:290Un valor `mcpServers` toma una de estas formas:

291 291 

292| Forma | Valor de ejemplo | Qué hace Claude Code |292| Forma | Valor de ejemplo | Qué hace Claude Code |

293| :---------------------- | :------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- |293| :- | :- | :- |

294| Ruta de archivo `.json` | `"./mcp/servers.json"` | Lee el archivo como un mapa `mcpServers` |294| Ruta de archivo `.json` | `"./mcp/servers.json"` | Lee el archivo como un mapa `mcpServers` |

295| Ruta de bundle MCP | `"./bundle.mcpb"` | Extrae el bundle `.mcpb` o `.dxt` en `.mcpb-cache/` bajo la raíz del plugin y lee su configuración de servidor |295| Ruta de bundle MCP | `"./bundle.mcpb"` | Extrae el bundle `.mcpb` o `.dxt` en `.mcpb-cache/` bajo la raíz del plugin y lee su configuración de servidor |

296| URL de bundle MCP | `"https://example.com/server.mcpb"` | Descarga el bundle en `.mcpb-cache/`, luego lo lee |296| URL de bundle MCP | `"https://example.com/server.mcpb"` | Descarga el bundle en `.mcpb-cache/`, luego lo lee |


309Cada configuración de servidor es un objeto estricto con estos campos. Una clave desconocida falla la validación.309Cada configuración de servidor es un objeto estricto con estos campos. Una clave desconocida falla la validación.

310 310 

311| Campo | Obligatorio | Descripción |311| Campo | Obligatorio | Descripción |

312| :---------------------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |312| :- | :- | :- |

313| `command` | Yes | Binario del servidor de lenguaje. Sin espacios a menos que el valor comience con `/`; coloque argumentos en `args` |313| `command` | Yes | Binario del servidor de lenguaje. Sin espacios a menos que el valor comience con `/`; coloque argumentos en `args` |

314| `extensionToLanguage` | Yes | Mapa de extensión de archivo a ID de lenguaje LSP, al menos una entrada. Las claves comienzan con un punto, como `".go"` |314| `extensionToLanguage` | Yes | Mapa de extensión de archivo a ID de lenguaje LSP, al menos una entrada. Las claves comienzan con un punto, como `".go"` |

315| `args` | No | Argumentos pasados al servidor |315| `args` | No | Argumentos pasados al servidor |


349Cada entrada es un objeto estricto con estos campos.349Cada entrada es un objeto estricto con estos campos.

350 350 

351| Campo | Obligatorio | Descripción |351| Campo | Obligatorio | Descripción |

352| :------------ | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |352| :- | :- | :- |

353| `name` | Yes | Identificador único dentro del plugin |353| `name` | Yes | Identificador único dentro del plugin |

354| `command` | Yes | Comando de shell que Claude Code ejecuta como un proceso de fondo persistente en el directorio de trabajo de la sesión |354| `command` | Yes | Comando de shell que Claude Code ejecuta como un proceso de fondo persistente en el directorio de trabajo de la sesión |

355| `description` | Yes | Resumen breve mostrado en el panel de tareas y resúmenes de notificaciones |355| `description` | Yes | Resumen breve mostrado en el panel de tareas y resúmenes de notificaciones |


417Cada valor es un objeto estricto con estos campos. Una clave desconocida falla la validación.417Cada valor es un objeto estricto con estos campos. Una clave desconocida falla la validación.

418 418 

419| Campo | Obligatorio | Descripción |419| Campo | Obligatorio | Descripción |

420| :------------ | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |420| :- | :- | :- |

421| `type` | Yes | Uno de `string`, `number`, `boolean`, `directory` o `file` |421| `type` | Yes | Uno de `string`, `number`, `boolean`, `directory` o `file` |

422| `title` | Yes | Etiqueta mostrada en el diálogo de configuración |422| `title` | Yes | Etiqueta mostrada en el diálogo de configuración |

423| `description` | Yes | Texto de ayuda mostrado debajo del campo |423| `description` | Yes | Texto de ayuda mostrado debajo del campo |


500La tabla muestra cómo el valor puede llegar a cada uno de estos campos en su lugar.500La tabla muestra cómo el valor puede llegar a cada uno de estos campos en su lugar.

501 501 

502| Campo | Cómo el valor puede llegar a él |502| Campo | Cómo el valor puede llegar a él |

503| :------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |503| :- | :- |

504| Comandos de hook de forma shell | Use [forma exec](/docs/es/hooks#exec-form-and-shell-form) con `args`, o lea `CLAUDE_PLUGIN_OPTION_<KEY>` del entorno del hook |504| Comandos de hook de forma shell | Use [forma exec](/docs/es/hooks#exec-form-and-shell-form) con `args`, o lea `CLAUDE_PLUGIN_OPTION_<KEY>` del entorno del hook |

505| Comandos de monitor | No a través de Claude Code. Los procesos de monitor no reciben `CLAUDE_PLUGIN_OPTION_<KEY>`, por lo que el script de monitor tiene que obtener el valor por su cuenta |505| Comandos de monitor | No a través de Claude Code. Los procesos de monitor no reciben `CLAUDE_PLUGIN_OPTION_<KEY>`, por lo que el script de monitor tiene que obtener el valor por su cuenta |

506| MCP `headersHelper` | No a través de Claude Code. El entorno del ayudante lleva `CLAUDE_PLUGIN_ROOT`, `CLAUDE_CODE_MCP_SERVER_NAME` y `CLAUDE_CODE_MCP_SERVER_URL` pero sin valores de opción, por lo que el script del ayudante tiene que obtener el valor por su cuenta |506| MCP `headersHelper` | No a través de Claude Code. El entorno del ayudante lleva `CLAUDE_PLUGIN_ROOT`, `CLAUDE_CODE_MCP_SERVER_NAME` y `CLAUDE_CODE_MCP_SERVER_URL` pero sin valores de opción, por lo que el script del ayudante tiene que obtener el valor por su cuenta |


514Cada entrada es un objeto estricto vinculado a uno de los servidores MCP del plugin, con estos campos:514Cada entrada es un objeto estricto vinculado a uno de los servidores MCP del plugin, con estos campos:

515 515 

516| Campo | Obligatorio | Descripción |516| Campo | Obligatorio | Descripción |

517| :------------ | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |517| :- | :- | :- |

518| `server` | Yes | Clave del servidor MCP en `mcpServers` de este plugin al que se vincula el canal |518| `server` | Yes | Clave del servidor MCP en `mcpServers` de este plugin al que se vincula el canal |

519| `displayName` | No | Nombre mostrado en el título del diálogo de configuración. Por defecto es el nombre del servidor |519| `displayName` | No | Nombre mostrado en el título del diálogo de configuración. Por defecto es el nombre del servidor |

520| `userConfig` | No | Opciones para solicitar, en la misma forma que [top-level `userConfig`](#user-configuration). Los valores guardados se sustituyen en referencias `${user_config.KEY}` en el `env` del servidor |520| `userConfig` | No | Opciones para solicitar, en la misma forma que [top-level `userConfig`](#user-configuration). Los valores guardados se sustituyen en referencias `${user_config.KEY}` en el `env` del servidor |


554Claude Code proporciona tres variables de ruta a componentes de plugin. Referenciarlas como `${NAME}` en los campos enumerados en [Dónde se resuelve cada variable](#where-each-variable-resolves), y léalas como variables de entorno en los procesos que las reciben.554Claude Code proporciona tres variables de ruta a componentes de plugin. Referenciarlas como `${NAME}` en los campos enumerados en [Dónde se resuelve cada variable](#where-each-variable-resolves), y léalas como variables de entorno en los procesos que las reciben.

555 555 

556| Variable | Se resuelve a | Úsela para |556| Variable | Se resuelve a | Úsela para |

557| :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- |557| :- | :- | :- |

558| `${CLAUDE_PLUGIN_ROOT}` | Ruta absoluta de la versión instalada del plugin | Scripts, binarios y archivos de configuración incluidos con el plugin |558| `${CLAUDE_PLUGIN_ROOT}` | Ruta absoluta de la versión instalada del plugin | Scripts, binarios y archivos de configuración incluidos con el plugin |

559| `${CLAUDE_PLUGIN_DATA}` | `~/.claude/plugins/data/<id>/`, creado en la primera referencia y mantenido en actualizaciones de plugin. `<id>` es el identificador del plugin con cada carácter que no sea una letra, dígito, `_` o `-` reemplazado por `-` | Dependencias instaladas como `node_modules`, código generado y cachés |559| `${CLAUDE_PLUGIN_DATA}` | `~/.claude/plugins/data/<id>/`, creado en la primera referencia y mantenido en actualizaciones de plugin. `<id>` es el identificador del plugin con cada carácter que no sea una letra, dígito, `_` o `-` reemplazado por `-` | Dependencias instaladas como `node_modules`, código generado y cachés |

560| `${CLAUDE_PROJECT_DIR}` | La raíz del proyecto | Scripts y archivos de configuración locales del proyecto |560| `${CLAUDE_PROJECT_DIR}` | La raíz del proyecto | Scripts y archivos de configuración locales del proyecto |


570En cada componente de plugin, las referencias `${...}` se resuelven en línea en campos específicos, y algunos componentes también reciben las variables en su entorno de proceso:570En cada componente de plugin, las referencias `${...}` se resuelven en línea en campos específicos, y algunos componentes también reciben las variables en su entorno de proceso:

571 571 

572| Componente de plugin | Campos donde `${...}` se resuelve | Exportado al proceso |572| Componente de plugin | Campos donde `${...}` se resuelve | Exportado al proceso |

573| :----------------------------------- | :------------------------------------------ | :---------------------------------------------------------------------------------------------- |573| :- | :- | :- |

574| Comandos de hook | En cualquier lugar en `command` y `args` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` y `CLAUDE_PLUGIN_OPTION_<KEY>` |574| Comandos de hook | En cualquier lugar en `command` y `args` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` y `CLAUDE_PLUGIN_OPTION_<KEY>` |

575| Comandos de monitor | En cualquier lugar en `command` | No exportado |575| Comandos de monitor | En cualquier lugar en `command` | No exportado |

576| Servidores MCP `stdio` | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |576| Servidores MCP `stdio` | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |


617Cada tipo de componente tiene una ubicación predeterminada bajo la raíz del plugin, usada cuando el manifiesto no apunta a otro lugar.617Cada tipo de componente tiene una ubicación predeterminada bajo la raíz del plugin, usada cuando el manifiesto no apunta a otro lugar.

618 618 

619| Componente | Ubicación predeterminada | Contenidos |619| Componente | Ubicación predeterminada | Contenidos |

620| :---------------- | :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |620| :- | :- | :- |

621| Manifiesto | `.claude-plugin/plugin.json` | Metadatos y configuración del plugin. Opcional |621| Manifiesto | `.claude-plugin/plugin.json` | Metadatos y configuración del plugin. Opcional |

622| Skills | `skills/` | Un `<name>/SKILL.md` por skill. Un plugin con `SKILL.md` en su raíz, sin `skills/`, y sin clave `skills` se carga como una skill única |622| Skills | `skills/` | Un `<name>/SKILL.md` por skill. Un plugin con `SKILL.md` en su raíz, sin `skills/`, y sin clave `skills` se carga como una skill única |

623| Comandos | `commands/` | Archivos de comando Markdown planos. Prefiera `skills/` para nuevos plugins |623| Comandos | `commands/` | Archivos de comando Markdown planos. Prefiera `skills/` para nuevos plugins |

Details

60La tabla enumera cada clave que Claude Code lee de `marketplace.json`. `name`, `owner` y `plugins` son obligatorios.60La tabla enumera cada clave que Claude Code lee de `marketplace.json`. `name`, `owner` y `plugins` son obligatorios.

61 61 

62| Campo | Tipo | Descripción |62| Campo | Tipo | Descripción |

63| :----------------------------------------- | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |63| :- | :- | :- |

64| `name` | string | Identificador de marketplace. Sin espacios, caracteres de control o caracteres de formato bidireccional, sin `/` o `\`, sin `..` y no `.`. Consulte [Nombres reservados](#reserved-names). Los usuarios lo escriben después de `@` cuando instalan un plugin |64| `name` | string | Identificador de marketplace. Sin espacios, caracteres de control o caracteres de formato bidireccional, sin `/` o `\`, sin `..` y no `.`. Consulte [Nombres reservados](#reserved-names). Los usuarios lo escriben después de `@` cuando instalan un plugin |

65| `owner` | object | Información del mantenedor. `name` es obligatorio; `email` y `url` son opcionales |65| `owner` | object | Información del mantenedor. `name` es obligatorio; `email` y `url` son opcionales |

66| `plugins` | array | [Entradas de plugins](#plugin-entries). Cada entrada se valida por sí sola, por lo que una entrada inválida no falla el marketplace |66| `plugins` | array | [Entradas de plugins](#plugin-entries). Cada entrada se valida por sí sola, por lo que una entrada inválida no falla el marketplace |


84La tabla enumera los campos propios de la entrada y los campos del manifiesto cuyo significado cambia en una entrada.84La tabla enumera los campos propios de la entrada y los campos del manifiesto cuyo significado cambia en una entrada.

85 85 

86| Campo | Tipo | Descripción |86| Campo | Tipo | Descripción |

87| :--------------- | :--------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |87| :- | :- | :- |

88| `name` | string | Identificador de plugin, sin espacios, caracteres de control o caracteres de formato bidireccional. Los usuarios lo escriben antes de `@` cuando instalan, incluso cuando el propio `plugin.json` del plugin establece un `name` diferente |88| `name` | string | Identificador de plugin, sin espacios, caracteres de control o caracteres de formato bidireccional. Los usuarios lo escriben antes de `@` cuando instalan, incluso cuando el propio `plugin.json` del plugin establece un `name` diferente |

89| `source` | string or object | Dónde obtener el plugin. Consulte [Fuentes de plugins](#plugin-sources) |89| `source` | string or object | Dónde obtener el plugin. Consulte [Fuentes de plugins](#plugin-sources) |

90| `description` | string | Se muestra en los listados y detalles de [`/plugin`](/docs/es/plugins/install) |90| `description` | string | Se muestra en los listados y detalles de [`/plugin`](/docs/es/plugins/install) |


133`strict` decide qué sucede cuando el plugin obtenido tiene su propio `plugin.json` y la entrada también declara cualquiera de los [campos de componente](#entry-and-plugin-json): `commands`, `agents`, `skills`, `hooks`, `outputStyles` o `themes`. Con `strict: true`, el predeterminado, Claude Code añade los campos de componente de la entrada a `plugin.json`, excepto `hooks`, cuyos coincidentes reemplazan los del manifiesto por evento. Con `strict: false`, una entrada que declara cualquier campo de componente es un conflicto, y el plugin falla al cargar. La tabla muestra cada combinación de `strict`, `plugin.json` y los campos de componente de la entrada.133`strict` decide qué sucede cuando el plugin obtenido tiene su propio `plugin.json` y la entrada también declara cualquiera de los [campos de componente](#entry-and-plugin-json): `commands`, `agents`, `skills`, `hooks`, `outputStyles` o `themes`. Con `strict: true`, el predeterminado, Claude Code añade los campos de componente de la entrada a `plugin.json`, excepto `hooks`, cuyos coincidentes reemplazan los del manifiesto por evento. Con `strict: false`, una entrada que declara cualquier campo de componente es un conflicto, y el plugin falla al cargar. La tabla muestra cada combinación de `strict`, `plugin.json` y los campos de componente de la entrada.

134 134 

135| `strict` | `plugin.json` | Campos de componente de entrada | Resultado |135| `strict` | `plugin.json` | Campos de componente de entrada | Resultado |

136| :------------------------ | :------------ | :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |136| :- | :- | :- | :- |

137| any | absent | any | La entrada es el manifiesto |137| any | absent | any | La entrada es el manifiesto |

138| `true`, el predeterminado | present | any | `plugin.json` es la autoridad. Claude Code añade los campos de componente de la entrada a él, excepto `hooks`, cuyos coincidentes [reemplazan los del manifiesto por evento](/docs/es/plugins/manifest-reference#how-entry-fields-combine-with-plugin-json) |138| `true`, el predeterminado | present | any | `plugin.json` es la autoridad. Claude Code añade los campos de componente de la entrada a él, excepto `hooks`, cuyos coincidentes [reemplazan los del manifiesto por evento](/docs/es/plugins/manifest-reference#how-entry-fields-combine-with-plugin-json) |

139| `false` | present | none | `plugin.json` es el manifiesto, como con `true` |139| `false` | present | none | `plugin.json` es el manifiesto, como con `true` |


148La tabla enumera cada tipo de fuente de plugin y sus campos.148La tabla enumera cada tipo de fuente de plugin y sus campos.

149 149 

150| Tipo | Campos | Notas |150| Tipo | Campos | Notas |

151| :------------ | :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |151| :- | :- | :- |

152| Ruta relativa | la cadena en sí | Un directorio dentro del marketplace, resuelto desde la raíz del marketplace. Debe comenzar con `./`, a menos que escriba un [nombre desnudo bajo `metadata.pluginRoot`](#relative-path-plugin-source). `"."` por sí solo significa la raíz en sí |152| Ruta relativa | la cadena en sí | Un directorio dentro del marketplace, resuelto desde la raíz del marketplace. Debe comenzar con `./`, a menos que escriba un [nombre desnudo bajo `metadata.pluginRoot`](#relative-path-plugin-source). `"."` por sí solo significa la raíz en sí |

153| `github` | `repo`, `ref`, `sha` | Repositorio de GitHub en forma `owner/repo` |153| `github` | `repo`, `ref`, `sha` | Repositorio de GitHub en forma `owner/repo` |

154| `url` | `url`, `ref`, `sha` | Cualquier repositorio git por URL |154| `url` | `url`, `ref`, `sha` | Cualquier repositorio git por URL |


372Los nombres de tipo `url`, `git` y `github` significan algo diferente en una fuente de marketplace que en una [fuente de plugin](#plugin-sources):372Los nombres de tipo `url`, `git` y `github` significan algo diferente en una fuente de marketplace que en una [fuente de plugin](#plugin-sources):

373 373 

374| Nombre de tipo | Como fuente de marketplace | Como fuente de plugin |374| Nombre de tipo | Como fuente de marketplace | Como fuente de plugin |

375| :------------- | :----------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------- |375| :- | :- | :- |

376| `url` | Un enlace directo a un archivo `marketplace.json`, con campos `url`, `headers` y `headersHelper` | Un repositorio git para clonar, con campos `url`, `ref` y `sha` |376| `url` | Un enlace directo a un archivo `marketplace.json`, con campos `url`, `headers` y `headersHelper` | Un repositorio git para clonar, con campos `url`, `ref` y `sha` |

377| `git` | Un repositorio git para clonar, con campos `url`, `ref`, `path` y `sparsePaths` | No existe |377| `git` | Un repositorio git para clonar, con campos `url`, `ref`, `path` y `sparsePaths` | No existe |

378| `github` | Un repositorio de GitHub, con campos `repo`, `ref`, `path` y `sparsePaths` | Un repositorio de GitHub, con campos `repo`, `ref` y `sha`, y sin `path` |378| `github` | Un repositorio de GitHub, con campos `repo`, `ref`, `path` y `sparsePaths` | Un repositorio de GitHub, con campos `repo`, `ref` y `sha`, y sin `path` |


380La tabla enumera cada tipo de fuente de marketplace con sus campos, la entrada de `claude plugin marketplace add` que lo produce, y qué hace en cada una de las tres claves de configuración.380La tabla enumera cada tipo de fuente de marketplace con sus campos, la entrada de `claude plugin marketplace add` que lo produce, y qué hace en cada una de las tres claves de configuración.

381 381 

382| Tipo | Campos | entrada `marketplace add` | `extraKnownMarketplaces` | `strictKnownMarketplaces` | `blockedMarketplaces` |382| Tipo | Campos | entrada `marketplace add` | `extraKnownMarketplaces` | `strictKnownMarketplaces` | `blockedMarketplaces` |

383| :------------ | :----------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |383| :- | :- | :- | :- | :- | :- |

384| `url` | `url`, `headers`, `headersHelper` | Una URL `http://` o `https://` que no coincide con una forma git | Se carga | Permite la misma URL | Bloquea la misma URL |384| `url` | `url`, `headers`, `headersHelper` | Una URL `http://` o `https://` que no coincide con una forma git | Se carga | Permite la misma URL | Bloquea la misma URL |

385| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref` u `owner/repo#ref` | Se carga | Permite el mismo `repo`, `ref` y `path`. `repo` puede ser `owner/*` | Bloquea lo mismo, y una URL `git` al mismo repositorio |385| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref` u `owner/repo#ref` | Se carga | Permite el mismo `repo`, `ref` y `path`. `repo` puede ser `owner/*` | Bloquea lo mismo, y una URL `git` al mismo repositorio |

386| `git` | `url`, `ref`, `path`, `sparsePaths` | Una URL `user@host:path`, o una URL `https://` que termina en `.git`, contiene `/_git/`, o nombra un repositorio github.com o gitlab.com. `#ref` fija un ref | Se carga | Permite la misma URL, `ref` y `path` | Bloquea lo mismo, y otras ortografías del mismo repositorio github.com |386| `git` | `url`, `ref`, `path`, `sparsePaths` | Una URL `user@host:path`, o una URL `https://` que termina en `.git`, contiene `/_git/`, o nombra un repositorio github.com o gitlab.com. `#ref` fija un ref | Se carga | Permite la misma URL, `ref` y `path` | Bloquea lo mismo, y otras ortografías del mismo repositorio github.com |


399La tabla enumera cada campo de fuente de marketplace que tiene un predeterminado, una restricción o un significado específico de su tipo.399La tabla enumera cada campo de fuente de marketplace que tiene un predeterminado, una restricción o un significado específico de su tipo.

400 400 

401| Campo | Tipos | Descripción |401| Campo | Tipos | Descripción |

402| :-------------- | :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |402| :- | :- | :- |

403| `url` | `url` | Enlace al archivo `marketplace.json`. Claude Code descarga solo ese archivo, por lo que los plugins del marketplace no pueden usar [fuentes de ruta relativa](#relative-path-plugin-source) |403| `url` | `url` | Enlace al archivo `marketplace.json`. Claude Code descarga solo ese archivo, por lo que los plugins del marketplace no pueden usar [fuentes de ruta relativa](#relative-path-plugin-source) |

404| `url` | `git` | El repositorio git para clonar |404| `url` | `git` | El repositorio git para clonar |

405| `headers` | `url` | Mapa de encabezados HTTP que Claude Code envía con la obtención, para hosts autenticados |405| `headers` | `url` | Mapa de encabezados HTTP que Claude Code envía con la obtención, para hosts autenticados |


472La tabla asigna mensajes de nivel de marketplace al campo sobre el que trata cada uno.472La tabla asigna mensajes de nivel de marketplace al campo sobre el que trata cada uno.

473 473 

474| Mensaje | Nivel | Campo |474| Mensaje | Nivel | Campo |

475| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------- | :--------------------------------------------------------------------------------------------------------------------------- |475| :- | :- | :- |

476| `Marketplace must have a name` | Error | `name` está vacío |476| `Marketplace must have a name` | Error | `name` está vacío |

477| `Marketplace name cannot contain spaces. Use kebab-case (e.g., "my-marketplace")` | Error | `name` |477| `Marketplace name cannot contain spaces. Use kebab-case (e.g., "my-marketplace")` | Error | `name` |

478| `Marketplace name cannot contain path separators (/ or \), ".." sequences, or be "."` | Error | `name` |478| `Marketplace name cannot contain path separators (/ or \), ".." sequences, or be "."` | Error | `name` |

Details

148Estos eventos y atributos de OpenTelemetry responden cada pregunta de plugin desde su backend:148Estos eventos y atributos de OpenTelemetry responden cada pregunta de plugin desde su backend:

149 149 

150| Pregunta | Evento o atributo de OpenTelemetry |150| Pregunta | Evento o atributo de OpenTelemetry |

151| :-------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |151| :- | :- |

152| Qué plugins se instalan y de dónde | [`claude_code.plugin_installed`](/docs/es/monitoring-usage#plugin-installed-event), uno por instalación |152| Qué plugins se instalan y de dónde | [`claude_code.plugin_installed`](/docs/es/monitoring-usage#plugin-installed-event), uno por instalación |

153| Qué plugins están activos en cuántas sesiones | [`claude_code.plugin_loaded`](/docs/es/monitoring-usage#plugin-loaded-event), uno por plugin habilitado al inicio de sesión |153| Qué plugins están activos en cuántas sesiones | [`claude_code.plugin_loaded`](/docs/es/monitoring-usage#plugin-loaded-event), uno por plugin habilitado al inicio de sesión |

154| Qué skills se activan y qué plugin los posee | [`claude_code.skill_activated`](/docs/es/monitoring-usage#skill-activated-event), con `plugin.name` y `marketplace.name` para skills de plugin |154| Qué skills se activan y qué plugin los posee | [`claude_code.skill_activated`](/docs/es/monitoring-usage#skill-activated-event), con `plugin.name` y `marketplace.name` para skills de plugin |


164Para obtener nombres reales en algunos eventos, establezca la variable de entorno [`OTEL_LOG_TOOL_DETAILS`](/docs/es/monitoring-usage#common-configuration-variables) en `1` en las máquinas que exportan telemetría, por ejemplo en el bloque `env` de la misma [configuración administrada](/docs/es/monitoring-usage#administrator-configuration) que configura el exportador:164Para obtener nombres reales en algunos eventos, establezca la variable de entorno [`OTEL_LOG_TOOL_DETAILS`](/docs/es/monitoring-usage#common-configuration-variables) en `1` en las máquinas que exportan telemetría, por ejemplo en el bloque `env` de la misma [configuración administrada](/docs/es/monitoring-usage#administrator-configuration) que configura el exportador:

165 165 

166| Evento | Predeterminado | Con `OTEL_LOG_TOOL_DETAILS=1` |166| Evento | Predeterminado | Con `OTEL_LOG_TOOL_DETAILS=1` |

167| :------------------------------------ | :------------------------------------------------------------------------------------------------ | :------------------------------------------------- |167| :- | :- | :- |

168| `plugin_loaded` | `plugin.name` y `marketplace.name` son la cadena literal `third-party` | Nombres reales |168| `plugin_loaded` | `plugin.name` y `marketplace.name` son la cadena literal `third-party` | Nombres reales |

169| `plugin_installed`, `skill_activated` | `plugin.name` y `marketplace.name` omitidos; en `skill_activated`, `skill.name` es `custom_skill` | Nombres reales |169| `plugin_installed`, `skill_activated` | `plugin.name` y `marketplace.name` omitidos; en `skill_activated`, `skill.name` es `custom_skill` | Nombres reales |

170| Contador de costo | `plugin.name` es `third-party`; `marketplace.name` ausente | `plugin.name` real; `marketplace.name` aún ausente |170| Contador de costo | `plugin.name` es `third-party`; `marketplace.name` ausente | `plugin.name` real; `marketplace.name` aún ausente |

plugins/org.md +2 −2

Details

111La tabla muestra cuándo cada tipo de sesión de Claude Code aplica `extraKnownMarketplaces` y `enabledPlugins`, desde la configuración administrada y desde el `.claude/settings.json` de un repositorio. Para la aplicación de escritorio y las extensiones IDE, consulte [Install a plugin](/docs/es/plugins/install#install-a-plugin).111La tabla muestra cuándo cada tipo de sesión de Claude Code aplica `extraKnownMarketplaces` y `enabledPlugins`, desde la configuración administrada y desde el `.claude/settings.json` de un repositorio. Para la aplicación de escritorio y las extensiones IDE, consulte [Install a plugin](/docs/es/plugins/install#install-a-plugin).

112 112 

113| Surface | Managed `extraKnownMarketplaces` and `enabledPlugins` | Repository `.claude/settings.json` |113| Surface | Managed `extraKnownMarketplaces` and `enabledPlugins` | Repository `.claude/settings.json` |

114| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------- |114| :- | :- | :- |

115| Terminal, interactive | Applied at session start on every machine that receives the settings | `extraKnownMarketplaces` applied after trust; `enabledPlugins` applied at session start |115| Terminal, interactive | Applied at session start on every machine that receives the settings | `extraKnownMarketplaces` applied after trust; `enabledPlugins` applied at session start |

116| `-p` and CI | Applied at session start, with installs running in the background | `extraKnownMarketplaces` in trusted folders only; `enabledPlugins` applied |116| `-p` and CI | Applied at session start, with installs running in the background | `extraKnownMarketplaces` in trusted folders only; `enabledPlugins` applied |

117| Cloud sessions | In an Anthropic-hosted environment, only server-managed settings reach the session, which waits for them before it installs plugins. MDM policies and managed settings files stay on the user's machine. For a self-hosted environment, see [Where and when a policy applies](/docs/es/managed-settings#where-and-when-a-policy-applies) | See the **Cloud session** tab under [Install a plugin](/docs/es/plugins/install#install-a-plugin) |117| Cloud sessions | In an Anthropic-hosted environment, only server-managed settings reach the session, which waits for them before it installs plugins. MDM policies and managed settings files stay on the user's machine. For a self-hosted environment, see [Where and when a policy applies](/docs/es/managed-settings#where-and-when-a-policy-applies) | See the **Cloud session** tab under [Install a plugin](/docs/es/plugins/install#install-a-plugin) |


198La tabla enumera cada clave de política de plugin, lo que aplica y lo que no puede hacer.198La tabla enumera cada clave de política de plugin, lo que aplica y lo que no puede hacer.

199 199 

200| Key | What it enforces | What it can't do |200| Key | What it enforces | What it can't do |

201| :----------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |201| :- | :- | :- |

202| `strictKnownMarketplaces` | Allowlist de fuentes de marketplace. `[]` bloquea cada fuente, incluido el marketplace oficial. Alias: `allowedMarketplaces` | No registra un marketplace, restringe entradas dentro de un marketplace permitido, o bloquea `--plugin-dir` |202| `strictKnownMarketplaces` | Allowlist de fuentes de marketplace. `[]` bloquea cada fuente, incluido el marketplace oficial. Alias: `allowedMarketplaces` | No registra un marketplace, restringe entradas dentro de un marketplace permitido, o bloquea `--plugin-dir` |

203| `blockedMarketplaces` | Blocklist de fuentes de marketplace, verificada antes de la allowlist | No bloquea un marketplace ya registrado desde una fuente que no coincide |203| `blockedMarketplaces` | Blocklist de fuentes de marketplace, verificada antes de la allowlist | No bloquea un marketplace ya registrado desde una fuente que no coincide |

204| `syncClaudeAiPlugins` | Establezca `false` para detener que Claude Code descargue y cargue los plugins [sincronizados desde claude.ai](/docs/es/plugins/loading#synced-plugins) para la cuenta de cada usuario. Requiere Claude Code v2.1.273 o posterior | No desactiva un plugin sincronizado. Para eso, establezca `"<name>@synced": false` en [`enabledPlugins`](/docs/es/settings-reference#enabledplugins) |204| `syncClaudeAiPlugins` | Establezca `false` para detener que Claude Code descargue y cargue los plugins [sincronizados desde claude.ai](/docs/es/plugins/loading#synced-plugins) para la cuenta de cada usuario. Requiere Claude Code v2.1.273 o posterior | No desactiva un plugin sincronizado. Para eso, establezca `"<name>@synced": false` en [`enabledPlugins`](/docs/es/settings-reference#enabledplugins) |

Details

26Elija una opción de distribución según quién necesite instalar el plugin:26Elija una opción de distribución según quién necesite instalar el plugin:

27 27 

28| Ruta | Quién puede instalar | Lo que necesita | ¿Los usuarios reciben sus actualizaciones automáticamente? |28| Ruta | Quién puede instalar | Lo que necesita | ¿Los usuarios reciben sus actualizaciones automáticamente? |

29| :--------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------- | :--------------------------------------------------------- |29| :- | :- | :- | :- |

30| [Sin marketplace](#share-a-plugin-without-a-marketplace) | Las personas a las que envíe la carpeta del plugin o un `.zip` del mismo | La carpeta del plugin | Ninguno. Cargan la copia que envió |30| [Sin marketplace](#share-a-plugin-without-a-marketplace) | Las personas a las que envíe la carpeta del plugin o un `.zip` del mismo | La carpeta del plugin | Ninguno. Cargan la copia que envió |

31| [Su propio marketplace](#publish-through-your-own-marketplace) | Cualquiera que pueda acceder al repositorio, que puede ser uno privado que su equipo pueda clonar | Un repositorio git u otro host con un `.claude-plugin/marketplace.json` que enumere su plugin | Desactivado |31| [Su propio marketplace](#publish-through-your-own-marketplace) | Cualquiera que pueda acceder al repositorio, que puede ser uno privado que su equipo pueda clonar | Un repositorio git u otro host con un `.claude-plugin/marketplace.json` que enumere su plugin | Desactivado |

32| [Marketplace comunitario de Anthropic](#submit-to-the-community-marketplace) | Cualquiera que agregue `anthropics/claude-plugins-community` | Un envío a través del formulario de envío del directorio de plugins | Desactivado |32| [Marketplace comunitario de Anthropic](#submit-to-the-community-marketplace) | Cualquiera que agregue `anthropics/claude-plugins-community` | Un envío a través del formulario de envío del directorio de plugins | Desactivado |

Details

86</h3>86</h3>

87 87 

88| Campo | Tipo | Descripción |88| Campo | Tipo | Descripción |

89| :-------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |89| :- | :- | :- |

90| `topic` | string | Opcional. La frase que completa "¿Trabajando con *topic*?" en el spinner tip. Por defecto es el nombre del plugin con cada segmento de guión en mayúscula. Máximo 64 caracteres. |90| `topic` | string | Opcional. La frase que completa "¿Trabajando con *topic*?" en el spinner tip. Por defecto es el nombre del plugin con cada segmento de guión en mayúscula. Máximo 64 caracteres. |

91| `signals` | object | Coincidencias que determinan cuándo el plugin es relevante. Claude Code sugiere el plugin solo si al menos una señal está establecida. Consulte [`relevance.signals`](#relevance-signals). |91| `signals` | object | Coincidencias que determinan cuándo el plugin es relevante. Claude Code sugiere el plugin solo si al menos una señal está establecida. Consulte [`relevance.signals`](#relevance-signals). |

92 92 


99El objeto `signals` acepta los siguientes campos.99El objeto `signals` acepta los siguientes campos.

100 100 

101| Campo | Tipo | Descripción | Límite |101| Campo | Tipo | Descripción | Límite |

102| :------------- | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- |102| :- | :- | :- | :- |

103| `cwd` | array of strings | Patrones Glob coincididos contra el directorio de trabajo de la sesión. Consulte [coincidencia de directorio de trabajo](#working-directory-matching). | 10 patrones de 256 caracteres cada uno |103| `cwd` | array of strings | Patrones Glob coincididos contra el directorio de trabajo de la sesión. Consulte [coincidencia de directorio de trabajo](#working-directory-matching). | 10 patrones de 256 caracteres cada uno |

104| `cli` | array of strings | Nombres de comandos de comandos shell que Claude ha ejecutado esta sesión, por ejemplo `["terraform"]`. Coincidencia exacta. Consulte [coincidencia de nombre de comando](#command-name-matching). | 10 entradas de 64 caracteres cada una |104| `cli` | array of strings | Nombres de comandos de comandos shell que Claude ha ejecutado esta sesión, por ejemplo `["terraform"]`. Coincidencia exacta. Consulte [coincidencia de nombre de comando](#command-name-matching). | 10 entradas de 64 caracteres cada una |

105| `hosts` | array of strings | Nombres de host vistos en URLs `http://` o `https://` en comandos Bash esta sesión, por ejemplo `["registry.terraform.io"]`. Solo nombre de host en minúsculas: sin esquema, puerto o ruta. Coincidencia exacta sin distinción de mayúsculas y minúsculas. | 20 entradas de 128 caracteres cada una |105| `hosts` | array of strings | Nombres de host vistos en URLs `http://` o `https://` en comandos Bash esta sesión, por ejemplo `["registry.terraform.io"]`. Solo nombre de host en minúsculas: sin esquema, puerto o ruta. Coincidencia exacta sin distinción de mayúsculas y minúsculas. | 20 entradas de 128 caracteres cada una |

Details

52La tabla enumera qué nombres caen en cada nivel:52La tabla enumera qué nombres caen en cada nivel:

53 53 

54| Nivel | Cuáles marketplaces |54| Nivel | Cuáles marketplaces |

55| :-------- | :------------------------------------------------------------------------------------------------ |55| :- | :- |

56| Oficial | Los [nombres de marketplace oficial](#official-marketplace-names), como `claude-plugins-official` |56| Oficial | Los [nombres de marketplace oficial](#official-marketplace-names), como `claude-plugins-official` |

57| Comunidad | `claude-community`, `claude-plugins-community`, y `healthcare` |57| Comunidad | `claude-community`, `claude-plugins-community`, y `healthcare` |

58| Terceros | Todos los demás marketplaces |58| Terceros | Todos los demás marketplaces |

Details

96Hay varios comandos en uso que Claude Code no tiene. La tabla a continuación asigna cada uno al comando real. La [plugin commands reference](/docs/es/plugins/cli-reference) enumera todos los subcomandos e indicadores.96Hay varios comandos en uso que Claude Code no tiene. La tabla a continuación asigna cada uno al comando real. La [plugin commands reference](/docs/es/plugins/cli-reference) enumera todos los subcomandos e indicadores.

97 97 

98| Escribió | Lo que Claude Code dice | Use en su lugar |98| Escribió | Lo que Claude Code dice | Use en su lugar |

99| :----------------------------------------- | :--------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------- |99| :- | :- | :- |

100| `claude plugin add <source>` | `error: unknown command 'add'` | `claude plugin marketplace add <source>` para agregar un mercado, o `claude plugin install <plugin>@<marketplace>` para instalar un plugin |100| `claude plugin add <source>` | `error: unknown command 'add'` | `claude plugin marketplace add <source>` para agregar un mercado, o `claude plugin install <plugin>@<marketplace>` para instalar un plugin |

101| `claude plugin install <plugin> --project` | `error: unknown option '--project'` | `claude plugin install <plugin>@<marketplace> --scope project` |101| `claude plugin install <plugin> --project` | `error: unknown option '--project'` | `claude plugin install <plugin>@<marketplace> --scope project` |

102| `/install <plugin>` | `Unknown command: /install` | `/plugin install <plugin>@<marketplace>` |102| `/install <plugin>` | `Unknown command: /install` | `/plugin install <plugin>@<marketplace>` |


569La tabla enumera cada mensaje y su solución. Para declarar dependencias como autor, vea [Plugin dependencies](/docs/es/plugins/dependencies).569La tabla enumera cada mensaje y su solución. Para declarar dependencias como autor, vea [Plugin dependencies](/docs/es/plugins/dependencies).

570 570 

571| Mensaje | Significado | Cómo resolver |571| Mensaje | Significado | Cómo resolver |

572| :--------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |572| :- | :- | :- |

573| `Dependency "<dep>" is not installed` | Una dependencia declarada no está instalada. | Instálela en su shell con `claude plugin install <dep>@<marketplace>`, o desinstale el plugin. Si el mercado de la dependencia aún no está registrado, agréguelo y ejecute `/reload-plugins` en su sesión, que instala las dependencias faltantes que puede resolver. |573| `Dependency "<dep>" is not installed` | Una dependencia declarada no está instalada. | Instálela en su shell con `claude plugin install <dep>@<marketplace>`, o desinstale el plugin. Si el mercado de la dependencia aún no está registrado, agréguelo y ejecute `/reload-plugins` en su sesión, que instala las dependencias faltantes que puede resolver. |

574| `Dependency "<dep>" is disabled` | La dependencia está instalada pero desactivada. | Habilite la dependencia, o desinstale el plugin que la necesita. |574| `Dependency "<dep>" is disabled` | La dependencia está instalada pero desactivada. | Habilite la dependencia, o desinstale el plugin que la necesita. |

575| `Requires "<dep>" <range>, installed <version>` | La versión de la dependencia instalada está fuera del rango declarado del plugin. | Actualice la dependencia a una versión en el rango, o desinstale el plugin. |575| `Requires "<dep>" <range>, installed <version>` | La versión de la dependencia instalada está fuera del rango declarado del plugin. | Actualice la dependencia a una versión en el rango, o desinstale el plugin. |


905La tabla cubre los mensajes que detienen la validación y dos advertencias, `No frontmatter block found` y `Unknown field '<key>'`, que la detienen solo cuando pasa `--strict`. Otras advertencias, como una descripción faltante, no se enumeran.905La tabla cubre los mensajes que detienen la validación y dos advertencias, `No frontmatter block found` y `Unknown field '<key>'`, que la detienen solo cuando pasa `--strict`. Otras advertencias, como una descripción faltante, no se enumeran.

906 906 

907| Mensaje | Causa | Solución |907| Mensaje | Causa | Solución |

908| :------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |908| :- | :- | :- |

909| `File not found: <path>` | La ruta no tiene manifiesto, o no existe. | Ejecute el comando contra la raíz del plugin o mercado, el directorio que contiene `.claude-plugin/`. |909| `File not found: <path>` | La ruta no tiene manifiesto, o no existe. | Ejecute el comando contra la raíz del plugin o mercado, el directorio que contiene `.claude-plugin/`. |

910| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | El directorio no tiene manifiesto `.claude-plugin/`. | Cree el manifiesto, o apunte al directorio correcto. |910| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | El directorio no tiene manifiesto `.claude-plugin/`. | Cree el manifiesto, o apunte al directorio correcto. |

911| `Invalid JSON syntax: <parse error>` | El manifiesto, o `hooks/hooks.json`, no es JSON válido. | Corrija el JSON. Hasta que corrija `hooks/hooks.json`, una sesión carga el plugin sin los hooks en ese archivo. |911| `Invalid JSON syntax: <parse error>` | El manifiesto, o `hooks/hooks.json`, no es JSON válido. | Corrija el JSON. Hasta que corrija `hooks/hooks.json`, una sesión carga el plugin sin los hooks en ese archivo. |


966La tabla enumera los mensajes a nivel de mercado. Los mensajes a nivel de entrada son los mensajes de plugin bajo [`claude plugin validate` reports errors](#claude-plugin-validate-reports-errors), prefijados con `plugins[N] plugin.json →`.966La tabla enumera los mensajes a nivel de mercado. Los mensajes a nivel de entrada son los mensajes de plugin bajo [`claude plugin validate` reports errors](#claude-plugin-validate-reports-errors), prefijados con `plugins[N] plugin.json →`.

967 967 

968| Mensaje | Tipo | Solución |968| Mensaje | Tipo | Solución |

969| :----------------------------------------------------------------------------------------------------------------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- |969| :- | :- | :- |

970| `Duplicate plugin name "<name>" found in marketplace` | Error | Dé a cada plugin un `name` único. |970| `Duplicate plugin name "<name>" found in marketplace` | Error | Dé a cada plugin un `name` único. |

971| `Path contains "..": <path>` bajo `plugins[N].source` | Error | Use rutas relativas a la raíz del mercado sin segmentos `..`. |971| `Path contains "..": <path>` bajo `plugins[N].source` | Error | Use rutas relativas a la raíz del mercado sin segmentos `..`. |

972| `Marketplace name cannot contain control or bidirectional-formatting characters` | Error | Elimine el carácter del nombre, como un escape o una nueva línea. |972| `Marketplace name cannot contain control or bidirectional-formatting characters` | Error | Elimine el carácter del nombre, como un escape o una nueva línea. |

Details

25Para aprovechar al máximo la coincidencia de prefijos, Claude Code ordena cada solicitud para que el contenido que rara vez cambia entre turnos venga primero:25Para aprovechar al máximo la coincidencia de prefijos, Claude Code ordena cada solicitud para que el contenido que rara vez cambia entre turnos venga primero:

26 26 

27| Capa | Contenido | Cambia cuando |27| Capa | Contenido | Cambia cuando |

28| --------------------- | -------------------------------------------------------------- | ----------------------------------------------------------- |28| - | - | - |

29| Aviso del sistema | Instrucciones principales, definiciones de herramientas | El conjunto de definiciones de herramientas cargadas cambia |29| Aviso del sistema | Instrucciones principales, definiciones de herramientas | El conjunto de definiciones de herramientas cargadas cambia |

30| Contexto del proyecto | CLAUDE.md, memoria automática, reglas sin alcance | La sesión comienza, o después de `/clear` o `/compact` |30| Contexto del proyecto | CLAUDE.md, memoria automática, reglas sin alcance | La sesión comienza, o después de `/clear` o `/compact` |

31| Conversación | Sus mensajes, respuestas de Claude, resultados de herramientas | Cada turno |31| Conversación | Sus mensajes, respuestas de Claude, resultados de herramientas | Cada turno |


318A menos que elija un TTL usted mismo, Claude Code solicita el TTL de una hora solo en una suscripción de Claude dentro del uso incluido en su plan. Allí solicita la hora para la conversación principal, más un pequeño conjunto de solicitudes de ayuda que Anthropic controla del lado del servidor. Esta tabla proporciona el TTL predeterminado de cada depósito bajo ambos tipos de facturación.318A menos que elija un TTL usted mismo, Claude Code solicita el TTL de una hora solo en una suscripción de Claude dentro del uso incluido en su plan. Allí solicita la hora para la conversación principal, más un pequeño conjunto de solicitudes de ayuda que Anthropic controla del lado del servidor. Esta tabla proporciona el TTL predeterminado de cada depósito bajo ambos tipos de facturación.

319 319 

320| Depósito de solicitud | Suscripción de Claude, dentro del uso del plan | Créditos de uso, clave de API, o proveedor de nube |320| Depósito de solicitud | Suscripción de Claude, dentro del uso del plan | Créditos de uso, clave de API, o proveedor de nube |

321| ---------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------- |321| - | - | - |

322| Conversación principal | Una hora | Cinco minutos |322| Conversación principal | Una hora | Cinco minutos |

323| Todo lo demás | Cinco minutos, excepto las solicitudes de ayuda controladas por el servidor, que obtienen una hora | Cinco minutos |323| Todo lo demás | Cinco minutos, excepto las solicitudes de ayuda controladas por el servidor, que obtienen una hora | Cinco minutos |

324 324 


367El rendimiento del caché se muestra como dos recuentos de tokens que la API reporta en cada respuesta. La forma más directa de verlos en vivo es un [script de statusline](/docs/es/statusline) que lee el objeto `current_usage`:367El rendimiento del caché se muestra como dos recuentos de tokens que la API reporta en cada respuesta. La forma más directa de verlos en vivo es un [script de statusline](/docs/es/statusline) que lee el objeto `current_usage`:

368 368 

369| Campo | Significado |369| Campo | Significado |

370| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |370| - | - |

371| `cache_creation_input_tokens` | Tokens escritos en el caché en este turno, facturados a la tasa de escritura de caché |371| `cache_creation_input_tokens` | Tokens escritos en el caché en este turno, facturados a la tasa de escritura de caché |

372| `cache_read_input_tokens` | Tokens servidos desde caché en este turno, facturados a la [tasa de token en caché](https://platform.claude.com/docs/en/about-claude/pricing) del modelo, por debajo de la tasa de entrada estándar |372| `cache_read_input_tokens` | Tokens servidos desde caché en este turno, facturados a la [tasa de token en caché](https://platform.claude.com/docs/en/about-claude/pricing) del modelo, por debajo de la tasa de entrada estándar |

373 373 


403Desactivar el almacenamiento en caché es ocasionalmente útil cuando se depura el comportamiento del almacenamiento en caché con un modelo o proveedor específico. Para desactivarlo, establezca una de estas variables de entorno a `1`:403Desactivar el almacenamiento en caché es ocasionalmente útil cuando se depura el comportamiento del almacenamiento en caché con un modelo o proveedor específico. Para desactivarlo, establezca una de estas variables de entorno a `1`:

404 404 

405| Variable | Efecto |405| Variable | Efecto |

406| ------------------------------- | --------------------------------- |406| - | - |

407| `DISABLE_PROMPT_CACHING` | Desactivar para todos los modelos |407| `DISABLE_PROMPT_CACHING` | Desactivar para todos los modelos |

408| `DISABLE_PROMPT_CACHING_HAIKU` | Desactivar solo para Haiku |408| `DISABLE_PROMPT_CACHING_HAIKU` | Desactivar solo para Haiku |

409| `DISABLE_PROMPT_CACHING_SONNET` | Desactivar solo para Sonnet |409| `DISABLE_PROMPT_CACHING_SONNET` | Desactivar solo para Sonnet |

quickstart.md +2 −2

Details

289**Comandos de shell**289**Comandos de shell**

290 290 

291| Comando | Qué hace | Ejemplo |291| Comando | Qué hace | Ejemplo |

292| ------------------- | ------------------------------------------------------------- | ----------------------------------- |292| - | - | - |

293| `claude` | Inicia el modo interactivo | `claude` |293| `claude` | Inicia el modo interactivo | `claude` |

294| `claude "task"` | Inicia el modo interactivo con un mensaje inicial | `claude "fix the build error"` |294| `claude "task"` | Inicia el modo interactivo con un mensaje inicial | `claude "fix the build error"` |

295| `claude -p "query"` | Ejecuta una consulta única y luego sale | `claude -p "explain this function"` |295| `claude -p "query"` | Ejecuta una consulta única y luego sale | `claude -p "explain this function"` |


299**Comandos de sesión**299**Comandos de sesión**

300 300 

301| Comando | Qué hace | Ejemplo |301| Comando | Qué hace | Ejemplo |

302| -------------------------- | ---------------------------------- | -------- |302| - | - | - |

303| `/clear` | Borra el historial de conversación | `/clear` |303| `/clear` | Borra el historial de conversación | `/clear` |

304| `/help` | Muestra los comandos disponibles | `/help` |304| `/help` | Muestra los comandos disponibles | `/help` |

305| `/exit` o Ctrl+D dos veces | Salir de Claude Code | `/exit` |305| `/exit` o Ctrl+D dos veces | Salir de Claude Code | `/exit` |

Details

59 Banderas disponibles:59 Banderas disponibles:

60 60 

61 | Bandera | Descripción |61 | Bandera | Descripción |

62 | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |62 | - | - |

63 | `--name "My Project"` | Establezca un título de sesión personalizado visible en la lista de sesiones en claude.ai/code. |63 | `--name "My Project"` | Establezca un título de sesión personalizado visible en la lista de sesiones en claude.ai/code. |

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; las versiones anteriores rechazan la bandera como un argumento desconocido. |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; las versiones anteriores rechazan la bandera como un argumento desconocido. |


520Claude Code ofrece varias formas de trabajar cuando no está en su terminal. Difieren en lo que desencadena el trabajo, dónde se ejecuta Claude y cuánta configuración necesita.520Claude Code ofrece varias formas de trabajar cuando no está en su terminal. Difieren en lo que desencadena el trabajo, dónde se ejecuta Claude y cuánta configuración necesita.

521 521 

522| | Desencadenante | Claude se ejecuta en | Configuración | Mejor para |522| | Desencadenante | Claude se ejecuta en | Configuración | Mejor para |

523| :------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------- |523| :- | :- | :- | :- | :- |

524| [Dispatch](/docs/es/desktop#sessions-from-dispatch) | Envíe un mensaje con una tarea desde la aplicación móvil de Claude | Su máquina (Desktop) | [Empareje la aplicación móvil con Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabajo mientras está fuera, configuración mínima |524| [Dispatch](/docs/es/desktop#sessions-from-dispatch) | Envíe un mensaje con una tarea desde la aplicación móvil de Claude | Su máquina (Desktop) | [Empareje la aplicación móvil con Desktop](https://support.claude.com/en/articles/13947068) | Delegar trabajo mientras está fuera, configuración mínima |

525| [Remote Control](/docs/es/remote-control) | Controle una sesión en ejecución desde [claude.ai/code](https://claude.ai/code) o la aplicación móvil de Claude | Su máquina (CLI o VS Code) | Ejecute `claude remote-control` | Dirigir el trabajo en progreso desde otro dispositivo |525| [Remote Control](/docs/es/remote-control) | Controle una sesión en ejecución desde [claude.ai/code](https://claude.ai/code) o la aplicación móvil de Claude | Su máquina (CLI o VS Code) | Ejecute `claude remote-control` | Dirigir el trabajo en progreso desde otro dispositivo |

526| [Channels](/docs/es/channels) | Envíe eventos desde una aplicación de chat como Telegram o Discord, o su propio servidor | Su máquina (CLI) | [Instale un plugin de canal](/docs/es/channels#quickstart) o [cree el suyo propio](/docs/es/channels-reference) | Reaccionar a eventos externos como fallos de CI o mensajes de chat |526| [Channels](/docs/es/channels) | Envíe eventos desde una aplicación de chat como Telegram o Discord, o su propio servidor | Su máquina (CLI) | [Instale un plugin de canal](/docs/es/channels#quickstart) o [cree el suyo propio](/docs/es/channels-reference) | Reaccionar a eventos externos como fallos de CI o mensajes de chat |

routines.md +2 −2

Details

288Los disparadores de GitHub pueden suscribirse a cualquiera de las siguientes categorías de eventos. Dentro de cada categoría, puede elegir una acción específica, como `pull_request.opened`, o reaccionar a todas las acciones en la categoría.288Los disparadores de GitHub pueden suscribirse a cualquiera de las siguientes categorías de eventos. Dentro de cada categoría, puede elegir una acción específica, como `pull_request.opened`, o reaccionar a todas las acciones en la categoría.

289 289 

290| Evento | Se activa cuando |290| Evento | Se activa cuando |

291| :---------------------- | :----------------------------------------------------------------------------- |291| :- | :- |

292| Solicitud de extracción | Se abre, cierra, asigna, etiqueta, sincroniza o actualiza de otra manera un PR |292| Solicitud de extracción | Se abre, cierra, asigna, etiqueta, sincroniza o actualiza de otra manera un PR |

293| Lanzamiento | Se crea, publica, edita o elimina un lanzamiento |293| Lanzamiento | Se crea, publica, edita o elimina un lanzamiento |

294 294 


299Use filtros para reducir qué solicitudes de extracción inician una nueva sesión. Todas las condiciones de filtro deben coincidir para que la rutina se active. Los campos de filtro disponibles son:299Use filtros para reducir qué solicitudes de extracción inician una nueva sesión. Todas las condiciones de filtro deben coincidir para que la rutina se active. Los campos de filtro disponibles son:

300 300 

301| Filtro | Coincide |301| Filtro | Coincide |

302| :------------- | :------------------------------------------- |302| :- | :- |

303| Autor | Nombre de usuario de GitHub del autor del PR |303| Autor | Nombre de usuario de GitHub del autor del PR |

304| Título | Texto del título del PR |304| Título | Texto del título del PR |

305| Cuerpo | Texto de descripción del PR |305| Cuerpo | Texto de descripción del PR |

Details

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

22 22 

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

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

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

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

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


44Haga coincidir su objetivo con una fila a continuación, luego lea la sección de detalle que sigue.44Haga coincidir su objetivo con una fila a continuación, luego lea la sección de detalle que sigue.

45 45 

46| Usted quiere | Comience con |46| Usted quiere | Comience con |

47| :------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |47| :- | :- |

48| Reducir solicitudes de permiso durante el trabajo diario en su propia máquina | La [herramienta Bash aislada](/docs/es/sandboxing), configurada con `/sandbox` |48| Reducir solicitudes de permiso durante el trabajo diario en su propia máquina | La [herramienta Bash aislada](/docs/es/sandboxing), configurada con `/sandbox` |

49| Permitir que Claude trabaje sin supervisión con `--dangerously-skip-permissions` o modo automático | El [contenedor de desarrollo](/docs/es/devcontainer) preconfigurado, cualquier contenedor o máquina virtual, o el [tiempo de ejecución sandbox](#sandbox-runtime) |49| Permitir que Claude trabaje sin supervisión con `--dangerously-skip-permissions` o modo automático | El [contenedor de desarrollo](/docs/es/devcontainer) preconfigurado, cualquier contenedor o máquina virtual, o el [tiempo de ejecución sandbox](#sandbox-runtime) |

50| Aislar servidores MCP y hooks así como Bash, sin Docker | El tiempo de ejecución sandbox |50| Aislar servidores MCP y hooks así como Bash, sin Docker | El tiempo de ejecución sandbox |

sandboxing.md +7 −7

Details

213Los prefijos de ruta controlan cómo se resuelven las rutas:213Los prefijos de ruta controlan cómo se resuelven las rutas:

214 214 

215| Prefijo | Significado | Ejemplo |215| Prefijo | Significado | Ejemplo |

216| :----------------- | :------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------- |216| :- | :- | :- |

217| `/` | Ruta absoluta desde la raíz del sistema de archivos | `/tmp/build` se mantiene como `/tmp/build` |217| `/` | Ruta absoluta desde la raíz del sistema de archivos | `/tmp/build` se mantiene como `/tmp/build` |

218| `~/` | Relativo al directorio de inicio | `~/.kube` se convierte en `$HOME/.kube` |218| `~/` | Relativo al directorio de inicio | `~/.kube` se convierte en `$HOME/.kube` |

219| `./` o sin prefijo | Relativo a la raíz del proyecto para configuración de proyecto, o a `~/.claude` para configuración de usuario | `./output` en `.claude/settings.json` se resuelve a `<project-root>/output` |219| `./` o sin prefijo | Relativo a la raíz del proyecto para configuración de proyecto, o a `~/.claude` para configuración de usuario | `./output` en `.claude/settings.json` se resuelve a `<project-root>/output` |


223También puede denegar acceso de escritura o lectura usando `sandbox.filesystem.denyWrite` y `sandbox.filesystem.denyRead`, y permitir nuevamente rutas específicas dentro de una región denegada usando `sandbox.filesystem.allowRead`. Cuando las reglas de lectura se superponen, la ruta más específica gana:223También puede denegar acceso de escritura o lectura usando `sandbox.filesystem.denyWrite` y `sandbox.filesystem.denyRead`, y permitir nuevamente rutas específicas dentro de una región denegada usando `sandbox.filesystem.allowRead`. Cuando las reglas de lectura se superponen, la ruta más específica gana:

224 224 

225| Reglas de ejemplo | Resultado |225| Reglas de ejemplo | Resultado |

226| :----------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |226| :- | :- |

227| `"denyRead": ["~/"]` con `"allowRead": ["~/projects"]` | `~/projects` es legible y el resto del directorio de inicio permanece bloqueado. El permiso más estrecho reabre esa parte de la región denegada |227| `"denyRead": ["~/"]` con `"allowRead": ["~/projects"]` | `~/projects` es legible y el resto del directorio de inicio permanece bloqueado. El permiso más estrecho reabre esa parte de la región denegada |

228| `"allowRead": ["~/"]` con `"denyRead": ["~/.env"]` | `~/.env` permanece bloqueado y el resto del directorio de inicio es legible. La denegación se mantiene dentro de un permiso más amplio, por lo que un permiso amplio no puede reexponer silenciosamente un secreto |228| `"allowRead": ["~/"]` con `"denyRead": ["~/.env"]` | `~/.env` permanece bloqueado y el resto del directorio de inicio es legible. La denegación se mantiene dentro de un permiso más amplio, por lo que un permiso amplio no puede reexponer silenciosamente un secreto |

229| `"allowRead": ["~/"]` con `"denyRead": ["~/**/.env"]` | Cada `.env` bajo el directorio de inicio permanece bloqueado y el resto es legible. Un [comodín de denegación](/docs/es/settings-reference#sandbox-path-prefixes) se mantiene dentro de un permiso más amplio de la misma manera que una ruta exacta |229| `"allowRead": ["~/"]` con `"denyRead": ["~/**/.env"]` | Cada `.env` bajo el directorio de inicio permanece bloqueado y el resto es legible. Un [comodín de denegación](/docs/es/settings-reference#sandbox-path-prefixes) se mantiene dentro de un permiso más amplio de la misma manera que una ruta exacta |


287Si una entrada de credenciales administrada `credentials.files` fija `filesystem.disabled`, bloqueando la clave a la configuración administrada para que los desarrolladores no puedan desactivar el aislamiento del sistema de archivos, depende del `mode` de la entrada y de lo que sucede con la entrada cuando se inicia el sandbox:287Si una entrada de credenciales administrada `credentials.files` fija `filesystem.disabled`, bloqueando la clave a la configuración administrada para que los desarrolladores no puedan desactivar el aislamiento del sistema de archivos, depende del `mode` de la entrada y de lo que sucede con la entrada cuando se inicia el sandbox:

288 288 

289| Entrada administrada | Fija `filesystem.disabled` | Qué protege el archivo cuando el aislamiento está desactivado |289| Entrada administrada | Fija `filesystem.disabled` | Qué protege el archivo cuando el aislamiento está desactivado |

290| --------------------------------------------------------------------------------------------------------------- | ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |290| - | - | - |

291| `"mode": "deny"` | Sí | Nada: el bloqueo de lectura es parte de la capa del sistema de archivos |291| `"mode": "deny"` | Sí | Nada: el bloqueo de lectura es parte de la capa del sistema de archivos |

292| `"mode": "mask"`, aplicado como máscara | No | El enmascaramiento en sí: la [copia centinela y proxy](#mask-credential-files) en Linux y WSL2, las propias reglas de lectura del sandbox en macOS |292| `"mode": "mask"`, aplicado como máscara | No | El enmascaramiento en sí: la [copia centinela y proxy](#mask-credential-files) en Linux y WSL2, las propias reglas de lectura del sandbox en macOS |

293| `"mode": "mask"`, [retrocedido a `deny`](#mask-credential-files) en la configuración | No | Nada, igual que `deny`. Enumere una ruta que no se pueda enmascarar, como un directorio, como una entrada explícita `deny`, que fija la clave |293| `"mode": "mask"`, [retrocedido a `deny`](#mask-credential-files) en la configuración | No | Nada, igual que `deny`. Enumere una ruta que no se pueda enmascarar, como un directorio, como una entrada explícita `deny`, que fija la clave |


302Establecer `filesystem.disabled` levanta las protecciones que la capa del sistema de archivos en sí misma aplica. Las protecciones que otras capas aplican siguen aplicándose:302Establecer `filesystem.disabled` levanta las protecciones que la capa del sistema de archivos en sí misma aplica. Las protecciones que otras capas aplican siguen aplicándose:

303 303 

304| Protección | Con aislamiento del sistema de archivos desactivado |304| Protección | Con aislamiento del sistema de archivos desactivado |

305| --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |305| - | - |

306| `filesystem.denyRead` y [`credentials.files`](#protect-credentials) bloques de lectura `deny` | No se aplica. La capa del sistema de archivos aplica ambos |306| `filesystem.denyRead` y [`credentials.files`](#protect-credentials) bloques de lectura `deny` | No se aplica. La capa del sistema de archivos aplica ambos |

307| `credentials.envVars` entradas `deny` y `mask` | Se aplica. El raspado de variables de entorno es independiente de la capa del sistema de archivos |307| `credentials.envVars` entradas `deny` y `mask` | Se aplica. El raspado de variables de entorno es independiente de la capa del sistema de archivos |

308| Entradas [`credentials.files` `mask`](#mask-credential-files) aplicadas como máscaras | Se aplica: el enmascaramiento es independiente de la capa del sistema de archivos. Una entrada que [retrocedió a `deny`](#mask-credential-files) no se aplica, como cualquier entrada `deny` |308| Entradas [`credentials.files` `mask`](#mask-credential-files) aplicadas como máscaras | Se aplica: el enmascaramiento es independiente de la capa del sistema de archivos. Una entrada que [retrocedió a `deny`](#mask-credential-files) no se aplica, como cualquier entrada `deny` |


459Tres formas de solicitud de AWS llevan firmas que el proxy no puede recomputar. Cuando tal solicitud se firma con el marcador de posición de un par enmascarado, el proxy la falla en lugar de reenviar una firma rota; las solicitudes firmadas con credenciales sin enmascarar nunca se ven afectadas. La configuración [`credentials.sigv4`](/docs/es/settings-reference#sandbox-credentials-sigv4), que requiere Claude Code v2.1.224 o posterior, relaja esto por forma: establecer la clave de una forma en `passthrough` reenvía la solicitud con su firma derivada de marcador de posición, por lo que la herramienta que llama recibe el rechazo propio de AWS en lugar de un error de proxy. Como `awsPairs`, `sigv4` se honra solo desde configuración de usuario, configuración administrada y la bandera CLI `--settings`.459Tres formas de solicitud de AWS llevan firmas que el proxy no puede recomputar. Cuando tal solicitud se firma con el marcador de posición de un par enmascarado, el proxy la falla en lugar de reenviar una firma rota; las solicitudes firmadas con credenciales sin enmascarar nunca se ven afectadas. La configuración [`credentials.sigv4`](/docs/es/settings-reference#sandbox-credentials-sigv4), que requiere Claude Code v2.1.224 o posterior, relaja esto por forma: establecer la clave de una forma en `passthrough` reenvía la solicitud con su firma derivada de marcador de posición, por lo que la herramienta que llama recibe el rechazo propio de AWS en lugar de un error de proxy. Como `awsPairs`, `sigv4` se honra solo desde configuración de usuario, configuración administrada y la bandera CLI `--settings`.

460 460 

461| Forma de solicitud | Clave `sigv4` | Por qué el proxy no puede re-firmarla |461| Forma de solicitud | Clave `sigv4` | Por qué el proxy no puede re-firmarla |

462| :-------------------------------- | :------------ | :-------------------------------------------------------------------------------------------------------------------- |462| :- | :- | :- |

463| cargas de transmisión aws-chunked | `streaming` | Las firmas por fragmento se encadenan desde la firma de semilla, por lo que re-firmar requeriría reescribir el cuerpo |463| cargas de transmisión aws-chunked | `streaming` | Las firmas por fragmento se encadenan desde la firma de semilla, por lo que re-firmar requeriría reescribir el cuerpo |

464| URLs pre-firmadas | `presigned` | La firma vive en la URL en sí, sin encabezado `Authorization` |464| URLs pre-firmadas | `presigned` | La firma vive en la URL en sí, sin encabezado `Authorization` |

465| Firmas asimétricas SigV4A | `sigv4a` | No hay HMAC de clave compartida para recomputar |465| Firmas asimétricas SigV4A | `sigv4a` | No hay HMAC de clave compartida para recomputar |


637Las restricciones del sistema de archivos y la red se configuran tanto a través de la configuración del sandbox como de las reglas de permiso:637Las restricciones del sistema de archivos y la red se configuran tanto a través de la configuración del sandbox como de las reglas de permiso:

638 638 

639| Configuración o regla | Qué hace |639| Configuración o regla | Qué hace |

640| :------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |640| :- | :- |

641| `sandbox.filesystem.allowWrite` | Otorga acceso de escritura de subproceso a rutas fuera del directorio de trabajo |641| `sandbox.filesystem.allowWrite` | Otorga acceso de escritura de subproceso a rutas fuera del directorio de trabajo |

642| `sandbox.filesystem.denyWrite` y `sandbox.filesystem.denyRead` | Bloquea el acceso de subproceso a rutas específicas |642| `sandbox.filesystem.denyWrite` y `sandbox.filesystem.denyRead` | Bloquea el acceso de subproceso a rutas específicas |

643| `sandbox.filesystem.allowRead` | Permite nuevamente la lectura de rutas específicas dentro de una región `denyRead` |643| `sandbox.filesystem.allowRead` | Permite nuevamente la lectura de rutas específicas dentro de una región `denyRead` |


659`/sandbox` no es un [modo de permiso](/docs/es/permission-modes). Los modos de permiso deciden si se ejecuta una llamada de herramienta y si se le solicita primero, mientras que el sandbox restringe lo que un comando Bash puede acceder una vez que se ejecuta. Difieren en lo que controlan y qué reemplaza la solicitud por acción:659`/sandbox` no es un [modo de permiso](/docs/es/permission-modes). Los modos de permiso deciden si se ejecuta una llamada de herramienta y si se le solicita primero, mientras que el sandbox restringe lo que un comando Bash puede acceder una vez que se ejecuta. Difieren en lo que controlan y qué reemplaza la solicitud por acción:

660 660 

661| | Qué controla | Qué reemplaza la solicitud |661| | Qué controla | Qué reemplaza la solicitud |

662| :----------------------------------------------------------------------- | :---------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |662| :- | :- | :- |

663| `/sandbox` | Lo que un comando Bash puede acceder una vez que se ejecuta | El límite del sandbox en sí, en [modo auto-allow](#sandbox-modes) |663| `/sandbox` | Lo que un comando Bash puede acceder una vez que se ejecuta | El límite del sandbox en sí, en [modo auto-allow](#sandbox-modes) |

664| [Modo automático](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) | Si se ejecuta cada llamada de herramienta | Un clasificador que revisa acciones |664| [Modo automático](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) | Si se ejecuta cada llamada de herramienta | Un clasificador que revisa acciones |

665| `--dangerously-skip-permissions` | Si se ejecuta cada llamada de herramienta | Nada. Las verificaciones de [ruta protegida](/docs/es/permission-modes#protected-paths) también se omiten; las [acciones que ningún modo auto-aprueba](/docs/es/permission-modes#actions-no-mode-auto-approves) aún se aplican |665| `--dangerously-skip-permissions` | Si se ejecuta cada llamada de herramienta | Nada. Las verificaciones de [ruta protegida](/docs/es/permission-modes#protected-paths) también se omiten; las [acciones que ningún modo auto-aprueba](/docs/es/permission-modes#actions-no-mode-auto-approves) aún se aplican |

Details

17Claude Code ofrece tres formas de programar trabajo recurrente o puntual:17Claude Code ofrece tres formas de programar trabajo recurrente o puntual:

18 18 

19| | [Cloud](/docs/es/routines) | [Desktop](/docs/es/desktop-scheduled-tasks) | [`/loop`](/docs/es/scheduled-tasks) |19| | [Cloud](/docs/es/routines) | [Desktop](/docs/es/desktop-scheduled-tasks) | [`/loop`](/docs/es/scheduled-tasks) |

20| :-------------------------- | :-------------------------------------------------------- | :------------------------------------------------ | :--------------------------------------------------------------------------- |20| :- | :- | :- | :- |

21| Se ejecuta en | Cloud, administrado por Anthropic de forma predeterminada | Su máquina | Su máquina |21| Se ejecuta en | Cloud, administrado por Anthropic de forma predeterminada | Su máquina | Su máquina |

22| Requiere máquina encendida | No | Sí | Sí |22| Requiere máquina encendida | No | Sí | Sí |

23| Requiere sesión abierta | No | No | Sí |23| Requiere sesión abierta | No | No | Sí |


39El `/loop` [bundled skill](/docs/es/commands) es la forma más rápida de ejecutar un prompt repetidamente mientras la sesión permanece abierta. Tanto el intervalo como el prompt son opcionales, y lo que proporcione determina cómo se comporta el bucle.39El `/loop` [bundled skill](/docs/es/commands) es la forma más rápida de ejecutar un prompt repetidamente mientras la sesión permanece abierta. Tanto el intervalo como el prompt son opcionales, y lo que proporcione determina cómo se comporta el bucle.

40 40 

41| Lo que proporciona | Ejemplo | Qué sucede |41| Lo que proporciona | Ejemplo | Qué sucede |

42| :--------------------- | :-------------------------- | :-------------------------------------------------------------------------------------------------------------------- |42| :- | :- | :- |

43| Intervalo y prompt | `/loop 5m check the deploy` | Su prompt se ejecuta en un [horario fijo](#run-on-a-fixed-interval) |43| Intervalo y prompt | `/loop 5m check the deploy` | Su prompt se ejecuta en un [horario fijo](#run-on-a-fixed-interval) |

44| Solo prompt | `/loop check the deploy` | Su prompt se ejecuta en un [intervalo que Claude elige](#let-claude-choose-the-interval) en cada iteración |44| Solo prompt | `/loop check the deploy` | Su prompt se ejecuta en un [intervalo que Claude elige](#let-claude-choose-the-interval) en cada iteración |

45| Solo intervalo, o nada | `/loop` | El [prompt de mantenimiento integrado](#run-the-built-in-maintenance-prompt) se ejecuta, o su `loop.md` si existe uno |45| Solo intervalo, o nada | `/loop` | El [prompt de mantenimiento integrado](#run-the-built-in-maintenance-prompt) se ejecuta, o su `loop.md` si existe uno |


114Claude busca el archivo en dos ubicaciones y usa el primero que encuentra.114Claude busca el archivo en dos ubicaciones y usa el primero que encuentra.

115 115 

116| Ruta | Alcance |116| Ruta | Alcance |

117| :------------------ | :------------------------------------------------------------------------------ |117| :- | :- |

118| `.claude/loop.md` | Nivel de proyecto. Tiene precedencia cuando ambos archivos existen. |118| `.claude/loop.md` | Nivel de proyecto. Tiene precedencia cuando ambos archivos existen. |

119| `~/.claude/loop.md` | Nivel de usuario. Se aplica en cualquier proyecto que no defina el suyo propio. |119| `~/.claude/loop.md` | Nivel de usuario. Se aplica en cualquier proyecto que no defina el suyo propio. |

120 120 


172Estas son las herramientas subyacentes que Claude utiliza:172Estas son las herramientas subyacentes que Claude utiliza:

173 173 

174| Herramienta | Propósito |174| Herramienta | Propósito |

175| :----------- | :------------------------------------------------------------------------------------------------------------------------------- |175| :- | :- |

176| `CronCreate` | Programar una nueva tarea. Acepta una expresión cron de 5 campos, el prompt a ejecutar y si se repite o se ejecuta una sola vez. |176| `CronCreate` | Programar una nueva tarea. Acepta una expresión cron de 5 campos, el prompt a ejecutar y si se repite o se ejecuta una sola vez. |

177| `CronList` | Enumerar todas las tareas programadas con sus IDs, horarios y prompts. |177| `CronList` | Enumerar todas las tareas programadas con sus IDs, horarios y prompts. |

178| `CronDelete` | Cancelar una tarea por ID. |178| `CronDelete` | Cancelar una tarea por ID. |


211`CronCreate` acepta expresiones cron estándar de 5 campos: `minute hour day-of-month month day-of-week`. Todos los campos admiten comodines (`*`), valores únicos (`5`), pasos (`*/15`), rangos (`1-5`) y listas separadas por comas (`1,15,30`).211`CronCreate` acepta expresiones cron estándar de 5 campos: `minute hour day-of-month month day-of-week`. Todos los campos admiten comodines (`*`), valores únicos (`5`), pasos (`*/15`), rangos (`1-5`) y listas separadas por comas (`1,15,30`).

212 212 

213| Ejemplo | Significado |213| Ejemplo | Significado |

214| :------------- | :----------------------------- |214| :- | :- |

215| `*/5 * * * *` | Cada 5 minutos |215| `*/5 * * * *` | Cada 5 minutos |

216| `0 * * * *` | Cada hora en punto |216| `0 * * * *` | Cada hora en punto |

217| `7 * * * *` | Cada hora a los 7 minutos |217| `7 * * * *` | Cada hora a los 7 minutos |

Details

165```165```

166 166 

167| Campo | Tipo | Descripción |167| Campo | Tipo | Descripción |

168| :-------------- | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |168| :- | :- | :- |

169| `rule_name` | string | Identificador mostrado en la advertencia |169| `rule_name` | string | Identificador mostrado en la advertencia |

170| `reminder` | string | Texto de advertencia agregado al contexto de Claude, limitado a 1 KB |170| `reminder` | string | Texto de advertencia agregado al contexto de Claude, limitado a 1 KB |

171| `regex` | string | Regex de Python coincidido contra el contenido editado |171| `regex` | string | Regex de Python coincidido contra el contenido editado |


182El plugin busca `claude-security-guidance.md` y `security-patterns.yaml` en las mismas ubicaciones, independientemente de cómo se habilitó el plugin:182El plugin busca `claude-security-guidance.md` y `security-patterns.yaml` en las mismas ubicaciones, independientemente de cómo se habilitó el plugin:

183 183 

184| Alcance | Ruta | Notas |184| Alcance | Ruta | Notas |

185| :------------- | :------------------------------------------ | :------------------------------------------------------- |185| :- | :- | :- |

186| Usuario | `~/.claude/claude-security-guidance.md` | Se aplica a cada proyecto en su máquina |186| Usuario | `~/.claude/claude-security-guidance.md` | Se aplica a cada proyecto en su máquina |

187| Proyecto | `.claude/claude-security-guidance.md` | Registrado con el repositorio |187| Proyecto | `.claude/claude-security-guidance.md` | Registrado con el repositorio |

188| Proyecto local | `.claude/claude-security-guidance.local.md` | Para anulaciones personales; agréguelo a su `.gitignore` |188| Proyecto local | `.claude/claude-security-guidance.local.md` | Para anulaciones personales; agréguelo a su `.gitignore` |


206Para desactivar capas individuales mientras mantiene el resto, configure la variable de entorno coincidente:206Para desactivar capas individuales mientras mantiene el resto, configure la variable de entorno coincidente:

207 207 

208| Variable | Efecto |208| Variable | Efecto |

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

210| `ENABLE_PATTERN_RULES=0` | Deshabilitar la [verificación de patrón por edición](#on-each-file-edit) |210| `ENABLE_PATTERN_RULES=0` | Deshabilitar la [verificación de patrón por edición](#on-each-file-edit) |

211| `ENABLE_STOP_REVIEW=0` | Deshabilitar la [revisión de diff de fin de turno](#at-the-end-of-each-turn) |211| `ENABLE_STOP_REVIEW=0` | Deshabilitar la [revisión de diff de fin de turno](#at-the-end-of-each-turn) |

212| `ENABLE_COMMIT_REVIEW=0` | Deshabilitar la [revisión de confirmación e inserción](#on-each-commit-or-push-claude-makes) |212| `ENABLE_COMMIT_REVIEW=0` | Deshabilitar la [revisión de confirmación e inserción](#on-each-commit-or-push-claude-makes) |


234El plugin se construye completamente en [hooks](/docs/es/hooks), el mecanismo para ejecutar su propio código en puntos específicos del bucle de Claude. Se registra:234El plugin se construye completamente en [hooks](/docs/es/hooks), el mecanismo para ejecutar su propio código en puntos específicos del bucle de Claude. Se registra:

235 235 

236| Evento de hook | Propósito |236| Evento de hook | Propósito |

237| :------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------- |237| :- | :- |

238| `SessionStart` | Inicializar el entorno de Python del plugin |238| `SessionStart` | Inicializar el entorno de Python del plugin |

239| `UserPromptSubmit` | Capturar la línea de base del árbol de trabajo contra la que el diff de revisión de fin de turno se compara |239| `UserPromptSubmit` | Capturar la línea de base del árbol de trabajo contra la que el diff de revisión de fin de turno se compara |

240| `PostToolUse` en `Edit`, `Write` y `NotebookEdit` | Coincidencia de patrón por edición |240| `PostToolUse` en `Edit`, `Write` y `NotebookEdit` | Coincidencia de patrón por edición |


250El plugin es una capa en un enfoque de defensa en profundidad. Detecta problemas lo antes posible, mientras el código aún está en el editor, pero no es una garantía y no reemplaza verificaciones posteriores. Una pila típica:250El plugin es una capa en un enfoque de defensa en profundidad. Detecta problemas lo antes posible, mientras el código aún está en el editor, pero no es una garantía y no reemplaza verificaciones posteriores. Una pila típica:

251 251 

252| Etapa | Herramienta | Qué cubre |252| Etapa | Herramienta | Qué cubre |

253| :----------------------------- | :---------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------- |253| :- | :- | :- |

254| En sesión | Plugin de orientación de seguridad | Vulnerabilidades comunes en código que Claude escribe, corregidas en la misma sesión |254| En sesión | Plugin de orientación de seguridad | Vulnerabilidades comunes en código que Claude escribe, corregidas en la misma sesión |

255| Bajo demanda, paso único | [`/security-review`](/docs/es/commands#all-commands) | Paso de seguridad único en la rama actual, ejecutado cuando lo solicita |255| Bajo demanda, paso único | [`/security-review`](/docs/es/commands#all-commands) | Paso de seguridad único en la rama actual, ejecutado cuando lo solicita |

256| Bajo demanda, escaneo profundo | [Plugin de seguridad de Claude](/docs/es/claude-security) | Escaneo de vulnerabilidades multiagente de un repositorio o diff, con hallazgos y parches revisados de forma independiente |256| Bajo demanda, escaneo profundo | [Plugin de seguridad de Claude](/docs/es/claude-security) | Escaneo de vulnerabilidades multiagente de un repositorio o diff, con hallazgos y parches revisados de forma independiente |

Details

76Estos términos aparecen en todas las páginas autohospedadas:76Estos términos aparecen en todas las páginas autohospedadas:

77 77 

78| Término | Qué es |78| Término | Qué es |

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

80| Entorno | Un grupo nombrado de sus ejecutores, creado en la configuración de claude.ai. Las sesiones se enrutan a un entorno, no a un ejecutor individual. |80| Entorno | Un grupo nombrado de sus ejecutores, creado en la configuración de claude.ai. Las sesiones se enrutan a un entorno, no a un ejecutor individual. |

81| Secreto de entorno | La credencial compartida única que los ejecutores utilizan para autenticarse y registrarse con el entorno. Se muestra una vez en la creación del entorno, etiquetado como **clave de entorno** en la interfaz de administrador. |81| Secreto de entorno | La credencial compartida única que los ejecutores utilizan para autenticarse y registrarse con el entorno. Se muestra una vez en la creación del entorno, etiquetado como **clave de entorno** en la interfaz de administrador. |

82| Ejecutor | El proceso de larga duración que implementa. Un ejecutor se registra con el entorno, recibe un token de ejecutor y sondea sesiones. |82| Ejecutor | El proceso de larga duración que implementa. Un ejecutor se registra con el entorno, recibe un token de ejecutor y sondea sesiones. |

Details

29El ejecutor establece lo siguiente en el entorno del contenedor:29El ejecutor establece lo siguiente en el entorno del contenedor:

30 30 

31| Variable | Descripción |31| Variable | Descripción |

32| :---------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |32| :- | :- |

33| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | El JWT de la sesión, con prefijo `sk-ant-cc-`. Su reclamación `act` identifica al creador de la sesión, con el correo electrónico del creador y el asunto del proveedor de identidad ascendente cuando la superficie de creación los registró. El valor es el token en el momento del generación; los refrescos llegan a través de stdin del hijo, por lo que un contenedor solo ve el valor inicial. Consulte [Verificar identidad de sesión](/docs/es/self-hosted-environments-identity). |33| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | El JWT de la sesión, con prefijo `sk-ant-cc-`. Su reclamación `act` identifica al creador de la sesión, con el correo electrónico del creador y el asunto del proveedor de identidad ascendente cuando la superficie de creación los registró. El valor es el token en el momento del generación; los refrescos llegan a través de stdin del hijo, por lo que un contenedor solo ve el valor inicial. Consulte [Verificar identidad de sesión](/docs/es/self-hosted-environments-identity). |

34| `CCR_SESSION_ACCOUNT_EMAIL` | El correo electrónico del creador de la sesión, preextraído por el ejecutor de la reclamación `act.email` del token sin verificación de firma. Adecuado para etiquetado, como remolques de commit. Cuando el correo electrónico controla la emisión de credenciales, verifique el token y lea la reclamación de él en su lugar; consulte [Aprovisionar credenciales limitadas al creador de la sesión](#provision-credentials-scoped-to-the-session-creator). No establecido cuando el token no lleva correo electrónico del creador. Trate como información de identificación personal. |34| `CCR_SESSION_ACCOUNT_EMAIL` | El correo electrónico del creador de la sesión, preextraído por el ejecutor de la reclamación `act.email` del token sin verificación de firma. Adecuado para etiquetado, como remolques de commit. Cuando el correo electrónico controla la emisión de credenciales, verifique el token y lea la reclamación de él en su lugar; consulte [Aprovisionar credenciales limitadas al creador de la sesión](#provision-credentials-scoped-to-the-session-creator). No establecido cuando el token no lleva correo electrónico del creador. Trate como información de identificación personal. |

35| `CLAUDE_RUNNER_CLIENT_PLATFORM` | La superficie del cliente que creó la sesión, como `web_claude_ai`, `desktop_app`, `ios`, `claude_code_cli` o `scheduled_trigger`. Anthropic registra el valor una vez en la creación de la sesión, por lo que el contenedor y cada hook de ciclo de vida ven el mismo valor. Úselo solo para análisis de adopción y etiquetado, no como señal de autorización. No establecido cuando la sesión no tiene una superficie registrada o reconocida, por lo que haga referencia a él como `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}` bajo `set -u`. Requiere Claude Code v2.1.229 o posterior. |35| `CLAUDE_RUNNER_CLIENT_PLATFORM` | La superficie del cliente que creó la sesión, como `web_claude_ai`, `desktop_app`, `ios`, `claude_code_cli` o `scheduled_trigger`. Anthropic registra el valor una vez en la creación de la sesión, por lo que el contenedor y cada hook de ciclo de vida ven el mismo valor. Úselo solo para análisis de adopción y etiquetado, no como señal de autorización. No establecido cuando la sesión no tiene una superficie registrada o reconocida, por lo que haga referencia a él como `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}` bajo `set -u`. Requiere Claude Code v2.1.229 o posterior. |


98Se ejecuta una vez por repositorio, en lugar del clon e incorporación integrados del ejecutor. Use el hook para clonar desde un espejo de lectura, sembrar un árbol de trabajo desde un archivo, o aplicar autenticación git por sesión. El ejecutor establece:98Se ejecuta una vez por repositorio, en lugar del clon e incorporación integrados del ejecutor. Use el hook para clonar desde un espejo de lectura, sembrar un árbol de trabajo desde un archivo, o aplicar autenticación git por sesión. El ejecutor establece:

99 99 

100| Variable | Descripción |100| Variable | Descripción |

101| :--------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |101| :- | :- |

102| `CLAUDE_RUNNER_REPO_URL` | URL del repositorio a clonar, después de que se hayan aplicado `--git-host-rewrite` y `--git-ssh-rewrite` |102| `CLAUDE_RUNNER_REPO_URL` | URL del repositorio a clonar, después de que se hayan aplicado `--git-host-rewrite` y `--git-ssh-rewrite` |

103| `CLAUDE_RUNNER_REPO_REF` | Revisión a verificar: rama, etiqueta o SHA de commit como la sesión lo solicitó. Vacío significa la rama predeterminada del repositorio. |103| `CLAUDE_RUNNER_REPO_REF` | Revisión a verificar: rama, etiqueta o SHA de commit como la sesión lo solicitó. Vacío significa la rama predeterminada del repositorio. |

104| `CLAUDE_RUNNER_CHECKOUT_PATH` | Ruta absoluta donde el árbol de trabajo debe dejarse |104| `CLAUDE_RUNNER_CHECKOUT_PATH` | Ruta absoluta donde el árbol de trabajo debe dejarse |


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

131 131 

132| Variable | Descripción |132| Variable | Descripción |

133| :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |133| :- | :- |

134| `CLAUDE_RUNNER_SESSION_ID` | ID de sesión en forma etiquetada `session_...` |134| `CLAUDE_RUNNER_SESSION_ID` | ID de sesión en forma etiquetada `session_...` |

135| `CLAUDE_RUNNER_SESSION_UUID` | El mismo ID de sesión en forma UUID canónica |135| `CLAUDE_RUNNER_SESSION_UUID` | El mismo ID de sesión en forma UUID canónica |

136| `CLAUDE_RUNNER_EXIT_REASON` | Cómo terminó la sesión; consulte los valores a continuación de la tabla |136| `CLAUDE_RUNNER_EXIT_REASON` | Cómo terminó la sesión; consulte los valores a continuación de la tabla |


220El orquestador ejecuta `${hooks-dir}/spawn-runner` una vez por solicitud de generación. El hook debe enviar trabajo de forma asincrónica, sin esperar a que el ejecutor arranque, y regresar dentro de `--hook-timeout`, 60 segundos por defecto. El hook recibe:220El orquestador ejecuta `${hooks-dir}/spawn-runner` una vez por solicitud de generación. El hook debe enviar trabajo de forma asincrónica, sin esperar a que el ejecutor arranque, y regresar dentro de `--hook-timeout`, 60 segundos por defecto. El hook recibe:

221 221 

222| Variable | Descripción |222| Variable | Descripción |

223| :------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |223| :- | :- |

224| `CLAUDE_RUNNER_WORK_ORDER_FILE` | Ruta a un archivo temporal que contiene el JWT de orden de trabajo firmado que el nuevo ejecutor registra. Eliminado después de que el hook sale. No registre el contenido del archivo. |224| `CLAUDE_RUNNER_WORK_ORDER_FILE` | Ruta a un archivo temporal que contiene el JWT de orden de trabajo firmado que el nuevo ejecutor registra. Eliminado después de que el hook sale. No registre el contenido del archivo. |

225| `CLAUDE_RUNNER_ORDER_ID` | Clave de idempotencia opaca, única por solicitud de generación y segura para nombres de recursos de Kubernetes. Úsela como clave de deduplicación de su aprovisionador. |225| `CLAUDE_RUNNER_ORDER_ID` | Clave de idempotencia opaca, única por solicitud de generación y segura para nombres de recursos de Kubernetes. Úsela como clave de deduplicación de su aprovisionador. |

226| `CLAUDE_RUNNER_SESSION_ID` | La sesión para la que es esta solicitud. Vacío para solicitudes de precalentamiento, que arrancan un ejecutor en espera antes de cualquier sesión específica cuando [`--min-idle`](/docs/es/self-hosted-environments-reference#orchestrator-cli-flags) se establece, por lo que no asuma que la variable se establece. |226| `CLAUDE_RUNNER_SESSION_ID` | La sesión para la que es esta solicitud. Vacío para solicitudes de precalentamiento, que arrancan un ejecutor en espera antes de cualquier sesión específica cuando [`--min-idle`](/docs/es/self-hosted-environments-reference#orchestrator-cli-flags) se establece, por lo que no asuma que la variable se establece. |

Details

53Estos hosts siempre son requeridos:53Estos hosts siempre son requeridos:

54 54 

55| Host | Puerto | Utilizado para |55| Host | Puerto | Utilizado para |

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

57| `api.anthropic.com` | 443, HTTPS; WSS solo para el conector SCM | Plano de control del runner y transmisión de sesión, inferencia de modelo, banderas de características, análisis de productos, obtenciones de claves [JWKS](/docs/es/self-hosted-environments-identity), firma de commits, el proxy de git cuando se establece `--use-anthropic-git-proxy`, y el túnel del [conector SCM](/docs/es/self-hosted-environments-reference#scm-connector-flags) del orquestador cuando se establece `--scm-connector-host` |57| `api.anthropic.com` | 443, HTTPS; WSS solo para el conector SCM | Plano de control del runner y transmisión de sesión, inferencia de modelo, banderas de características, análisis de productos, obtenciones de claves [JWKS](/docs/es/self-hosted-environments-identity), firma de commits, el proxy de git cuando se establece `--use-anthropic-git-proxy`, y el túnel del [conector SCM](/docs/es/self-hosted-environments-reference#scm-connector-flags) del orquestador cuando se establece `--scm-connector-host` |

58| Su host de git, como `github.com` o su host de GitHub Enterprise | 443 o 22 | Clonación e inserción de repositorios. No es necesario si el runner usa `--use-anthropic-git-proxy`, que enruta el tráfico de git a través de `api.anthropic.com`. |58| Su host de git, como `github.com` o su host de GitHub Enterprise | 443 o 22 | Clonación e inserción de repositorios. No es necesario si el runner usa `--use-anthropic-git-proxy`, que enruta el tráfico de git a través de `api.anthropic.com`. |

59 59 

60Si estos hosts son necesarios depende de su configuración:60Si estos hosts son necesarios depende de su configuración:

61 61 

62| Host | Puerto | Cuando es requerido |62| Host | Puerto | Cuando es requerido |

63| :----------------------------------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |63| :- | :- | :- |

64| `downloads.claude.ai` | 443 | En el momento de la instalación, cuando instala o actualiza Claude Code en el host con el instalador nativo; el script `install.sh` en sí se sirve desde `claude.ai`. En tiempo de ejecución de sesión, solo cuando las sesiones instalan plugins del mercado oficial de Anthropic. |64| `downloads.claude.ai` | 443 | En el momento de la instalación, cuando instala o actualiza Claude Code en el host con el instalador nativo; el script `install.sh` en sí se sirve desde `claude.ai`. En tiempo de ejecución de sesión, solo cuando las sesiones instalan plugins del mercado oficial de Anthropic. |

65| `storage.googleapis.com` | 443 | En tiempo de ejecución de sesión, para los recuentos de instalación de plugins y metadatos mostrados en `/plugin`. |65| `storage.googleapis.com` | 443 | En tiempo de ejecución de sesión, para los recuentos de instalación de plugins y metadatos mostrados en `/plugin`. |

66| `code.claude.com` y `claude.com` | 443 | Búsquedas de documentación por el agente integrado claude-code-guide y solicitudes de WebFetch preaprobadas durante sesiones. Bloquear estos hosts solo afecta las búsquedas de documentación. |66| `code.claude.com` y `claude.com` | 443 | Búsquedas de documentación por el agente integrado claude-code-guide y solicitudes de WebFetch preaprobadas durante sesiones. Bloquear estos hosts solo afecta las búsquedas de documentación. |

Details

204La tabla a continuación enumera las reclamaciones de token de sesión relevantes para la verificación. Lea la identidad del espacio de nombres `ccr:*` y la cadena `act`; las reclamaciones planas `account_email`, `organization_uuid` y `account_uuid` son duplicados de compatibilidad hacia atrás que pueden eliminarse. Las sesiones que crea la identidad de servicio de su organización, incluidas las sesiones del canal Claude Tag, llevan un asunto `agent:` en `act.sub` y omiten `act.email`, `ccr:account_id`, `account_email` y `account_uuid`. Las dos reclamaciones de correo electrónico también son opcionales para sesiones creadas por el usuario: Anthropic las registra en la creación de la sesión solo cuando las credenciales de la solicitud creadora llevan un correo electrónico, y una sesión enviada desde la CLI puede carecer de ambas, por lo que base la identidad en `act.sub` o `ccr:account_id` en lugar de en el correo electrónico. Los tokens también pueden llevar reclamaciones adicionales más allá de esta tabla; ignore las reclamaciones que no reconozca.204La tabla a continuación enumera las reclamaciones de token de sesión relevantes para la verificación. Lea la identidad del espacio de nombres `ccr:*` y la cadena `act`; las reclamaciones planas `account_email`, `organization_uuid` y `account_uuid` son duplicados de compatibilidad hacia atrás que pueden eliminarse. Las sesiones que crea la identidad de servicio de su organización, incluidas las sesiones del canal Claude Tag, llevan un asunto `agent:` en `act.sub` y omiten `act.email`, `ccr:account_id`, `account_email` y `account_uuid`. Las dos reclamaciones de correo electrónico también son opcionales para sesiones creadas por el usuario: Anthropic las registra en la creación de la sesión solo cuando las credenciales de la solicitud creadora llevan un correo electrónico, y una sesión enviada desde la CLI puede carecer de ambas, por lo que base la identidad en `act.sub` o `ccr:account_id` en lugar de en el correo electrónico. Los tokens también pueden llevar reclamaciones adicionales más allá de esta tabla; ignore las reclamaciones que no reconozca.

205 205 

206| Reclamación | Tipo | Descripción |206| Reclamación | Tipo | Descripción |

207| :------------------ | :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |207| :- | :- | :- |

208| `iss` | cadena | Siempre `ccr`. |208| `iss` | cadena | Siempre `ccr`. |

209| `sub` | cadena | `ccr:session:<session_id>`. |209| `sub` | cadena | `ccr:session:<session_id>`. |

210| `aud` | matriz de cadenas | Siempre contiene `anthropic-api`. Para sesiones en entornos autohospedados, la matriz también contiene su ID de entorno, como `ccpool_...`. Verifique el ID de entorno, no `anthropic-api`. |210| `aud` | matriz de cadenas | Siempre contiene `anthropic-api`. Para sesiones en entornos autohospedados, la matriz también contiene su ID de entorno, como `ccpool_...`. Verifique el ID de entorno, no `anthropic-api`. |


228La reclamación `act` registra la ruta de delegación completa desde la identidad del usuario o servicio que creó la sesión hasta el [entorno](/docs/es/self-hosted-environments#key-concepts) cuyo secreto admitió al ejecutor, y la identidad que creó ese secreto. El creador es el actor más externo, por lo que `act.sub` los identifica directamente.228La reclamación `act` registra la ruta de delegación completa desde la identidad del usuario o servicio que creó la sesión hasta el [entorno](/docs/es/self-hosted-environments#key-concepts) cuyo secreto admitió al ejecutor, y la identidad que creó ese secreto. El creador es el actor más externo, por lo que `act.sub` los identifica directamente.

229 229 

230| Ruta | Descripción |230| Ruta | Descripción |

231| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |231| :- | :- |

232| `act.sub` | El ID de usuario de Anthropic del usuario creador, en la forma `user:<id>`, o `agent:<id>` cuando la identidad de servicio de su organización creó la sesión, como lo hace para las sesiones del canal Claude Tag. |232| `act.sub` | El ID de usuario de Anthropic del usuario creador, en la forma `user:<id>`, o `agent:<id>` cuando la identidad de servicio de su organización creó la sesión, como lo hace para las sesiones del canal Claude Tag. |

233| `act.email` | La dirección de correo electrónico del usuario creador, cuando se registró una en la creación de la sesión. No la requiera; base en `act.sub`. |233| `act.email` | La dirección de correo electrónico del usuario creador, cuando se registró una en la creación de la sesión. No la requiera; base en `act.sub`. |

234| `act.attested_by` | La atestación del proveedor de identidad ascendente para el usuario creador, cuando está disponible. `act.attested_by.sub` es el asunto que su proveedor de SSO, como Google u Okta, emitió. Prefiera esto sobre `act.email` cuando asigne a identidades en sus propios sistemas. |234| `act.attested_by` | La atestación del proveedor de identidad ascendente para el usuario creador, cuando está disponible. `act.attested_by.sub` es el asunto que su proveedor de SSO, como Google u Okta, emitió. Prefiera esto sobre `act.email` cuando asigne a identidades en sus propios sistemas. |

Details

21La mayoría de los flags tienen una variable de entorno correspondiente. Cuando ambos se establecen, el flag tiene precedencia. Los flags de duración toman minutos o segundos en la CLI, pero la variable de entorno emparejada siempre está en milisegundos, indicada por el sufijo `_MS`, y la columna Default muestra la unidad del flag: `--exit-if-unused-min 10` es equivalente a `SELF_HOSTED_RUNNER_IDLE_SHUTDOWN_MS=600000`, y un valor de Helm como `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS: "15"` significa 15 milisegundos, no los 15 minutos predeterminados.21La mayoría de los flags tienen una variable de entorno correspondiente. Cuando ambos se establecen, el flag tiene precedencia. Los flags de duración toman minutos o segundos en la CLI, pero la variable de entorno emparejada siempre está en milisegundos, indicada por el sufijo `_MS`, y la columna Default muestra la unidad del flag: `--exit-if-unused-min 10` es equivalente a `SELF_HOSTED_RUNNER_IDLE_SHUTDOWN_MS=600000`, y un valor de Helm como `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS: "15"` significa 15 milisegundos, no los 15 minutos predeterminados.

22 22 

23| Flag | Env var | Default | Description |23| Flag | Env var | Default | Description |

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

25| `--api-url <url>` | none | `https://api.anthropic.com` | URL base de API. Anule solo para pruebas. |25| `--api-url <url>` | none | `https://api.anthropic.com` | URL base de API. Anule solo para pruebas. |

26| `--base-dir <path>` | `SELF_HOSTED_RUNNER_BASE_DIR` | `/workspace`; ninguno en Windows | Directorio para checkouts de repositorio y directorios de trabajo por sesión. El runner necesita acceso de escritura a esta ruta o su padre. El runner crea el directorio al iniciar y sale con `cannot create or write to base directory` cuando no puede crearlo o escribir en él. Antes de v2.1.225, el runner creaba el directorio cuando la primera sesión comenzaba, por lo que una ruta inutilizable fallaba en sesiones en lugar de al iniciar. En Windows, que no es un host de runner compatible, no hay predeterminado: el runner sale al iniciar a menos que pase el flag o establezca la variable. Use el mismo valor en cada runner en un entorno. Consulte [Keep the base directory and capacity identical across runners](/docs/es/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |26| `--base-dir <path>` | `SELF_HOSTED_RUNNER_BASE_DIR` | `/workspace`; ninguno en Windows | Directorio para checkouts de repositorio y directorios de trabajo por sesión. El runner necesita acceso de escritura a esta ruta o su padre. El runner crea el directorio al iniciar y sale con `cannot create or write to base directory` cuando no puede crearlo o escribir en él. Antes de v2.1.225, el runner creaba el directorio cuando la primera sesión comenzaba, por lo que una ruta inutilizable fallaba en sesiones en lugar de al iniciar. En Windows, que no es un host de runner compatible, no hay predeterminado: el runner sale al iniciar a menos que pase el flag o establezca la variable. Use el mismo valor en cada runner en un entorno. Consulte [Keep the base directory and capacity identical across runners](/docs/es/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |

27| `--capacity <n>` | none | `1` | Máximo de sesiones concurrentes que este runner maneja. Todas las sesiones pertenecen al mismo [owner](/docs/es/self-hosted-environments#key-concepts) bloqueado. Use el mismo valor en cada runner en un entorno; consulte [Keep the base directory and capacity identical across runners](/docs/es/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |27| `--capacity <n>` | none | `1` | Máximo de sesiones concurrentes que este runner maneja. Todas las sesiones pertenecen al mismo [owner](/docs/es/self-hosted-environments#key-concepts) bloqueado. Use el mismo valor en cada runner en un entorno; consulte [Keep the base directory and capacity identical across runners](/docs/es/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |


69El subcomando `self-hosted-runner orchestrator`, que genera [runners bajo demanda](/docs/es/self-hosted-environments-configuration#on-demand-runners), acepta `--api-url`, `--environment-secret-file`, `--hooks-dir`, `--health-port`, y `--log-level` con los mismos valores predeterminados que el runner y, donde el flag del runner tiene uno, la misma variable de entorno, excepto que `--hooks-dir` es requerido y debe contener un hook `spawn-runner`. También toma sus propios flags:69El subcomando `self-hosted-runner orchestrator`, que genera [runners bajo demanda](/docs/es/self-hosted-environments-configuration#on-demand-runners), acepta `--api-url`, `--environment-secret-file`, `--hooks-dir`, `--health-port`, y `--log-level` con los mismos valores predeterminados que el runner y, donde el flag del runner tiene uno, la misma variable de entorno, excepto que `--hooks-dir` es requerido y debe contener un hook `spawn-runner`. También toma sus propios flags:

70 70 

71| Flag | Default | Description |71| Flag | Default | Description |

72| :------------------------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |72| :- | :- | :- |

73| `--hook-concurrency <n>` | `4` | Máximo de hooks `spawn-runner` ejecutándose en paralelo. También limita cuántas solicitudes de generación se reclaman por sondeo. |73| `--hook-concurrency <n>` | `4` | Máximo de hooks `spawn-runner` ejecutándose en paralelo. También limita cuántas solicitudes de generación se reclaman por sondeo. |

74| `--hook-timeout <sec>` | `60` | Termine el árbol de procesos del hook después de estos muchos segundos. El timeout más su gracia de muerte de 5 segundos debe mantenerse por debajo de `--expected-spawn-seconds`; el orquestador lo aplica al iniciar. |74| `--hook-timeout <sec>` | `60` | Termine el árbol de procesos del hook después de estos muchos segundos. El timeout más su gracia de muerte de 5 segundos debe mantenerse por debajo de `--expected-spawn-seconds`; el orquestador lo aplica al iniciar. |

75| `--expected-spawn-seconds <sec>` | `120` | Tiempo de arranque p99 esperado para runners generados, en el rango aplicado por el servidor de 10 a 3600. Enviado en cada sondeo como el arrendamiento del lado del servidor; si ningún runner se registra antes de que transcurra, la sesión se re-ofrece con un ID de orden nuevo. Todas las réplicas deben compartir este valor. |75| `--expected-spawn-seconds <sec>` | `120` | Tiempo de arranque p99 esperado para runners generados, en el rango aplicado por el servidor de 10 a 3600. Enviado en cada sondeo como el arrendamiento del lado del servidor; si ningún runner se registra antes de que transcurra, la sesión se re-ofrece con un ID de orden nuevo. Todas las réplicas deben compartir este valor. |


83El orquestador puede mantener una conexión WebSocket permanente al plano de control de Anthropic para que los flujos previos a la sesión alojados, como el selector de repositorio y el resolutor de rama o ref, puedan alcanzar un host de GitHub Enterprise Server que solo es enrutable desde dentro de su red. El conector permanece apagado a menos que establezca `--scm-connector-host`.83El orquestador puede mantener una conexión WebSocket permanente al plano de control de Anthropic para que los flujos previos a la sesión alojados, como el selector de repositorio y el resolutor de rama o ref, puedan alcanzar un host de GitHub Enterprise Server que solo es enrutable desde dentro de su red. El conector permanece apagado a menos que establezca `--scm-connector-host`.

84 84 

85| Flag | Default | Description |85| Flag | Default | Description |

86| :------------------------------------------------------ | :----------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |86| :- | :- | :- |

87| `--scm-connector-host <host[:port]>` | unset | Nombre de host de GitHub Enterprise Server para reenviar solicitudes. El puerto predeterminado es `443`. Establecer este flag habilita el conector. |87| `--scm-connector-host <host[:port]>` | unset | Nombre de host de GitHub Enterprise Server para reenviar solicitudes. El puerto predeterminado es `443`. Establecer este flag habilita el conector. |

88| `--scm-connector-id <n>` | required with `--scm-connector-host` | El ID numérico de la conexión de GitHub Enterprise Server de su organización. Póngase en contacto con su equipo de cuenta de Anthropic para el valor cuando habilite el conector. |88| `--scm-connector-id <n>` | required with `--scm-connector-host` | El ID numérico de la conexión de GitHub Enterprise Server de su organización. Póngase en contacto con su equipo de cuenta de Anthropic para el valor cuando habilite el conector. |

89| `--scm-connector-provider <slug>` | `ghe` | Segmento de ruta que identifica el proveedor, coincidiendo con `^[a-z0-9-]{1,32}$`. |89| `--scm-connector-provider <slug>` | `ghe` | Segmento de ruta que identifica el proveedor, coincidiendo con `^[a-z0-9-]{1,32}$`. |


99Estas configuraciones del runner se leen solo del entorno y cubren comportamiento que la mayoría de los despliegues dejan en el predeterminado:99Estas configuraciones del runner se leen solo del entorno y cubren comportamiento que la mayoría de los despliegues dejan en el predeterminado:

100 100 

101| Env var | Default | Description |101| Env var | Default | Description |

102| :----------------------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |102| :- | :- | :- |

103| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | Cuánto tiempo el runner considera una sesión ocupada después de que una tarea de fondo termina mientras el turno de seguimiento que lee el resultado no ha comenzado. Las filas [`--drain-wait-sec` y `--release-idle-session-min`](#runner-cli-flags) describen dónde se aplica la retención en drenaje y liberación por inactividad, y [Runner lifecycle](/docs/es/self-hosted-environments#runner-lifecycle) describe dónde se aplica en retiro `--retire-at`. `0` o un valor inutilizable vuelve al predeterminado, por lo que la retención no se puede desactivar. Requiere Claude Code v2.1.228 o posterior. |103| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | Cuánto tiempo el runner considera una sesión ocupada después de que una tarea de fondo termina mientras el turno de seguimiento que lee el resultado no ha comenzado. Las filas [`--drain-wait-sec` y `--release-idle-session-min`](#runner-cli-flags) describen dónde se aplica la retención en drenaje y liberación por inactividad, y [Runner lifecycle](/docs/es/self-hosted-environments#runner-lifecycle) describe dónde se aplica en retiro `--retire-at`. `0` o un valor inutilizable vuelve al predeterminado, por lo que la retención no se puede desactivar. Requiere Claude Code v2.1.228 o posterior. |

104| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | Directorio capturado en la instantánea de inicio del runner y sembrado en el `CLAUDE_CONFIG_DIR` de cada sesión; los cambios en disco se aplican después de un reinicio del runner. Establecer la variable también mueve dónde el runner lee `.claude.json` para [siembra de MCP](/docs/es/self-hosted-environments-configuration#mcp-servers), por lo que establecerlo, incluso a su propio predeterminado, reubica esa búsqueda; apunte a un directorio vacío para desactivar completamente la siembra. |104| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | Directorio capturado en la instantánea de inicio del runner y sembrado en el `CLAUDE_CONFIG_DIR` de cada sesión; los cambios en disco se aplican después de un reinicio del runner. Establecer la variable también mueve dónde el runner lee `.claude.json` para [siembra de MCP](/docs/es/self-hosted-environments-configuration#mcp-servers), por lo que establecerlo, incluso a su propio predeterminado, reubica esa búsqueda; apunte a un directorio vacío para desactivar completamente la siembra. |

105| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | Cuánto tiempo el runner espera después de que una sesión alcanza su límite `--kill-session-after-min`, para que un turno en ejecución termine o se complete la liberación, antes de terminar la sesión |105| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | Cuánto tiempo el runner espera después de que una sesión alcanza su límite `--kill-session-after-min`, para que un turno en ejecución termine o se complete la liberación, antes de terminar la sesión |


149Cada runner sirve métricas de Prometheus en `GET /metrics` en el mismo puerto que `/healthz`. Series clave:149Cada runner sirve métricas de Prometheus en `GET /metrics` en el mismo puerto que `/healthz`. Series clave:

150 150 

151| Series | Notes |151| Series | Notes |

152| :-------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |152| :- | :- |

153| `claude_code_self_hosted_runner_info{runner_id,version,client_label}` | Siempre `1`; útil para inventario de flota y detección de desviación de versión |153| `claude_code_self_hosted_runner_info{runner_id,version,client_label}` | Siempre `1`; útil para inventario de flota y detección de desviación de versión |

154| `claude_code_self_hosted_runner_capacity` | `--capacity` configurado |154| `claude_code_self_hosted_runner_capacity` | `--capacity` configurado |

155| `claude_code_self_hosted_runner_active_sessions` | Sesiones actualmente en ejecución |155| `claude_code_self_hosted_runner_active_sessions` | Sesiones actualmente en ejecución |


169El orquestador sirve sus propias series en `GET /metrics` en el mismo puerto que su `/healthz`:169El orquestador sirve sus propias series en `GET /metrics` en el mismo puerto que su `/healthz`:

170 170 

171| Series | Notes |171| Series | Notes |

172| :-------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |172| :- | :- |

173| `claude_code_self_hosted_orchestrator_info{version,pool_id,orchestrator_uuid,hostname}` | Siempre `1` |173| `claude_code_self_hosted_orchestrator_info{version,pool_id,orchestrator_uuid,hostname}` | Siempre `1` |

174| `claude_code_self_hosted_orchestrator_connected` | `1` cuando el sondeo más reciente tuvo éxito; cae a `0` después de cualquier sondeo fallido, sea cual sea el tipo de fallo |174| `claude_code_self_hosted_orchestrator_connected` | `1` cuando el sondeo más reciente tuvo éxito; cae a `0` después de cualquier sondeo fallido, sea cual sea el tipo de fallo |

175| `claude_code_self_hosted_orchestrator_last_poll_age_seconds` | Segundos desde el último intento de sondeo, éxito o fallo, a diferencia de la métrica con el mismo nombre del runner, que mide desde el último éxito; empareje con `connected` para detectar sondeos fallidos. El bucle de sondeo del orquestador espera en la ejecución del hook, así que alerte por encima de `--hook-timeout` más un margen, alrededor de 90 segundos en valores predeterminados, en lugar de un 60 plano. |175| `claude_code_self_hosted_orchestrator_last_poll_age_seconds` | Segundos desde el último intento de sondeo, éxito o fallo, a diferencia de la métrica con el mismo nombre del runner, que mide desde el último éxito; empareje con `connected` para detectar sondeos fallidos. El bucle de sondeo del orquestador espera en la ejecución del hook, así que alerte por encima de `--hook-timeout` más un margen, alrededor de 90 segundos en valores predeterminados, en lugar de un 60 plano. |


328Use la serie en esta tabla para el objetivo correspondiente en lugar de los contadores terminales:328Use la serie en esta tabla para el objetivo correspondiente en lugar de los contadores terminales:

329 329 

330| Goal | Use |330| Goal | Use |

331| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |331| :- | :- |

332| Throughput | `claude_code_self_hosted_orchestrator_spawn_hooks_total{result="ok"}`, un contador en el orquestador de larga vida que incrementa una vez por hook `spawn-runner` exitoso y permanece significativo bajo `rate()`. Cuenta invocaciones de hook en lugar de sesiones, por lo que el precalentamiento y los generadores repetidos para la misma sesión lo divergen de los recuentos de sesión. |332| Throughput | `claude_code_self_hosted_orchestrator_spawn_hooks_total{result="ok"}`, un contador en el orquestador de larga vida que incrementa una vez por hook `spawn-runner` exitoso y permanece significativo bajo `rate()`. Cuenta invocaciones de hook en lugar de sesiones, por lo que el precalentamiento y los generadores repetidos para la misma sesión lo divergen de los recuentos de sesión. |

333| Utilization | `sum(claude_code_self_hosted_runner_active_sessions)` contra `sum(claude_code_self_hosted_runner_capacity)`, ambos indicadores válidos en cada raspado independientemente de la vida útil del runner |333| Utilization | `sum(claude_code_self_hosted_runner_active_sessions)` contra `sum(claude_code_self_hosted_runner_capacity)`, ambos indicadores válidos en cada raspado independientemente de la vida útil del runner |

334| Backlog | `claude_code_self_hosted_orchestrator_pool_pending_sessions` para profundidad de cola, y `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions`, alertando si es superior a cero |334| Backlog | `claude_code_self_hosted_orchestrator_pool_pending_sessions` para profundidad de cola, y `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions`, alertando si es superior a cero |

Details

29Claude Code admite dos enfoques para la configuración centralizada. La configuración administrada por servidor entrega la configuración desde los servidores de Anthropic. La [configuración administrada por endpoint](/docs/es/managed-settings#delivery-mechanisms) se implementa directamente en dispositivos a través de políticas nativas del sistema operativo (preferencias administradas de macOS, registro de Windows) o archivos de configuración administrados.29Claude Code admite dos enfoques para la configuración centralizada. La configuración administrada por servidor entrega la configuración desde los servidores de Anthropic. La [configuración administrada por endpoint](/docs/es/managed-settings#delivery-mechanisms) se implementa directamente en dispositivos a través de políticas nativas del sistema operativo (preferencias administradas de macOS, registro de Windows) o archivos de configuración administrados.

30 30 

31| Enfoque | Mejor para | Modelo de seguridad |31| Enfoque | Mejor para | Modelo de seguridad |

32| :-------------------------------------------------------------------------------------- | :------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------- |32| :- | :- | :- |

33| **Configuración administrada por servidor** | Organizaciones sin MDM, o usuarios en dispositivos no administrados | Configuración que Claude Code obtiene de los servidores de Anthropic al iniciar y actualiza cada hora durante la sesión |33| **Configuración administrada por servidor** | Organizaciones sin MDM, o usuarios en dispositivos no administrados | Configuración que Claude Code obtiene de los servidores de Anthropic al iniciar y actualiza cada hora durante la sesión |

34| **[Configuración administrada por endpoint](/docs/es/managed-settings#delivery-mechanisms)** | Organizaciones con MDM o administración de endpoint | Configuración implementada en dispositivos a través de perfiles de configuración MDM, políticas de registro o archivos de configuración administrados |34| **[Configuración administrada por endpoint](/docs/es/managed-settings#delivery-mechanisms)** | Organizaciones con MDM o administración de endpoint | Configuración implementada en dispositivos a través de perfiles de configuración MDM, políticas de registro o archivos de configuración administrados |

35 35 


363La configuración administrada por servidor proporciona aplicación de políticas centralizada, pero funciona como un control del lado del cliente, no como un límite de seguridad. En dispositivos no administrados, un usuario no necesita acceso de administrador o sudo para omitirla.363La configuración administrada por servidor proporciona aplicación de políticas centralizada, pero funciona como un control del lado del cliente, no como un límite de seguridad. En dispositivos no administrados, un usuario no necesita acceso de administrador o sudo para omitirla.

364 364 

365| Escenario | Comportamiento |365| Escenario | Comportamiento |

366| :-------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |366| :- | :- |

367| El usuario edita el archivo de configuración en caché | El archivo manipulado se aplica al inicio, excepto para los [valores que Claude Code retiene](#fetch-and-caching-behavior) hasta que el servidor confirma la carga útil. La siguiente obtención del servidor restaura la configuración correcta, excepto para las [claves que se aplican solo en el siguiente lanzamiento](#fetch-and-caching-behavior), como `model` o una variable agregada al bloque `env`, que permanecen en vigor hasta el relanzamiento |367| El usuario edita el archivo de configuración en caché | El archivo manipulado se aplica al inicio, excepto para los [valores que Claude Code retiene](#fetch-and-caching-behavior) hasta que el servidor confirma la carga útil. La siguiente obtención del servidor restaura la configuración correcta, excepto para las [claves que se aplican solo en el siguiente lanzamiento](#fetch-and-caching-behavior), como `model` o una variable agregada al bloque `env`, que permanecen en vigor hasta el relanzamiento |

368| El usuario elimina el archivo de configuración en caché | Ocurre el [comportamiento del primer lanzamiento](#fetch-and-caching-behavior) |368| El usuario elimina el archivo de configuración en caché | Ocurre el [comportamiento del primer lanzamiento](#fetch-and-caching-behavior) |

369| El usuario ejecuta un binario de Claude Code modificado | Un usuario que puede ejecutar un cliente modificado puede omitir cualquier control del lado del cliente |369| El usuario ejecuta un binario de Claude Code modificado | Un usuario que puede ejecutar un cliente modificado puede omitir cualquier control del lado del cliente |

sessions.md +7 −7

Details

17Las sesiones se guardan continuamente en [archivos de transcripción locales](#export-and-locate-session-data) mientras trabaja, para que pueda volver a una después de salir o ejecutar `/clear`. Use estos puntos de entrada:17Las sesiones se guardan continuamente en [archivos de transcripción locales](#export-and-locate-session-data) mientras trabaja, para que pueda volver a una después de salir o ejecutar `/clear`. Use estos puntos de entrada:

18 18 

19| Comando | Qué hace |19| Comando | Qué hace |

20| :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |20| :- | :- |

21| `claude --continue` | Reabre la conversación más reciente en el directorio actual |21| `claude --continue` | Reabre la conversación más reciente en el directorio actual |

22| `claude --resume` | Abre el [selector de sesiones](#use-the-session-picker) |22| `claude --resume` | Abre el [selector de sesiones](#use-the-session-picker) |

23| `claude --resume <name>` | Reanuda la sesión nombrada directamente |23| `claude --resume <name>` | Reanuda la sesión nombrada directamente |


61Restaurar el modo de plan en las rutas no interactivas y VS Code requiere Claude Code v2.1.246 o posterior. Cada fila nombra el modo de permisos en el que terminó la sesión, cuál de las rutas de terminal, no interactiva y VS Code la reanuda, y el modo de permisos en el que Claude Code inicia la sesión reanudada.61Restaurar el modo de plan en las rutas no interactivas y VS Code requiere Claude Code v2.1.246 o posterior. Cada fila nombra el modo de permisos en el que terminó la sesión, cuál de las rutas de terminal, no interactiva y VS Code la reanuda, y el modo de permisos en el que Claude Code inicia la sesión reanudada.

62 62 

63| Sesión terminada en | Cómo reanuda | Modo de permisos después de reanudar |63| Sesión terminada en | Cómo reanuda | Modo de permisos después de reanudar |

64| :------------------ | :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |64| :- | :- | :- |

65| `bypassPermissions` | Terminal | El modo de permisos en el que se iniciaría una nueva sesión. Para [omitir permisos](/docs/es/permission-modes#skip-all-checks-with-bypasspermissions-mode) de nuevo, habilítelo en el lanzamiento con una de sus banderas de lanzamiento o `permissions.defaultMode: "bypassPermissions"` en [configuración de usuario, `--settings` o configuración administrada](/docs/es/settings-reference#permissions-defaultmode) |65| `bypassPermissions` | Terminal | El modo de permisos en el que se iniciaría una nueva sesión. Para [omitir permisos](/docs/es/permission-modes#skip-all-checks-with-bypasspermissions-mode) de nuevo, habilítelo en el lanzamiento con una de sus banderas de lanzamiento o `permissions.defaultMode: "bypassPermissions"` en [configuración de usuario, `--settings` o configuración administrada](/docs/es/settings-reference#permissions-defaultmode) |

66| `plan` | Terminal | El modo de permisos en el que se iniciaría una nueva sesión |66| `plan` | Terminal | El modo de permisos en el que se iniciaría una nueva sesión |

67| `auto` | Terminal | `auto`, solo cuando su cuenta aún cumple con los [requisitos del modo automático](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) |67| `auto` | Terminal | `auto`, solo cuando su cuenta aún cumple con los [requisitos del modo automático](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) |


115Reanudar por nombre se resuelve en el repositorio actual y sus worktrees. Ambas formas buscan una coincidencia exacta y la reanudan directamente incluso si vive en un worktree diferente:115Reanudar por nombre se resuelve en el repositorio actual y sus worktrees. Ambas formas buscan una coincidencia exacta y la reanudan directamente incluso si vive en un worktree diferente:

116 116 

117| Comando | Coincidencia exacta | Nombre ambiguo |117| Comando | Coincidencia exacta | Nombre ambiguo |

118| :----------------------- | :------------------- | :---------------------------------------------------------------------------------------- |118| :- | :- | :- |

119| `claude --resume <name>` | Reanuda directamente | Abre el selector de sesiones con el nombre rellenado previamente como término de búsqueda |119| `claude --resume <name>` | Reanuda directamente | Abre el selector de sesiones con el nombre rellenado previamente como término de búsqueda |

120| `/resume <name>` | Reanuda directamente | Reporta un error; ejecute `/resume` sin argumentos para abrir el selector de sesiones |120| `/resume <name>` | Reanuda directamente | Reporta un error; ejecute `/resume` sin argumentos para abrir el selector de sesiones |

121 121 


126Dé a las sesiones nombres descriptivos para que sean encontrables en el selector de sesiones y reanudables por nombre. Esto es más importante cuando está trabajando en varias tareas en paralelo.126Dé a las sesiones nombres descriptivos para que sean encontrables en el selector de sesiones y reanudables por nombre. Esto es más importante cuando está trabajando en varias tareas en paralelo.

127 127 

128| Cuándo | Cómo establecer el nombre |128| Cuándo | Cómo establecer el nombre |

129| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |129| :- | :- |

130| Al inicio | `claude -n auth-refactor` |130| Al inicio | `claude -n auth-refactor` |

131| Durante una sesión | `/rename auth-refactor`. El nombre también aparece en la barra de indicaciones |131| Durante una sesión | `/rename auth-refactor`. El nombre también aparece en la barra de indicaciones |

132| Desde el selector de sesiones | Resalte una sesión y presione `Ctrl+R` |132| Desde el selector de sesiones | Resalte una sesión y presione `Ctrl+R` |


162Ejecute `/resume` dentro de una sesión, o `claude --resume` sin argumentos, para abrir el selector de sesiones interactivo. Use estos atajos de teclado para navegar, buscar y ampliar la lista:162Ejecute `/resume` dentro de una sesión, o `claude --resume` sin argumentos, para abrir el selector de sesiones interactivo. Use estos atajos de teclado para navegar, buscar y ampliar la lista:

163 163 

164| Atajo | Acción |164| Atajo | Acción |

165| :----------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |165| :- | :- |

166| `↑` / `↓` | Navegar entre sesiones |166| `↑` / `↓` | Navegar entre sesiones |

167| `→` / `←` | Expandir o contraer sesiones agrupadas |167| `→` / `←` | Expandir o contraer sesiones agrupadas |

168| `Enter` | Reanuda la sesión resaltada |168| `Enter` | Reanuda la sesión resaltada |


205`/branch` copia la transcripción y cambia el proceso de Claude Code en ejecución para escribir en ella. Esa distinción determina lo que hereda la rama:205`/branch` copia la transcripción y cambia el proceso de Claude Code en ejecución para escribir en ella. Esa distinción determina lo que hereda la rama:

206 206 

207| Estado | Después de `/branch` |207| Estado | Después de `/branch` |

208| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |208| :- | :- |

209| Historial de conversación | Copiado en la rama hasta el punto en el que ejecutó `/branch` |209| Historial de conversación | Copiado en la rama hasta el punto en el que ejecutó `/branch` |

210| Permisos de "Permitir para esta sesión" | Se transfieren; la rama se ejecuta en el mismo proceso, por lo que sus permisos existentes aún se aplican. Si bifurca en un proceso separado con `--fork-session`, el nuevo proceso comienza sin ellos y usted vuelve a aprobar allí |210| Permisos de "Permitir para esta sesión" | Se transfieren; la rama se ejecuta en el mismo proceso, por lo que sus permisos existentes aún se aplican. Si bifurca en un proceso separado con `--fork-session`, el nuevo proceso comienza sin ellos y usted vuelve a aprobar allí |

211| [Subagentes en segundo plano](/docs/es/sub-agents#run-subagents-in-foreground-or-background) en vuelo y [comandos Bash en segundo plano](/docs/es/interactive-mode#background-bash-commands) | Continúan ejecutándose. Su salida aparece en la nueva rama a la que cambió, no en la sesión original |211| [Subagentes en segundo plano](/docs/es/sub-agents#run-subagents-in-foreground-or-background) en vuelo y [comandos Bash en segundo plano](/docs/es/interactive-mode#background-bash-commands) | Continúan ejecutándose. Su salida aparece en la nueva rama a la que cambió, no en la sesión original |


259La ubicación, retención y comportamiento de escritura son configurables:259La ubicación, retención y comportamiento de escritura son configurables:

260 260 

261| Para | Establecer | Dónde |261| Para | Establecer | Dónde |

262| ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |262| - | - | - |

263| Mover almacenamiento fuera de `~/.claude` | [`CLAUDE_CONFIG_DIR`](/docs/es/env-vars) | Variable de entorno |263| Mover almacenamiento fuera de `~/.claude` | [`CLAUDE_CONFIG_DIR`](/docs/es/env-vars) | Variable de entorno |

264| [Nombre el directorio `<project>` usted mismo](#name-the-project-directory-yourself) | [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/es/env-vars) | Variable de entorno |264| [Nombre el directorio `<project>` usted mismo](#name-the-project-directory-yourself) | [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/es/env-vars) | Variable de entorno |

265| Cambiar la retención de 30 días | [`cleanupPeriodDays`](/docs/es/settings-reference#cleanupperioddays) | `settings.json` |265| Cambiar la retención de 30 días | [`cleanupPeriodDays`](/docs/es/settings-reference#cleanupperioddays) | `settings.json` |

settings.md +2 −2

Details

403Claude Code lee configuraciones de cuatro archivos, y una organización también puede entregar configuraciones administradas desde la consola de claude.ai. Cada fuente tiene un ámbito: el conjunto de personas y proyectos a los que se aplica una configuración guardada en ella, ya sea solo usted, todos en un proyecto o todos en su organización.403Claude Code lee configuraciones de cuatro archivos, y una organización también puede entregar configuraciones administradas desde la consola de claude.ai. Cada fuente tiene un ámbito: el conjunto de personas y proyectos a los que se aplica una configuración guardada en ella, ya sea solo usted, todos en un proyecto o todos en su organización.

404 404 

405| Ámbito | Archivo | A quién afecta | Úselo para |405| Ámbito | Archivo | A quién afecta | Úselo para |

406| :------------------ | :------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |406| :- | :- | :- | :- |

407| Usuario | `~/.claude/settings.json` | Usted, en cada proyecto en esta máquina | Preferencias personales: tema, modo de editor, modelo predeterminado, sus propias reglas de permiso |407| Usuario | `~/.claude/settings.json` | Usted, en cada proyecto en esta máquina | Preferencias personales: tema, modo de editor, modelo predeterminado, sus propias reglas de permiso |

408| Proyecto compartido | `.claude/settings.json` | Todos los que trabajan en la carpeta que lo contiene. En un repositorio de git, confirme para que los compañeros de equipo lo obtengan | Permisos de equipo, hooks, plugins y las variables de entorno que el proyecto necesita |408| Proyecto compartido | `.claude/settings.json` | Todos los que trabajan en la carpeta que lo contiene. En un repositorio de git, confirme para que los compañeros de equipo lo obtengan | Permisos de equipo, hooks, plugins y las variables de entorno que el proyecto necesita |

409| Proyecto local | `.claude/settings.local.json` | Usted, solo en este proyecto. Claude Code lo mantiene fuera de git cuando crea el archivo; si lo crea a mano, agréguelo a `.gitignore` usted mismo | Anulaciones personales para un proyecto y pruebas antes de compartir |409| Proyecto local | `.claude/settings.local.json` | Usted, solo en este proyecto. Claude Code lo mantiene fuera de git cuando crea el archivo; si lo crea a mano, agréguelo a `.gitignore` usted mismo | Anulaciones personales para un proyecto y pruebas antes de compartir |


788Para algunas claves cuyos valores restringen una sesión, Claude Code honra un valor restrictivo de un ámbito que de otra manera no podría anular configuraciones administradas. Encuentre la clave en esta tabla para ver qué valor honra y de dónde.788Para algunas claves cuyos valores restringen una sesión, Claude Code honra un valor restrictivo de un ámbito que de otra manera no podría anular configuraciones administradas. Encuentre la clave en esta tabla para ver qué valor honra y de dónde.

789 789 

790| Clave | Valor que Claude Code honra | Notas |790| Clave | Valor que Claude Code honra | Notas |

791| :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |791| :- | :- | :- |

792| [`disableClaudeAiConnectors`](/docs/es/settings-reference#disableclaudeaiconnectors) | `true` de cualquier ámbito | Honrado incluso cuando una fuente administrada establece `false` |792| [`disableClaudeAiConnectors`](/docs/es/settings-reference#disableclaudeaiconnectors) | `true` de cualquier ámbito | Honrado incluso cuando una fuente administrada establece `false` |

793| [`enableArtifact`](/docs/es/settings-reference#enableartifact) | `false` de cualquier ámbito, y `disableArtifact: true` de cualquier ámbito | Honrado incluso cuando una fuente administrada establece `true`; nada enciende la [herramienta Artifact](/docs/es/artifacts#disable-artifacts) de nuevo. Requiere Claude Code v2.1.242 o posterior |793| [`enableArtifact`](/docs/es/settings-reference#enableartifact) | `false` de cualquier ámbito, y `disableArtifact: true` de cualquier ámbito | Honrado incluso cuando una fuente administrada establece `true`; nada enciende la [herramienta Artifact](/docs/es/artifacts#disable-artifacts) de nuevo. Requiere Claude Code v2.1.242 o posterior |

794| [`isolatePeerMachines`](/docs/es/settings-reference#isolatepeermachines) | `true` de cualquier ámbito | Honrado incluso cuando una fuente administrada establece `false` |794| [`isolatePeerMachines`](/docs/es/settings-reference#isolatepeermachines) | `true` de cualquier ámbito | Honrado incluso cuando una fuente administrada establece `false` |

Details

590/>590/>

591 591 

592| Clave | Descripción | Tema | Alcance |592| Clave | Descripción | Tema | Alcance |

593| :---------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------- | :---------------------------- |593| :- | :- | :- | :- |

594| [`advisorModel`](#advisormodel) | Elija qué modelo responde cuando Claude pregunta la [herramienta asesor](/docs/es/advisor) | Modelo y respuestas | Cualquier archivo |594| [`advisorModel`](#advisormodel) | Elija qué modelo responde cuando Claude pregunta la [herramienta asesor](/docs/es/advisor) | Modelo y respuestas | Cualquier archivo |

595| [`agent`](#agent) | Inicie cada sesión como un [subagente](/docs/es/sub-agents) nombrado con su indicación, herramientas y modelo | Agentes, sesiones y worktrees | Cualquier archivo |595| [`agent`](#agent) | Inicie cada sesión como un [subagente](/docs/es/sub-agents) nombrado con su indicación, herramientas y modelo | Agentes, sesiones y worktrees | Cualquier archivo |

596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Permita que Claude envíe una [notificación push a su teléfono](/docs/es/remote-control#mobile-push-notifications) cuando lo decida | Remoto, escritorio y notificaciones | Cualquier archivo |596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Permita que Claude envíe una [notificación push a su teléfono](/docs/es/remote-control#mobile-push-notifications) cuando lo decida | Remoto, escritorio y notificaciones | Cualquier archivo |


1133La clave toma dos campos, uno para las filas en sí y otro para si reemplazan la alineación integrada o se agregan a ella.1133La clave toma dos campos, uno para las filas en sí y otro para si reemplazan la alineación integrada o se agregan a ella.

1134 1134 

1135| Campo | Tipo | Qué hace |1135| Campo | Tipo | Qué hace |

1136| :---------------------- | :----------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1136| :- | :- | :- |

1137| `options` | matriz de filas, cada una con un `model` requerido y un `label` y `description` opcionales | Las filas que muestra el selector, en este orden, excepto que una fila atenuada se mueve al final. Sin un `label`, Claude Code titula la fila con el nombre integrado para un modelo que conoce, o el ID del modelo de lo contrario, y sin una `description` escribe una segunda línea genérica |1137| `options` | matriz de filas, cada una con un `model` requerido y un `label` y `description` opcionales | Las filas que muestra el selector, en este orden, excepto que una fila atenuada se mueve al final. Sin un `label`, Claude Code titula la fila con el nombre integrado para un modelo que conoce, o el ID del modelo de lo contrario, y sin una `description` escribe una segunda línea genérica |

1138| `replaceBuiltInOptions` | Booleano, predeterminado `false` | Establézcalo en `true` para mostrar solo estas filas, **Predeterminado** y una fila para el modelo que la sesión ya está usando. Déjelo sin establecer para agregar estas filas después de la alineación integrada |1138| `replaceBuiltInOptions` | Booleano, predeterminado `false` | Establézcalo en `true` para mostrar solo estas filas, **Predeterminado** y una fila para el modelo que la sesión ya está usando. Déjelo sin establecer para agregar estas filas después de la alineación integrada |

1139 1139 


1190</h4>1190</h4>

1191 1191 

1192| Campo | Tipo | Qué hace |1192| Campo | Tipo | Qué hace |

1193| :----------- | :---------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1193| :- | :- | :- |

1194| `multiplier` | número mayor que 0 y como máximo 10 | Escala cada costo que Claude Code calcula, independientemente de si una fila `overrides` la cubre. Por debajo de 1 es un descuento, por encima de 1 un marcado |1194| `multiplier` | número mayor que 0 y como máximo 10 | Escala cada costo que Claude Code calcula, independientemente de si una fila `overrides` la cubre. Por debajo de 1 es un descuento, por encima de 1 un marcado |

1195| `overrides` | mapa de ID de modelo a un objeto de tasa con `input`, `output`, `cacheRead` y `cacheWrite`, cada uno de 0 a 10000 | Las tasas USD por millón de tokens para ese modelo, las cuatro requeridas. `cacheWrite` cubre tanto escrituras de caché de cinco minutos como de una hora. Consulte [Qué modelos se aplica una fila de modelPricing](#which-models-a-modelpricing-row-applies-to) |1195| `overrides` | mapa de ID de modelo a un objeto de tasa con `input`, `output`, `cacheRead` y `cacheWrite`, cada uno de 0 a 10000 | Las tasas USD por millón de tokens para ese modelo, las cuatro requeridas. `cacheWrite` cubre tanto escrituras de caché de cinco minutos como de una hora. Consulte [Qué modelos se aplica una fila de modelPricing](#which-models-a-modelpricing-row-applies-to) |

1196 1196 


1535Cada fila muestra una forma de regla y lo que coincide.1535Cada fila muestra una forma de regla y lo que coincide.

1536 1536 

1537| Rule | What it matches |1537| Rule | What it matches |

1538| :----------------------------- | :------------------------------- |1538| :- | :- |

1539| `Bash` | Every Bash command |1539| `Bash` | Every Bash command |

1540| `Bash(npm run *)` | Commands starting with `npm run` |1540| `Bash(npm run *)` | Commands starting with `npm run` |

1541| `Read(./.env)` | Reads of the `.env` file |1541| `Read(./.env)` | Reads of the `.env` file |


1934Las rutas en `allowWrite`, `denyWrite`, `denyRead`, `allowRead` y [`credentials.files`](#sandbox-credentials-files) se resuelven por su prefijo:1934Las rutas en `allowWrite`, `denyWrite`, `denyRead`, `allowRead` y [`credentials.files`](#sandbox-credentials-files) se resuelven por su prefijo:

1935 1935 

1936| Prefijo | Significado | Ejemplo |1936| Prefijo | Significado | Ejemplo |

1937| :----------------- | :------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------- |1937| :- | :- | :- |

1938| `/` | Ruta absoluta desde la raíz del sistema de archivos | `/tmp/build` permanece `/tmp/build` |1938| `/` | Ruta absoluta desde la raíz del sistema de archivos | `/tmp/build` permanece `/tmp/build` |

1939| `~/` | Relativo al directorio de inicio | `~/.kube` se convierte en `$HOME/.kube` |1939| `~/` | Relativo al directorio de inicio | `~/.kube` se convierte en `$HOME/.kube` |

1940| `./` o sin prefijo | Relativo a la raíz del proyecto para configuración de proyecto, o a `~/.claude` para configuración de usuario | `./output` en `.claude/settings.json` se resuelve a `<project-root>/output` |1940| `./` o sin prefijo | Relativo a la raíz del proyecto para configuración de proyecto, o a `~/.claude` para configuración de usuario | `./output` en `.claude/settings.json` se resuelve a `<project-root>/output` |


2337Una entrada `mask` acepta estos campos opcionales. Sin `extract` o `decode`, Claude Code reemplaza todo el contenido del archivo con un centinela. En macOS con aislamiento del sistema de archivos activado, Claude Code aplica una entrada `mask` como `deny` antes de que se ejecute `extract` o `decode`; consulte [Mask credential files](/docs/es/sandboxing#mask-credential-files).2337Una entrada `mask` acepta estos campos opcionales. Sin `extract` o `decode`, Claude Code reemplaza todo el contenido del archivo con un centinela. En macOS con aislamiento del sistema de archivos activado, Claude Code aplica una entrada `mask` como `deny` antes de que se ejecute `extract` o `decode`; consulte [Mask credential files](/docs/es/sandboxing#mask-credential-files).

2338 2338 

2339| Campo | Tipo | Lo que hace |2339| Campo | Tipo | Lo que hace |

2340| :----------------- | :------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2340| :- | :- | :- |

2341| `extract` | string, una expresión regular con al menos un grupo de captura | Enmascare solo el texto capturado por el grupo 1 de cada coincidencia, para que el resto del archivo permanezca analizable. Con `decode` también establecido, Claude Code verifica cada captura como un JWT posible en lugar de reemplazarlo directamente. Requiere v2.1.221 o posterior |2341| `extract` | string, una expresión regular con al menos un grupo de captura | Enmascare solo el texto capturado por el grupo 1 de cada coincidencia, para que el resto del archivo permanezca analizable. Con `decode` también establecido, Claude Code verifica cada captura como un JWT posible en lugar de reemplazarlo directamente. Requiere v2.1.221 o posterior |

2342| `onExtractNoMatch` | `"warn"`, `"deny"` o `"error"`; predeterminado `"warn"` | Qué sucede cuando `extract` o `decode` no encuentra nada para enmascarar. `warn` deja el archivo legible tal como está dentro del sandbox, `deny` lo hace ilegible, y `error` detiene la configuración del sandbox hasta que corrija la configuración. Claude Code trata `deny` como `error` cuando el bloqueo de lectura no se aplicaría, porque [deshabilita el aislamiento del sistema de archivos](/docs/es/sandboxing#disable-filesystem-isolation) o una entrada [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) reabre la ruta. Requiere v2.1.221 o posterior; el caso `decode` requiere v2.1.224 o posterior |2342| `onExtractNoMatch` | `"warn"`, `"deny"` o `"error"`; predeterminado `"warn"` | Qué sucede cuando `extract` o `decode` no encuentra nada para enmascarar. `warn` deja el archivo legible tal como está dentro del sandbox, `deny` lo hace ilegible, y `error` detiene la configuración del sandbox hasta que corrija la configuración. Claude Code trata `deny` como `error` cuando el bloqueo de lectura no se aplicaría, porque [deshabilita el aislamiento del sistema de archivos](/docs/es/sandboxing#disable-filesystem-isolation) o una entrada [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) reabre la ruta. Requiere v2.1.221 o posterior; el caso `decode` requiere v2.1.224 o posterior |

2343| `decode` | la cadena `"jwt"` | Encuentre JSON Web Tokens (JWTs) en el archivo, con un patrón integrado o con `extract` cuando esté establecido, verifique cada candidato y reemplácelo con un token falso estructuralmente válido, para que el código dentro del sandbox que decodifica el token siga funcionando. Cuando ningún candidato se verifica, `onExtractNoMatch` rige el resultado. Requiere v2.1.224 o posterior |2343| `decode` | la cadena `"jwt"` | Encuentre JSON Web Tokens (JWTs) en el archivo, con un patrón integrado o con `extract` cuando esté establecido, verifique cada candidato y reemplácelo con un token falso estructuralmente válido, para que el código dentro del sandbox que decodifica el token siga funcionando. Cuando ningún candidato se verifica, `onExtractNoMatch` rige el resultado. Requiere v2.1.224 o posterior |


2412Una entrada `mask` acepta estos campos opcionales. Sin `extract` o `decode`, Claude Code reemplaza todo el valor con un centinela. `extract` y `decode` no se pueden combinar en la misma entrada.2412Una entrada `mask` acepta estos campos opcionales. Sin `extract` o `decode`, Claude Code reemplaza todo el valor con un centinela. `extract` y `decode` no se pueden combinar en la misma entrada.

2413 2413 

2414| Campo | Tipo | Lo que hace |2414| Campo | Tipo | Lo que hace |

2415| :----------------- | :------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2415| :- | :- | :- |

2416| `extract` | string, una expresión regular con al menos un grupo de captura | Enmascare solo el texto capturado por el grupo 1 de cada coincidencia, como la contraseña dentro de una cadena de conexión `DATABASE_URL`, para que el resto del valor permanezca analizable. Requiere v2.1.224 o posterior |2416| `extract` | string, una expresión regular con al menos un grupo de captura | Enmascare solo el texto capturado por el grupo 1 de cada coincidencia, como la contraseña dentro de una cadena de conexión `DATABASE_URL`, para que el resto del valor permanezca analizable. Requiere v2.1.224 o posterior |

2417| `onExtractNoMatch` | `"warn"`, `"deny"` o `"error"`; predeterminado `"warn"`. En una entrada con `decode`, solo se acepta `"warn"` | Qué sucede cuando `extract` no coincide con nada. `warn` pasa la variable sin enmascarar, `deny` la desestablece dentro del sandbox, y `error` detiene la configuración del sandbox hasta que corrija la configuración. Requiere v2.1.224 o posterior |2417| `onExtractNoMatch` | `"warn"`, `"deny"` o `"error"`; predeterminado `"warn"`. En una entrada con `decode`, solo se acepta `"warn"` | Qué sucede cuando `extract` no coincide con nada. `warn` pasa la variable sin enmascarar, `deny` la desestablece dentro del sandbox, y `error` detiene la configuración del sandbox hasta que corrija la configuración. Requiere v2.1.224 o posterior |

2418| `decode` | la cadena `"jwt"` | Verifique que todo el valor sea un JWT y reemplácelo con un token falso estructuralmente válido, para que el código dentro del sandbox que decodifica el token siga funcionando; el proxy sustituye todo el token real en la salida. Un valor que no se verifica pasa sin enmascarar con una advertencia. Requiere v2.1.224 o posterior |2418| `decode` | la cadena `"jwt"` | Verifique que todo el valor sea un JWT y reemplácelo con un token falso estructuralmente válido, para que el código dentro del sandbox que decodifica el token siga funcionando; el proxy sustituye todo el token real en la salida. Un valor que no se verifica pasa sin enmascarar con una advertencia. Requiere v2.1.224 o posterior |


3391El URL, la etiqueta y el recuento de insignias de cada entrada están limitados de la siguiente manera:3391El URL, la etiqueta y el recuento de insignias de cada entrada están limitados de la siguiente manera:

3392 3392 

3393| Restricción | Comportamiento |3393| Restricción | Comportamiento |

3394| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3394| :- | :- |

3395| Origen de URL | Los valores capturados se codifican en URL y el URL construido debe compartir el origen literal de la plantilla. Una captura puede rellenar un segmento de ruta o valor de consulta pero no puede cambiar a dónde apunta el enlace |3395| Origen de URL | Los valores capturados se codifican en URL y el URL construido debe compartir el origen literal de la plantilla. Una captura puede rellenar un segmento de ruta o valor de consulta pero no puede cambiar a dónde apunta el enlace |

3396| Longitud de URL | Los URLs construidos más largos que 2048 caracteres se descartan |3396| Longitud de URL | Los URLs construidos más largos que 2048 caracteres se descartan |

3397| Esquema de URL | Debe ser `https`, `http`, o un esquema de enlace profundo de editor o espacio de trabajo reconocido: `vscode`, `vscode-insiders`, `cursor`, `windsurf`, `zed`, `jetbrains`, `idea`, `slack`, `linear`, `notion`, `figma` |3397| Esquema de URL | Debe ser `https`, `http`, o un esquema de enlace profundo de editor o espacio de trabajo reconocido: `vscode`, `vscode-insiders`, `cursor`, `windsurf`, `zed`, `jetbrains`, `idea`, `slack`, `linear`, `notion`, `figma` |


3580Cada entrada `tips` es un string plano u objeto con estos campos:3580Cada entrada `tips` es un string plano u objeto con estos campos:

3581 3581 

3582| Campo | Requerido | Descripción |3582| Campo | Requerido | Descripción |

3583| :----------------- | :-------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3583| :- | :- | :- |

3584| `id` | Sí | Hasta 64 letras, dígitos, `.`, `_`, o `-`. Claude Code clave el historial de visualización del consejo en él, por lo que el enfriamiento del consejo sobrevive a la reordenación de la lista. De dos entradas con el mismo id, Claude Code usa la primera |3584| `id` | Sí | Hasta 64 letras, dígitos, `.`, `_`, o `-`. Claude Code clave el historial de visualización del consejo en él, por lo que el enfriamiento del consejo sobrevive a la reordenación de la lista. De dos entradas con el mismo id, Claude Code usa la primera |

3585| `text` | Sí | El consejo, una línea de hasta 500 caracteres. Claude Code elimina escapes ANSI y caracteres de control y colapsa espacios en blanco |3585| `text` | Sí | El consejo, una línea de hasta 500 caracteres. Claude Code elimina escapes ANSI y caracteres de control y colapsa espacios en blanco |

3586| `cooldownSessions` | No | Sesiones que Claude Code espera antes de mostrar el consejo nuevamente, `0` a `1000`, por defecto `0` |3586| `cooldownSessions` | No | Sesiones que Claude Code espera antes de mostrar el consejo nuevamente, `0` a `1000`, por defecto `0` |


4654Cada entrada a continuación muestra una entrada de lista de permitidos por tipo de fuente y los campos que acepta. La mayoría de los tipos coinciden exactamente; `hostPattern` y `pathPattern` coinciden por regex, y las entradas `github` pueden usar un [comodín de propietario](#owner-wildcards).4654Cada entrada a continuación muestra una entrada de lista de permitidos por tipo de fuente y los campos que acepta. La mayoría de los tipos coinciden exactamente; `hostPattern` y `pathPattern` coinciden por regex, y las entradas `github` pueden usar un [comodín de propietario](#owner-wildcards).

4655 4655 

4656| Source | Example entry | Fields |4656| Source | Example entry | Fields |

4657| :------------ | :------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------- |4657| :- | :- | :- |

4658| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` requerido; `ref` es una rama o etiqueta; `path` es un subdirectorio |4658| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` requerido; `ref` es una rama o etiqueta; `path` es un subdirectorio |

4659| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` requerido; `ref` y `path` como para `github` |4659| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` requerido; `ref` y `path` como para `github` |

4660| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` requerido; `headers` agrega encabezados HTTP para acceso autenticado |4660| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` requerido; `headers` agrega encabezados HTTP para acceso autenticado |


4699Las reglas de coincidencia difieren entre las dos configuraciones:4699Las reglas de coincidencia difieren entre las dos configuraciones:

4700 4700 

4701| Rule | `strictKnownMarketplaces` | `blockedMarketplaces` |4701| Rule | `strictKnownMarketplaces` | `blockedMarketplaces` |

4702| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |4702| - | - | - |

4703| Coincidencia de ortografías de fuente | Solo forma `owner/repo`. Una URL de git que clona el mismo repositorio no coincide | Cualquier ortografía, incluidas las URL de git que se resuelven en el mismo repositorio github.com |4703| Coincidencia de ortografías de fuente | Solo forma `owner/repo`. Una URL de git que clona el mismo repositorio no coincide | Cualquier ortografía, incluidas las URL de git que se resuelven en el mismo repositorio github.com |

4704| Caso del propietario | Sensible a mayúsculas y minúsculas, como coincidencia exacta de entrada | Insensible a mayúsculas y minúsculas |4704| Caso del propietario | Sensible a mayúsculas y minúsculas, como coincidencia exacta de entrada | Insensible a mayúsculas y minúsculas |

4705| `ref` | Sigue las reglas de coincidencia exacta de entrada: una entrada con una `ref` coincide solo con fuentes con esa ref exacta, y una entrada sin una coincide solo con fuentes que no especifican una ref | Una entrada sin una `ref` bloquea todas las refs de los repositorios que coincide |4705| `ref` | Sigue las reglas de coincidencia exacta de entrada: una entrada con una `ref` coincide solo con fuentes con esa ref exacta, y una entrada sin una coincide solo con fuentes que no especifican una ref | Una entrada sin una `ref` bloquea todas las refs de los repositorios que coincide |


4748Las dos claves hacen trabajos diferentes. Esta tabla las compara:4748Las dos claves hacen trabajos diferentes. Esta tabla las compara:

4749 4749 

4750| Aspect | `strictKnownMarketplaces` | `extraKnownMarketplaces` |4750| Aspect | `strictKnownMarketplaces` | `extraKnownMarketplaces` |

4751| ----------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |4751| - | - | - |

4752| Purpose | Aplicación de política organizacional | Conveniencia del equipo |4752| Purpose | Aplicación de política organizacional | Conveniencia del equipo |

4753| Settings file | Solo configuración administrada | Cualquier archivo de configuración |4753| Settings file | Solo configuración administrada | Cualquier archivo de configuración |

4754| Behavior | Bloquea adiciones no permitidas | Registra mercados faltantes |4754| Behavior | Bloquea adiciones no permitidas | Registra mercados faltantes |


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

6265 6265 

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

6267| :---------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |6267| :- | :- | :- |

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

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

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

setup.md +1 −1

Details

116Puede ejecutar Claude Code de forma nativa en Windows o dentro de WSL. Elija según dónde se encuentren sus proyectos y qué características necesite:116Puede ejecutar Claude Code de forma nativa en Windows o dentro de WSL. Elija según dónde se encuentren sus proyectos y qué características necesite:

117 117 

118| Opción | Requiere | [Sandboxing](/docs/es/sandboxing) | Cuándo usar |118| Opción | Requiere | [Sandboxing](/docs/es/sandboxing) | Cuándo usar |

119| -------------- | ------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------------------------------- |119| - | - | - | - |

120| Windows nativo | Ninguno; [Git for Windows](https://git-scm.com/downloads/win) es opcional | No compatible | Proyectos y herramientas nativas de Windows |120| Windows nativo | Ninguno; [Git for Windows](https://git-scm.com/downloads/win) es opcional | No compatible | Proyectos y herramientas nativas de Windows |

121| WSL 2 | WSL 2 habilitado | Compatible | Cadenas de herramientas de Linux o ejecución de comandos en sandbox |121| WSL 2 | WSL 2 habilitado | Compatible | Cadenas de herramientas de Linux o ejecución de comandos en sandbox |

122| WSL 1 | WSL 1 habilitado | No compatible | Si WSL 2 no está disponible |122| WSL 1 | WSL 1 habilitado | No compatible | Si WSL 2 no está disponible |

skills.md +10 −10

Details

43Tres skills incluidas funcionan juntas para lanzar su aplicación y confirmar cambios contra la aplicación en ejecución en lugar de solo pruebas:43Tres skills incluidas funcionan juntas para lanzar su aplicación y confirmar cambios contra la aplicación en ejecución en lugar de solo pruebas:

44 44 

45| Skill | Propósito |45| Skill | Propósito |

46| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |46| :- | :- |

47| `/run` | Inicie y maneje su aplicación para ver un cambio funcionando |47| `/run` | Inicie y maneje su aplicación para ver un cambio funcionando |

48| `/verify` | Compile y ejecute su aplicación para confirmar que un cambio de código hace lo que debería, sin recurrir a pruebas o comprobaciones de tipo |48| `/verify` | Compile y ejecute su aplicación para confirmar que un cambio de código hace lo que debería, sin recurrir a pruebas o comprobaciones de tipo |

49| `/run-skill-generator` | Enseñe a `/run` y `/verify` cómo compilar e iniciar su proyecto |49| `/run-skill-generator` | Enseñe a `/run` y `/verify` cómo compilar e iniciar su proyecto |


123Dónde guardes una skill decide qué sesiones la cargan. Guárdala en tu directorio de inicio para obtenerla en cada proyecto, confirma su cambio en un repositorio para compartirla con todos los que trabajan allí, o distribúyela a través de un plugin o configuración administrada para llegar a todo un equipo.123Dónde guardes una skill decide qué sesiones la cargan. Guárdala en tu directorio de inicio para obtenerla en cada proyecto, confirma su cambio en un repositorio para compartirla con todos los que trabajan allí, o distribúyela a través de un plugin o configuración administrada para llegar a todo un equipo.

124 124 

125| Ubicación | Ruta | Se carga en |125| Ubicación | Ruta | Se carga en |

126| :------------------- | :-------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |126| :- | :- | :- |

127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` en el [directorio de configuración administrada](/docs/es/managed-settings#delivery-mechanisms) | Todos los usuarios en máquinas donde tu organización la implementa |127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` en el [directorio de configuración administrada](/docs/es/managed-settings#delivery-mechanisms) | Todos los usuarios en máquinas donde tu organización la implementa |

128| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | Todos tus proyectos en esta máquina, pero no en [sesiones de Cowork o en la nube](#skills-in-cowork-and-cloud-sessions) |128| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | Todos tus proyectos en esta máquina, pero no en [sesiones de Cowork o en la nube](#skills-in-cowork-and-cloud-sessions) |

129| Proyecto | `.claude/skills/<skill-name>/SKILL.md` | Sesiones en este repositorio. Confirma su cambio para que tu equipo también la obtenga |129| Proyecto | `.claude/skills/<skill-name>/SKILL.md` | Sesiones en este repositorio. Confirma su cambio para que tu equipo también la obtenga |


171Cuando dos skills comparten un nombre, de dónde vino cada una decide cuál ejecuta `/name`. La tabla cubre las ubicaciones enterprise, personal, proyecto, anidada, plugin y claude.ai, skills agrupadas y archivos de comando:171Cuando dos skills comparten un nombre, de dónde vino cada una decide cuál ejecuta `/name`. La tabla cubre las ubicaciones enterprise, personal, proyecto, anidada, plugin y claude.ai, skills agrupadas y archivos de comando:

172 172 

173| Mismo nombre en | Cuál se ejecuta |173| Mismo nombre en | Cuál se ejecuta |

174| :-------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |174| :- | :- |

175| Dos de enterprise, personal y proyecto | Enterprise sobre personal, y personal sobre proyecto. Con `deploy` en ambos `~/.claude/skills/` y el `.claude/skills/` del proyecto, `/deploy` ejecuta la personal |175| Dos de enterprise, personal y proyecto | Enterprise sobre personal, y personal sobre proyecto. Con `deploy` en ambos `~/.claude/skills/` y el `.claude/skills/` del proyecto, `/deploy` ejecuta la personal |

176| Cualquiera de esas ubicaciones y una [skill agrupada](#bundled-skills) | Tu skill reemplaza el comando agrupado, pero no sus alias. Una skill `code-review` de proyecto reemplaza `/code-review`, y el alias agrupado `/review` nunca ejecuta tu skill |176| Cualquiera de esas ubicaciones y una [skill agrupada](#bundled-skills) | Tu skill reemplaza el comando agrupado, pero no sus alias. Una skill `code-review` de proyecto reemplaza `/code-review`, y el alias agrupado `/review` nunca ejecuta tu skill |

177| Una skill y un archivo en `.claude/commands/` | La skill |177| Una skill y un archivo en `.claude/commands/` | La skill |


359Los campos booleanos aceptan `yes`, `no`, `on`, `off`, `1` y `0` en cualquier caso de letra, además de `true` y `false`. Antes de v2.1.218, Claude Code reconocía solo `true` y `false`.359Los campos booleanos aceptan `yes`, `no`, `on`, `off`, `1` y `0` en cualquier caso de letra, además de `true` y `false`. Antes de v2.1.218, Claude Code reconocía solo `true` y `false`.

360 360 

361| Campo | Requerido | Descripción |361| Campo | Requerido | Descripción |

362| :------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |362| :- | :- | :- |

363| `name` | No | Nombre para mostrar en listados de skills. Por defecto es el nombre del directorio. Consulta [Cómo un skill obtiene su nombre de comando](#how-a-skill-gets-its-command-name) para ver cómo el campo interactúa con el nombre que escribes para invocar el skill. |363| `name` | No | Nombre para mostrar en listados de skills. Por defecto es el nombre del directorio. Consulta [Cómo un skill obtiene su nombre de comando](#how-a-skill-gets-its-command-name) para ver cómo el campo interactúa con el nombre que escribes para invocar el skill. |

364| `description` | Recomendado | Qué hace el skill y cuándo usarlo. Claude usa esto para decidir cuándo aplicar el skill. Si se omite, usa la primera línea no vacía del contenido markdown. Pon el caso de uso clave primero: el texto combinado de `description` y `when_to_use` se trunca en 1.536 caracteres en el listado de skills para reducir el uso de contexto. |364| `description` | Recomendado | Qué hace el skill y cuándo usarlo. Claude usa esto para decidir cuándo aplicar el skill. Si se omite, usa la primera línea no vacía del contenido markdown. Pon el caso de uso clave primero: el texto combinado de `description` y `when_to_use` se trunca en 1.536 caracteres en el listado de skills para reducir el uso de contexto. |

365| `when_to_use` | No | Contexto adicional para cuándo Claude debe invocar el skill, como frases desencadenantes o solicitudes de ejemplo. Se añade a `description` en el listado de skills y cuenta hacia el límite de 1.536 caracteres. |365| `when_to_use` | No | Contexto adicional para cuándo Claude debe invocar el skill, como frases desencadenantes o solicitudes de ejemplo. Se añade a `description` en el listado de skills y cuenta hacia el límite de 1.536 caracteres. |


388Claude Code acepta cada campo en la tabla anterior. Fuera de Claude Code, solo puedes usar los campos en la especificación [Agent Skills](https://agentskills.io):388Claude Code acepta cada campo en la tabla anterior. Fuera de Claude Code, solo puedes usar los campos en la especificación [Agent Skills](https://agentskills.io):

389 389 

390| Ruta de distribución | Campos de frontmatter que puedes usar |390| Ruta de distribución | Campos de frontmatter que puedes usar |

391| :---------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------- |391| :- | :- |

392| Skills de Claude Code en [cualquier nivel](#where-skills-live), incluidos skills de [plugin](/docs/es/plugins/overview) | Cada campo en la tabla anterior |392| Skills de Claude Code en [cualquier nivel](#where-skills-live), incluidos skills de [plugin](/docs/es/plugins/overview) | Cada campo en la tabla anterior |

393| Cargas de skills de claude.ai, la API de Skills y empaquetamiento con `package_skill.py` de [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |393| Cargas de skills de claude.ai, la API de Skills y empaquetamiento con `package_skill.py` de [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |

394 394 


411La tabla a continuación muestra de dónde proviene el nombre del comando para cada diseño:411La tabla a continuación muestra de dónde proviene el nombre del comando para cada diseño:

412 412 

413| Ubicación del skill | Fuente del nombre del comando | Ejemplo |413| Ubicación del skill | Fuente del nombre del comando | Ejemplo |

414| :------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------- |414| :- | :- | :- |

415| Directorio de skill bajo `~/.claude/skills/` o `.claude/skills/` | Nombre del directorio | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |415| Directorio de skill bajo `~/.claude/skills/` o `.claude/skills/` | Nombre del directorio | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |

416| Directorio [anidado](#where-skills-live) `.claude/skills/`, cuando el nombre choca con otro skill | Ruta del subdirectorio relativa al directorio de trabajo, luego el nombre del directorio de skill | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |416| Directorio [anidado](#where-skills-live) `.claude/skills/`, cuando el nombre choca con otro skill | Ruta del subdirectorio relativa al directorio de trabajo, luego el nombre del directorio de skill | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |

417| Archivo bajo `.claude/commands/` | Nombre del archivo sin extensión | `.claude/commands/deploy.md` → `/deploy` |417| Archivo bajo `.claude/commands/` | Nombre del archivo sin extensión | `.claude/commands/deploy.md` → `/deploy` |


433Los skills admiten sustitución de cadena para valores dinámicos en el contenido del skill:433Los skills admiten sustitución de cadena para valores dinámicos en el contenido del skill:

434 434 

435| Variable | Descripción |435| Variable | Descripción |

436| :---------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |436| :- | :- |

437| `$ARGUMENTS` | Todos los argumentos pasados al invocar el skill. Cuando ningún marcador de posición recibe un argumento, Claude Code los añade como `ARGUMENTS: <value>`. Consulta [Pasar argumentos a skills](#pass-arguments-to-skills). |437| `$ARGUMENTS` | Todos los argumentos pasados al invocar el skill. Cuando ningún marcador de posición recibe un argumento, Claude Code los añade como `ARGUMENTS: <value>`. Consulta [Pasar argumentos a skills](#pass-arguments-to-skills). |

438| `$ARGUMENTS[N]` | Accede a un argumento específico por índice basado en 0, como `$ARGUMENTS[0]` para el primer argumento. |438| `$ARGUMENTS[N]` | Accede a un argumento específico por índice basado en 0, como `$ARGUMENTS[0]` para el primer argumento. |

439| `$N` | Abreviatura para `$ARGUMENTS[N]`, como `$0` para el primer argumento o `$1` para el segundo. |439| `$N` | Abreviatura para `$ARGUMENTS[N]`, como `$0` para el primer argumento o `$1` para el segundo. |


540Aquí está cómo los dos campos afectan la invocación y la carga de contexto:540Aquí está cómo los dos campos afectan la invocación y la carga de contexto:

541 541 

542| Frontmatter | Puedes invocar | Claude puede invocar | Cuándo se carga en contexto |542| Frontmatter | Puedes invocar | Claude puede invocar | Cuándo se carga en contexto |

543| :------------------------------- | :------------- | :------------------- | :------------------------------------------------------------------------ |543| :- | :- | :- | :- |

544| (por defecto) | Sí | Sí | Descripción siempre en contexto, skill completo se carga cuando se invoca |544| (por defecto) | Sí | Sí | Descripción siempre en contexto, skill completo se carga cuando se invoca |

545| `disable-model-invocation: true` | Sí | No | Descripción no en contexto, skill completo se carga cuando lo invocas |545| `disable-model-invocation: true` | Sí | No | Descripción no en contexto, skill completo se carga cuando lo invocas |

546| `user-invocable: false` | No | Sí | Descripción siempre en contexto, skill completo se carga cuando se invoca |546| `user-invocable: false` | No | Sí | Descripción siempre en contexto, skill completo se carga cuando se invoca |


764Las skills y los [subagentes](/docs/es/sub-agents) funcionan juntos en dos direcciones:764Las skills y los [subagentes](/docs/es/sub-agents) funcionan juntos en dos direcciones:

765 765 

766| Enfoque | Prompt del sistema | Tarea | También carga |766| Enfoque | Prompt del sistema | Tarea | También carga |

767| :--------------------------- | :---------------------------- | :------------------------------ | :--------------------------------------------------------------------------------------------------------- |767| :- | :- | :- | :- |

768| Skill con `context: fork` | Del tipo de agente | Contenido de SKILL.md | CLAUDE.md, per the agent's [startup context](/docs/es/sub-agents#what-loads-at-startup) |768| Skill con `context: fork` | Del tipo de agente | Contenido de SKILL.md | CLAUDE.md, per the agent's [startup context](/docs/es/sub-agents#what-loads-at-startup) |

769| Subagente con campo `skills` | Cuerpo markdown del subagente | Mensaje de delegación de Claude | Skills precargadas + CLAUDE.md, per the subagent's [startup context](/docs/es/sub-agents#what-loads-at-startup) |769| Subagente con campo `skills` | Cuerpo markdown del subagente | Mensaje de delegación de Claude | Skills precargadas + CLAUDE.md, per the subagent's [startup context](/docs/es/sub-agents#what-loads-at-startup) |

770 770 


847Cada clave es un nombre de skill y cada valor es uno de cuatro estados:847Cada clave es un nombre de skill y cada valor es uno de cuatro estados:

848 848 

849| Valor | Listado a Claude | En menú `/` |849| Valor | Listado a Claude | En menú `/` |

850| :---------------------- | :------------------- | :---------- |850| :- | :- | :- |

851| `"on"` | Nombre y descripción | Sí |851| `"on"` | Nombre y descripción | Sí |

852| `"name-only"` | Solo nombre | Sí |852| `"name-only"` | Solo nombre | Sí |

853| `"user-invocable-only"` | Oculto | Sí |853| `"user-invocable-only"` | Oculto | Sí |

slack.md +4 −4

Details

33Antes de usar Claude Code en Slack, asegúrese de tener lo siguiente:33Antes de usar Claude Code en Slack, asegúrese de tener lo siguiente:

34 34 

35| Requisito | Detalles |35| Requisito | Detalles |

36| :--------------------- | :---------------------------------------------------------------------------------------------------- |36| :- | :- |

37| Plan de Claude | Pro, Max, Team o Enterprise con acceso a Claude Code (asientos premium o asientos Chat + Claude Code) |37| Plan de Claude | Pro, Max, Team o Enterprise con acceso a Claude Code (asientos premium o asientos Chat + Claude Code) |

38| Sesiones en la nube | Las [sesiones en la nube](/docs/es/claude-code-on-the-web) están habilitadas para su cuenta |38| Sesiones en la nube | Las [sesiones en la nube](/docs/es/claude-code-on-the-web) están habilitadas para su cuenta |

39| Cuenta de GitHub | Conectada en [claude.ai/code](https://claude.ai/code) con al menos un repositorio autenticado |39| Cuenta de GitHub | Conectada en [claude.ai/code](https://claude.ai/code) con al menos un repositorio autenticado |


69 Después de conectar tus cuentas, configura cómo Claude maneja tus mensajes en Slack. Abre la App Home de Claude en Slack para encontrar la configuración de **Routing Mode**.69 Después de conectar tus cuentas, configura cómo Claude maneja tus mensajes en Slack. Abre la App Home de Claude en Slack para encontrar la configuración de **Routing Mode**.

70 70 

71 | Modo | Comportamiento |71 | Modo | Comportamiento |

72 | :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |72 | :- | :- |

73 | **Code only** | Claude enruta todas las @menciones a sesiones de Claude Code. Mejor para equipos que usan Claude en Slack exclusivamente para tareas de desarrollo. |73 | **Code only** | Claude enruta todas las @menciones a sesiones de Claude Code. Mejor para equipos que usan Claude en Slack exclusivamente para tareas de desarrollo. |

74 | **Code + Chat** | Claude analiza cada mensaje y enruta inteligentemente entre Claude Code (para tareas de codificación) y Claude Chat (para escritura, análisis y preguntas generales). Mejor para equipos que quieren un único punto de entrada @Claude para todos los tipos de trabajo. |74 | **Code + Chat** | Claude analiza cada mensaje y enruta inteligentemente entre Claude Code (para tareas de codificación) y Claude Chat (para escritura, análisis y preguntas generales). Mejor para equipos que quieren un único punto de entrada @Claude para todos los tipos de trabajo. |

75 75 


152</h3>152</h3>

153 153 

154| Tipo de acceso | Requisito |154| Tipo de acceso | Requisito |

155| :------------------------- | :------------------------------------------------------------------------------ |155| :- | :- |

156| Sesiones de Claude Code | Cada usuario ejecuta sesiones bajo su propia cuenta de Claude |156| Sesiones de Claude Code | Cada usuario ejecuta sesiones bajo su propia cuenta de Claude |

157| Uso y límites de velocidad | Las sesiones cuentan contra los límites del plan del usuario individual |157| Uso y límites de velocidad | Las sesiones cuentan contra los límites del plan del usuario individual |

158| Acceso al repositorio | Los usuarios solo pueden acceder a repositorios que han conectado personalmente |158| Acceso al repositorio | Los usuarios solo pueden acceder a repositorios que han conectado personalmente |


165Los administradores del espacio de trabajo de Slack controlan si la aplicación Claude está disponible en su espacio de trabajo:165Los administradores del espacio de trabajo de Slack controlan si la aplicación Claude está disponible en su espacio de trabajo:

166 166 

167| Control | Descripción |167| Control | Descripción |

168| :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |168| :- | :- |

169| Instalación de la aplicación | Los administradores del espacio de trabajo deciden si instalar la aplicación Claude desde el Slack App Marketplace |169| Instalación de la aplicación | Los administradores del espacio de trabajo deciden si instalar la aplicación Claude desde el Slack App Marketplace |

170| Distribución de Enterprise Grid | Para organizaciones de Enterprise Grid, los administradores de la organización pueden controlar qué espacios de trabajo tienen acceso a la aplicación Claude |170| Distribución de Enterprise Grid | Para organizaciones de Enterprise Grid, los administradores de la organización pueden controlar qué espacios de trabajo tienen acceso a la aplicación Claude |

171| Eliminación de la aplicación | Eliminar la aplicación de un espacio de trabajo revoca inmediatamente el acceso para todos los usuarios en ese espacio de trabajo |171| Eliminación de la aplicación | Eliminar la aplicación de un espacio de trabajo revoca inmediatamente el acceso para todos los usuarios en ese espacio de trabajo |

statusline.md +2 −2

Details

184Claude Code envía los siguientes campos JSON a tu script a través de stdin:184Claude Code envía los siguientes campos JSON a tu script a través de stdin:

185 185 

186| Campo | Descripción |186| Campo | Descripción |

187| -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |187| - | - |

188| `model.id`, `model.display_name` | Identificador del modelo actual y nombre para mostrar |188| `model.id`, `model.display_name` | Identificador del modelo actual y nombre para mostrar |

189| `cwd`, `workspace.current_dir` | Directorio de trabajo actual. Ambos campos contienen el mismo valor; `workspace.current_dir` es preferido para consistencia con `workspace.project_dir`. |189| `cwd`, `workspace.current_dir` | Directorio de trabajo actual. Ambos campos contienen el mismo valor; `workspace.current_dir` es preferido para consistencia con `workspace.project_dir`. |

190| `workspace.project_dir` | Directorio donde se lanzó Claude Code, que puede diferir de `cwd` si el directorio de trabajo cambia durante una sesión |190| `workspace.project_dir` | Directorio donde se lanzó Claude Code, que puede diferir de `cwd` si el directorio de trabajo cambia durante una sesión |


396La tabla enumera cada campo con su significado. Las marcas de tiempo son segundos de época Unix, la misma unidad que `rate_limits.*.resets_at`. Una línea de estado corta generalmente muestra uno o dos de estos; `warm` y `hit_ratio` resumen el estado del caché más directamente.396La tabla enumera cada campo con su significado. Las marcas de tiempo son segundos de época Unix, la misma unidad que `rate_limits.*.resets_at`. Una línea de estado corta generalmente muestra uno o dos de estos; `warm` y `hit_ratio` resumen el estado del caché más directamente.

397 397 

398| Campo | Descripción |398| Campo | Descripción |

399| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |399| - | - |

400| `warm` | Si el prefijo en caché aún está dentro de su TTL. `false` cuando la última respuesta no reportó tokens de caché, incluso mientras `caching_observed` es `true` |400| `warm` | Si el prefijo en caché aún está dentro de su TTL. `false` cuando la última respuesta no reportó tokens de caché, incluso mientras `caching_observed` es `true` |

401| `caching_observed` | Si alguna respuesta esta sesión reportó tokens de caché. `false` significa que el prompt caching está desactivado, o tu proveedor o puerta de enlace no lo reporta |401| `caching_observed` | Si alguna respuesta esta sesión reportó tokens de caché. `false` significa que el prompt caching está desactivado, o tu proveedor o puerta de enlace no lo reporta |

402| `ttl` | [Vida útil del caché](/docs/es/prompt-caching#cache-lifetime) del prefijo en caché actual: `"5m"` o `"1h"` |402| `ttl` | [Vida útil del caché](/docs/es/prompt-caching#cache-lifetime) del prefijo en caché actual: `"5m"` o `"1h"` |

sub-agents.md +9 −9

Details

75 Claude Code incluye agentes auxiliares adicionales para tareas específicas. Estos se invocan típicamente automáticamente, por lo que no necesita usarlos directamente.75 Claude Code incluye agentes auxiliares adicionales para tareas específicas. Estos se invocan típicamente automáticamente, por lo que no necesita usarlos directamente.

76 76 

77 | Agente | Modelo | Cuándo Claude lo utiliza |77 | Agente | Modelo | Cuándo Claude lo utiliza |

78 | :---------------- | :------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |78 | :- | :- | :- |

79 | claude | Ninguno propio; sigue el [orden de modelo](#choose-a-model) cuando Claude lo genera como subagente | Cuando una tarea no se ajusta a un agente más especializado. Un comodín con todas las herramientas [disponibles para subagentes](#available-tools). También el agente predeterminado para una [sesión de fondo](/docs/es/agent-view) despachada; [qué modo de permiso inicia](/docs/es/agent-view#permission-mode-model-and-effort) depende de cómo se inició la sesión |79 | claude | Ninguno propio; sigue el [orden de modelo](#choose-a-model) cuando Claude lo genera como subagente | Cuando una tarea no se ajusta a un agente más especializado. Un comodín con todas las herramientas [disponibles para subagentes](#available-tools). También el agente predeterminado para una [sesión de fondo](/docs/es/agent-view) despachada; [qué modo de permiso inicia](/docs/es/agent-view#permission-mode-model-and-effort) depende de cómo se inició la sesión |

80 | statusline-setup | Sonnet | Cuando ejecuta `/statusline` para configurar su línea de estado |80 | statusline-setup | Sonnet | Cuando ejecuta `/statusline` para configurar su línea de estado |

81 | claude-code-guide | Haiku | Cuando hace preguntas sobre características de Claude Code |81 | claude-code-guide | Haiku | Cuando hace preguntas sobre características de Claude Code |


169Almacene archivos de subagentes en diferentes ubicaciones según el alcance. Cuando múltiples subagentes comparten el mismo nombre, Claude Code usa el de la ubicación de mayor prioridad.169Almacene archivos de subagentes en diferentes ubicaciones según el alcance. Cuando múltiples subagentes comparten el mismo nombre, Claude Code usa el de la ubicación de mayor prioridad.

170 170 

171| Ubicación | Alcance | Prioridad | Cómo crear |171| Ubicación | Alcance | Prioridad | Cómo crear |

172| :------------------------------ | :------------------------------ | :----------- | :------------------------------------------------------------------ |172| :- | :- | :- | :- |

173| Configuración administrada | Toda la organización | 1 (más alta) | Implementado a través de [configuración administrada](/docs/es/settings) |173| Configuración administrada | Toda la organización | 1 (más alta) | Implementado a través de [configuración administrada](/docs/es/settings) |

174| Bandera CLI `--agents` | Sesión actual | 2 | Pasar JSON al lanzar Claude Code |174| Bandera CLI `--agents` | Sesión actual | 2 | Pasar JSON al lanzar Claude Code |

175| `.claude/agents/` | Proyecto actual | 3 | Pedir a Claude, o crear el archivo manualmente |175| `.claude/agents/` | Proyecto actual | 3 | Pedir a Claude, o crear el archivo manualmente |


304Los nombres de campo de varias palabras usan camelCase, como `maxTurns` y `disallowedTools`, y deben coincidir exactamente con la tabla: Claude Code ignora un campo que no reconoce sin reportar un error. Para averiguar por qué un archivo de subagente no se cargó, consulte [Archivos de subagente que Claude Code omite](#subagent-files-claude-code-skips).304Los nombres de campo de varias palabras usan camelCase, como `maxTurns` y `disallowedTools`, y deben coincidir exactamente con la tabla: Claude Code ignora un campo que no reconoce sin reportar un error. Para averiguar por qué un archivo de subagente no se cargó, consulte [Archivos de subagente que Claude Code omite](#subagent-files-claude-code-skips).

305 305 

306| Campo | Requerido | Descripción |306| Campo | Requerido | Descripción |

307| :---------------- | :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |307| :- | :- | :- |

308| `name` | Sí | Identificador único, como `code-reviewer` o `reviewer-v2`. [Hooks](/docs/es/hooks#subagentstart) reciben este valor como `agent_type`. El nombre del archivo no tiene que coincidir. Los nombres no pueden contener `:`, que está reservado para [identificadores con alcance de plugin](/docs/es/plugins/overview) como `my-plugin:reviewer`. Claude Code no carga un archivo cuyo nombre contiene uno y registra un error en el registro de depuración. Antes de v2.1.218, tales nombres fueron aceptados |308| `name` | Sí | Identificador único, como `code-reviewer` o `reviewer-v2`. [Hooks](/docs/es/hooks#subagentstart) reciben este valor como `agent_type`. El nombre del archivo no tiene que coincidir. Los nombres no pueden contener `:`, que está reservado para [identificadores con alcance de plugin](/docs/es/plugins/overview) como `my-plugin:reviewer`. Claude Code no carga un archivo cuyo nombre contiene uno y registra un error en el registro de depuración. Antes de v2.1.218, tales nombres fueron aceptados |

309| `description` | Sí | Cuándo Claude debe delegar en este subagente |309| `description` | Sí | Cuándo Claude debe delegar en este subagente |

310| `tools` | No | [Herramientas](#available-tools) que el subagente puede usar, como una cadena separada por comas como `Read, Grep, Bash` o una lista YAML. Hereda todas las herramientas disponibles para subagentes si se omite. Si ninguna entrada en la lista se resuelve a una herramienta, el subagente generalmente [falla al lanzarse](/docs/es/errors#agent-would-be-spawned-with-zero-tools) con un error nombrando las entradas. Para precargar Skills en el contexto, use el campo `skills` en lugar de listar `Skill` aquí |310| `tools` | No | [Herramientas](#available-tools) que el subagente puede usar, como una cadena separada por comas como `Read, Grep, Bash` o una lista YAML. Hereda todas las herramientas disponibles para subagentes si se omite. Si ninguna entrada en la lista se resuelve a una herramienta, el subagente generalmente [falla al lanzarse](/docs/es/errors#agent-would-be-spawned-with-zero-tools) con un error nombrando las entradas. Para precargar Skills en el contexto, use el campo `skills` en lugar de listar `Skill` aquí |


597`permissionMode` acepta estos valores, y `manual` como alias para `default`:597`permissionMode` acepta estos valores, y `manual` como alias para `default`:

598 598 

599| Modo | Comportamiento |599| Modo | Comportamiento |

600| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |600| :- | :- |

601| `default` | Modo Manual: solicita permiso |601| `default` | Modo Manual: solicita permiso |

602| `acceptEdits` | Aceptar automáticamente ediciones de archivo y comandos comunes del sistema de archivos para rutas en el directorio de trabajo o `additionalDirectories` |602| `acceptEdits` | Aceptar automáticamente ediciones de archivo y comandos comunes del sistema de archivos para rutas en el directorio de trabajo o `additionalDirectories` |

603| `auto` | [Modo auto](/docs/es/permission-modes#eliminate-prompts-with-auto-mode): un clasificador de fondo revisa comandos y escrituras de directorio protegido |603| `auto` | [Modo auto](/docs/es/permission-modes#eliminate-prompts-with-auto-mode): un clasificador de fondo revisa comandos y escrituras de directorio protegido |


653Elija un alcance basado en qué tan ampliamente debe aplicarse la memoria:653Elija un alcance basado en qué tan ampliamente debe aplicarse la memoria:

654 654 

655| Alcance | Ubicación | Usar cuando |655| Alcance | Ubicación | Usar cuando |

656| :-------- | :-------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |656| :- | :- | :- |

657| `user` | `~/.claude/agent-memory/<name-of-agent>/` | el subagente debe recordar aprendizajes en todos los proyectos |657| `user` | `~/.claude/agent-memory/<name-of-agent>/` | el subagente debe recordar aprendizajes en todos los proyectos |

658| `project` | `.claude/agent-memory/<name-of-agent>/` | el conocimiento del subagente es específico del proyecto y compartible a través de control de versiones |658| `project` | `.claude/agent-memory/<name-of-agent>/` | el conocimiento del subagente es específico del proyecto y compartible a través de control de versiones |

659| `local` | `.claude/agent-memory-local/<name-of-agent>/` | el conocimiento del subagente es específico del proyecto pero no debe ser verificado en control de versiones |659| `local` | `.claude/agent-memory-local/<name-of-agent>/` | el conocimiento del subagente es específico del proyecto pero no debe ser verificado en control de versiones |


782Se soportan todos los [eventos de hook](/docs/es/hooks#hook-events). Los eventos más comunes para subagentes son:782Se soportan todos los [eventos de hook](/docs/es/hooks#hook-events). Los eventos más comunes para subagentes son:

783 783 

784| Evento | Entrada del matcher | Cuándo se dispara |784| Evento | Entrada del matcher | Cuándo se dispara |

785| :------------ | :-------------------- | :------------------------------------------------------------------------------- |785| :- | :- | :- |

786| `PreToolUse` | Nombre de herramienta | Antes de que el subagente use una herramienta |786| `PreToolUse` | Nombre de herramienta | Antes de que el subagente use una herramienta |

787| `PostToolUse` | Nombre de herramienta | Después de que el subagente usa una herramienta |787| `PostToolUse` | Nombre de herramienta | Después de que el subagente usa una herramienta |

788| `Stop` | (ninguno) | Cuando el subagente termina (convertido a `SubagentStop` en tiempo de ejecución) |788| `Stop` | (ninguno) | Cuando el subagente termina (convertido a `SubagentStop` en tiempo de ejecución) |


816Configure hooks en `settings.json` que respondan a eventos de ciclo de vida de subagentes en la sesión principal.816Configure hooks en `settings.json` que respondan a eventos de ciclo de vida de subagentes en la sesión principal.

817 817 

818| Evento | Entrada del matcher | Cuándo se dispara |818| Evento | Entrada del matcher | Cuándo se dispara |

819| :-------------- | :----------------------- | :---------------------------------------- |819| :- | :- | :- |

820| `SubagentStart` | Nombre de tipo de agente | Cuando un subagente comienza la ejecución |820| `SubagentStart` | Nombre de tipo de agente | Cuando un subagente comienza la ejecución |

821| `SubagentStop` | Nombre de tipo de agente | Cuando un subagente se completa |821| `SubagentStop` | Nombre de tipo de agente | Cuando un subagente se completa |

822 822 


1247Use estas teclas para interactuar con el panel:1247Use estas teclas para interactuar con el panel:

1248 1248 

1249| Tecla | Acción |1249| Tecla | Acción |

1250| :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1250| :- | :- |

1251| `↑` / `↓` | Moverse entre filas |1251| `↑` / `↓` | Moverse entre filas |

1252| `Enter` | Abrir la transcripción del fork seleccionado y enviarle mensajes de seguimiento |1252| `Enter` | Abrir la transcripción del fork seleccionado y enviarle mensajes de seguimiento |

1253| `x` | Detener el fork seleccionado si se está ejecutando, o descartar su fila si ya no se está ejecutando. En la fila de la sesión principal, o en la fila del fork cuya transcripción abrió con `Enter`, `x` escribe en la solicitud en su lugar |1253| `x` | Detener el fork seleccionado si se está ejecutando, o descartar su fila si ya no se está ejecutando. En la fila de la sesión principal, o en la fila del fork cuya transcripción abrió con `Enter`, `x` escribe en la solicitud en su lugar |


1262Un fork hereda todo lo que la sesión principal tiene en el momento en que se genera. Cualquier otro subagente comienza desde cero a partir de su definición.1262Un fork hereda todo lo que la sesión principal tiene en el momento en que se genera. Cualquier otro subagente comienza desde cero a partir de su definición.

1263 1263 

1264| | Fork | Subagente que no es fork |1264| | Fork | Subagente que no es fork |

1265| :--------------------------------- | :-------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |1265| :- | :- | :- |

1266| Contexto | Historial de conversación completo | Contexto fresco con la solicitud que pasa |1266| Contexto | Historial de conversación completo | Contexto fresco con la solicitud que pasa |

1267| Mensaje del sistema y herramientas | Igual que la sesión principal | Del [archivo de definición](#write-subagent-files) del subagente, [filtrado para ejecuciones de fondo](#available-tools) |1267| Mensaje del sistema y herramientas | Igual que la sesión principal | Del [archivo de definición](#write-subagent-files) del subagente, [filtrado para ejecuciones de fondo](#available-tools) |

1268| Modelo | Igual que la sesión principal | Del campo `model` del subagente |1268| Modelo | Igual que la sesión principal | Del campo `model` del subagente |

Details

27En la mayoría de las terminales también puede presionar Mayús+Enter, pero la compatibilidad varía según el emulador de terminal:27En la mayoría de las terminales también puede presionar Mayús+Enter, pero la compatibilidad varía según el emulador de terminal:

28 28 

29| Terminal | Mayús+Enter para nueva línea |29| Terminal | Mayús+Enter para nueva línea |

30| :------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- |30| :- | :- |

31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funciona sin configuración |31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funciona sin configuración |

32| Otras terminales que admiten el protocolo de teclado kitty, como foot y Alacritty 0.16 o posterior | Funciona sin configuración. Requiere Claude Code v2.1.269 o posterior |32| Otras terminales que admiten el protocolo de teclado kitty, como foot y Alacritty 0.16 o posterior | Funciona sin configuración. Requiere Claude Code v2.1.269 o posterior |

33| VS Code, Cursor, Devin Desktop, Alacritty anterior a 0.16, Zed | Ejecute `/terminal-setup` una vez |33| VS Code, Cursor, Devin Desktop, Alacritty anterior a 0.16, Zed | Ejecute `/terminal-setup` una vez |


161Cada tema personalizado es un archivo JSON en `~/.claude/themes/`. El nombre de archivo sin la extensión `.json` es el slug del tema, y seleccionar el tema almacena `custom:<slug>` como su preferencia de tema. El archivo tiene tres campos opcionales:161Cada tema personalizado es un archivo JSON en `~/.claude/themes/`. El nombre de archivo sin la extensión `.json` es el slug del tema, y seleccionar el tema almacena `custom:<slug>` como su preferencia de tema. El archivo tiene tres campos opcionales:

162 162 

163| Campo | Tipo | Descripción |163| Campo | Tipo | Descripción |

164| :---------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |164| :- | :- | :- |

165| `name` | string | Etiqueta de visualización mostrada en `/theme`. Por defecto es el slug del nombre de archivo |165| `name` | string | Etiqueta de visualización mostrada en `/theme`. Por defecto es el slug del nombre de archivo |

166| `base` | string | Ajuste preestablecido integrado desde el que comienza el tema: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, o `light-ansi`. Por defecto es `dark` |166| `base` | string | Ajuste preestablecido integrado desde el que comienza el tema: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, o `light-ansi`. Por defecto es `dark` |

167| `overrides` | object | Mapa de nombres de tokens de color a valores de color. Los tokens no enumerados aquí se heredan del ajuste preestablecido base |167| `overrides` | object | Mapa de nombres de tokens de color a valores de color. Los tokens no enumerados aquí se heredan del ajuste preestablecido base |


210 Controle el acento de marca principal y los matices de texto de primer plano utilizados en toda la interfaz.210 Controle el acento de marca principal y los matices de texto de primer plano utilizados en toda la interfaz.

211 211 

212 | Token | Controla |212 | Token | Controla |

213 | :------------ | :------------------------------------------------------------------------------- |213 | :- | :- |

214 | `claude` | Acento de marca principal, utilizado para el spinner y la etiqueta del asistente |214 | `claude` | Acento de marca principal, utilizado para el spinner y la etiqueta del asistente |

215 | `text` | Texto de primer plano predeterminado |215 | `text` | Texto de primer plano predeterminado |

216 | `inverseText` | Texto dibujado sobre un fondo de color, como insignias de estado |216 | `inverseText` | Texto dibujado sobre un fondo de color, como insignias de estado |


227 Señale estados de éxito, fallo y advertencia en mensajes e indicadores.227 Señale estados de éxito, fallo y advertencia en mensajes e indicadores.

228 228 

229 | Token | Controla |229 | Token | Controla |

230 | :-------- | :---------------------------------------------------------------------- |230 | :- | :- |

231 | `success` | Mensajes de éxito y comprobaciones aprobadas |231 | `success` | Mensajes de éxito y comprobaciones aprobadas |

232 | `error` | Mensajes de error y fallos |232 | `error` | Mensajes de error y fallos |

233 | `warning` | Advertencias, mensajes de precaución y el indicador del modo automático |233 | `warning` | Advertencias, mensajes de precaución y el indicador del modo automático |


240 Establezca el color del borde del cuadro de entrada y el acento mostrado mientras un modo de permiso o indicador está activo.240 Establezca el color del borde del cuadro de entrada y el acento mostrado mientras un modo de permiso o indicador está activo.

241 241 

242 | Token | Controla |242 | Token | Controla |

243 | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |243 | :- | :- |

244 | `promptBorder` | Borde del cuadro de entrada |244 | `promptBorder` | Borde del cuadro de entrada |

245 | `planMode` | Acento del modo de plan, mensajes del modo de plan y diálogos del modo de plan |245 | `planMode` | Acento del modo de plan, mensajes del modo de plan y diálogos del modo de plan |

246 | `autoAccept` | Acento del modo de aceptación de ediciones |246 | `autoAccept` | Acento del modo de aceptación de ediciones |


256 Coloree el código agregado y eliminado en ediciones y revisiones de archivos.256 Coloree el código agregado y eliminado en ediciones y revisiones de archivos.

257 257 

258 | Token | Controla |258 | Token | Controla |

259 | :------------------ | :-------------------------------------------------------------------------------------- |259 | :- | :- |

260 | `diffAdded` | Fondo de líneas agregadas |260 | `diffAdded` | Fondo de líneas agregadas |

261 | `diffRemoved` | Fondo de líneas eliminadas |261 | `diffRemoved` | Fondo de líneas eliminadas |

262 | `diffAddedDimmed` | Fondo de líneas agregadas en el diff atenuado mostrado después de rechazar una edición |262 | `diffAddedDimmed` | Fondo de líneas agregadas en el diff atenuado mostrado después de rechazar una edición |


271 Claude Code pinta `userMessageBackground`, `bashMessageBackgroundColor` y `memoryBackgroundColor` en los renderizadores predeterminado y de pantalla completa. Utiliza `userMessageBackgroundHover` y `selectionBg` solo en [modo de representación de pantalla completa](/docs/es/fullscreen).271 Claude Code pinta `userMessageBackground`, `bashMessageBackgroundColor` y `memoryBackgroundColor` en los renderizadores predeterminado y de pantalla completa. Utiliza `userMessageBackgroundHover` y `selectionBg` solo en [modo de representación de pantalla completa](/docs/es/fullscreen).

272 272 

273 | Token | Controla |273 | Token | Controla |

274 | :--------------------------- | :------------------------------------------------------------------- |274 | :- | :- |

275 | `userMessageBackground` | Fondo detrás de sus mensajes en la transcripción |275 | `userMessageBackground` | Fondo detrás de sus mensajes en la transcripción |

276 | `userMessageBackgroundHover` | Fondo detrás de un mensaje mientras se desplaza o se expande |276 | `userMessageBackgroundHover` | Fondo detrás de un mensaje mientras se desplaza o se expande |

277 | `bashMessageBackgroundColor` | Fondo detrás de entradas de comando de shell `!` en la transcripción |277 | `bashMessageBackgroundColor` | Fondo detrás de entradas de comando de shell `!` en la transcripción |


285 Ajuste la barra mostrada en la vista `/usage` y las etiquetas que distinguen sus mensajes de los de Claude.285 Ajuste la barra mostrada en la vista `/usage` y las etiquetas que distinguen sus mensajes de los de Claude.

286 286 

287 | Token | Controla |287 | Token | Controla |

288 | :----------------- | :------------------------------------------------------ |288 | :- | :- |

289 | `rate_limit_fill` | Porción llena del medidor de uso |289 | `rate_limit_fill` | Porción llena del medidor de uso |

290 | `rate_limit_empty` | Porción no llena del medidor de uso |290 | `rate_limit_empty` | Porción no llena del medidor de uso |

291 | `briefLabelYou` | Color de la etiqueta `You` en sus mensajes |291 | `briefLabelYou` | Color de la etiqueta `You` en sus mensajes |

Details

17</Info>17</Info>

18 18 

19| Herramienta | Descripción | Permiso requerido |19| Herramienta | Descripción | Permiso requerido |

20| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------- |20| :- | :- | :- |

21| `Agent` | Genera un [subagente](/docs/es/sub-agents) con su propia ventana de contexto para manejar una tarea. Con [equipos de agentes](/docs/es/agent-teams) habilitados, una llamada que lleve un `name` puede lanzar un [compañero de equipo](/docs/es/agent-teams#how-claude-starts-agent-teams) en su lugar. Consulta [Comportamiento de la herramienta Agent](#agent-tool-behavior) | No |21| `Agent` | Genera un [subagente](/docs/es/sub-agents) con su propia ventana de contexto para manejar una tarea. Con [equipos de agentes](/docs/es/agent-teams) habilitados, una llamada que lleve un `name` puede lanzar un [compañero de equipo](/docs/es/agent-teams#how-claude-starts-agent-teams) en su lugar. Consulta [Comportamiento de la herramienta Agent](#agent-tool-behavior) | No |

22| `Artifact` | Publica un archivo HTML o Markdown como un [artefacto](/docs/es/artifacts): una página privada e interactiva en claude.ai. Puedes compartirlo con un enlace público, o dentro de tu organización en los planes Team y Enterprise, donde el uso compartido público requiere que un Propietario lo [habilite](/docs/es/artifacts#control-public-sharing). Requiere un plan Pro, Max, Team o Enterprise y autenticación `/login`; consulta [Disponibilidad](/docs/es/artifacts#availability) | Sí |22| `Artifact` | Publica un archivo HTML o Markdown como un [artefacto](/docs/es/artifacts): una página privada e interactiva en claude.ai. Puedes compartirlo con un enlace público, o dentro de tu organización en los planes Team y Enterprise, donde el uso compartido público requiere que un Propietario lo [habilite](/docs/es/artifacts#control-public-sharing). Requiere un plan Pro, Max, Team o Enterprise y autenticación `/login`; consulta [Disponibilidad](/docs/es/artifacts#availability) | Sí |

23| `AskUserQuestion` | Hace preguntas de opción múltiple para recopilar requisitos o aclarar ambigüedades. Las preguntas permanecen abiertas hasta que las respondas de forma predeterminada. Consulta [Comportamiento de la herramienta AskUserQuestion](#askuserquestion-tool-behavior) | No |23| `AskUserQuestion` | Hace preguntas de opción múltiple para recopilar requisitos o aclarar ambigüedades. Las preguntas permanecen abiertas hasta que las respondas de forma predeterminada. Consulta [Comportamiento de la herramienta AskUserQuestion](#askuserquestion-tool-behavior) | No |


80Todos estos aceptan el mismo formato de regla, `ToolName(specifier)`. El especificador depende de la herramienta, y varias herramientas comparten un formato:80Todos estos aceptan el mismo formato de regla, `ToolName(specifier)`. El especificador depende de la herramienta, y varias herramientas comparten un formato:

81 81 

82| Formato de regla | Se aplica a | Detalles |82| Formato de regla | Se aplica a | Detalles |

83| :----------------------------- | :------------------------ | :----------------------------------------------------------------------------------- |83| :- | :- | :- |

84| `Bash(npm run *)` | Bash, Monitor | [Coincidencia de patrón de comando](/docs/es/permissions#bash) |84| `Bash(npm run *)` | Bash, Monitor | [Coincidencia de patrón de comando](/docs/es/permissions#bash) |

85| `PowerShell(Get-ChildItem *)` | PowerShell | [Coincidencia de patrón de comando](/docs/es/permissions#powershell) |85| `PowerShell(Get-ChildItem *)` | PowerShell | [Coincidencia de patrón de comando](/docs/es/permissions#powershell) |

86| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Coincidencia de patrón de ruta](/docs/es/permissions#read-and-edit) |86| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Coincidencia de patrón de ruta](/docs/es/permissions#read-and-edit) |


179Claude Code transmite la salida de un comando a un archivo de trabajo mientras se ejecuta el comando; un comando cuya salida supera 5 GB se detiene. Cuando el comando finaliza, Claude Code lee la salida nuevamente desde ese archivo, hasta la ventana de lectura descrita a continuación. La cantidad de salida que llega a Claude en línea depende de si Claude Code trata el resultado como un fallo:179Claude Code transmite la salida de un comando a un archivo de trabajo mientras se ejecuta el comando; un comando cuya salida supera 5 GB se detiene. Cuando el comando finaliza, Claude Code lee la salida nuevamente desde ese archivo, hasta la ventana de lectura descrita a continuación. La cantidad de salida que llega a Claude en línea depende de si Claude Code trata el resultado como un fallo:

180 180 

181| Resultado | Lo que Claude obtiene |181| Resultado | Lo que Claude obtiene |

182| :-------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |182| :- | :- |

183| Válido | En línea hasta aproximadamente 30.000 caracteres de forma predeterminada; más allá de eso, la ruta de un archivo guardado en el directorio de sesión y truncado más allá de 64 MiB, más una vista previa de hasta los primeros 2.000 caracteres, y Claude lee o busca el archivo cuando necesita el resto |183| Válido | En línea hasta aproximadamente 30.000 caracteres de forma predeterminada; más allá de eso, la ruta de un archivo guardado en el directorio de sesión y truncado más allá de 64 MiB, más una vista previa de hasta los primeros 2.000 caracteres, y Claude lee o busca el archivo cuando necesita el resto |

184| Fallo | En línea hasta aproximadamente 10.000 caracteres; más allá de eso, un extracto de cabeza y cola de ese tamaño cortado de la ventana de lectura, sin ruta de archivo |184| Fallo | En línea hasta aproximadamente 10.000 caracteres; más allá de eso, un extracto de cabeza y cola de ese tamaño cortado de la ventana de lectura, sin ruta de archivo |

185 185 


396Una observación de WebSocket toma una entrada `ws` en lugar de `command`, y una única llamada de Monitor no puede combinar los dos. La entrada `ws` tiene dos campos:396Una observación de WebSocket toma una entrada `ws` en lugar de `command`, y una única llamada de Monitor no puede combinar los dos. La entrada `ws` tiene dos campos:

397 397 

398| Campo | Requerido | Descripción |398| Campo | Requerido | Descripción |

399| :---------- | :-------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |399| :- | :- | :- |

400| `url` | Sí | El punto final al que conectarse. Debe ser una URL `ws://` o `wss://` sin credenciales incrustadas o espacios en blanco, utilizando solo caracteres ASCII |400| `url` | Sí | El punto final al que conectarse. Debe ser una URL `ws://` o `wss://` sin credenciales incrustadas o espacios en blanco, utilizando solo caracteres ASCII |

401| `protocols` | No | Nombres de subprotocolo de WebSocket para ofrecer durante el apretón de manos. Cada entrada debe ser un token de subprotocolo válido, y la lista no puede contener duplicados |401| `protocols` | No | Nombres de subprotocolo de WebSocket para ofrecer durante el apretón de manos. Cada entrada debe ser un token de subprotocolo válido, y la lista no puede contener duplicados |

402 402 

Details

15Haga coincidir el mensaje de error o síntoma que está viendo con una solución:15Haga coincidir el mensaje de error o síntoma que está viendo con una solución:

16 16 

17| Lo que ve | Solución |17| Lo que ve | Solución |

18| :----------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------- |18| :- | :- |

19| `command not found: claude` o `'claude' is not recognized` | [Corrija su PATH](#command-not-found-claude-after-installation) |19| `command not found: claude` o `'claude' is not recognized` | [Corrija su PATH](#command-not-found-claude-after-installation) |

20| `syntax error near unexpected token '<'` | [El script de instalación devuelve HTML](#install-script-returns-html-instead-of-a-shell-script) |20| `syntax error near unexpected token '<'` | [El script de instalación devuelve HTML](#install-script-returns-html-instead-of-a-shell-script) |

21| `curl: (22) The requested URL returned error: 403` | [El script de instalación devolvió 403](#install-script-returns-html-instead-of-a-shell-script) |21| `curl: (22) The requested URL returned error: 403` | [El script de instalación devolvió 403](#install-script-returns-html-instead-of-a-shell-script) |


403La instalación finalizó pero `claude` no funciona. El error exacto varía según la plataforma:403La instalación finalizó pero `claude` no funciona. El error exacto varía según la plataforma:

404 404 

405| Plataforma | Mensaje de error |405| Plataforma | Mensaje de error |

406| :---------- | :--------------------------------------------------------------------- |406| :- | :- |

407| macOS | `zsh: command not found: claude` |407| macOS | `zsh: command not found: claude` |

408| Linux | `bash: claude: command not found` |408| Linux | `bash: claude: command not found` |

409| Windows CMD | `'claude' is not recognized as an internal or external command` |409| Windows CMD | `'claude' is not recognized as an internal or external command` |

Details

9Esta página cubre problemas de rendimiento, estabilidad y búsqueda una vez que Claude Code está en ejecución. Para otros problemas, comienza con la página que coincida con dónde estés atrapado:9Esta página cubre problemas de rendimiento, estabilidad y búsqueda una vez que Claude Code está en ejecución. Para otros problemas, comienza con la página que coincida con dónde estés atrapado:

10 10 

11| Síntoma | Ir a |11| Síntoma | Ir a |

12| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------- |12| :- | :- |

13| `command not found`, falla de instalación, problemas de PATH, `EACCES`, errores de TLS | [Solucionar problemas de instalación e inicio de sesión](/docs/es/troubleshoot-install) |13| `command not found`, falla de instalación, problemas de PATH, `EACCES`, errores de TLS | [Solucionar problemas de instalación e inicio de sesión](/docs/es/troubleshoot-install) |

14| Actualización o falla de descarga de instalación con `The connection dropped while downloading the update` o `aborted` | [Referencia de errores](/docs/es/errors#the-connection-dropped-while-downloading-the-update) |14| Actualización o falla de descarga de instalación con `The connection dropped while downloading the update` o `aborted` | [Referencia de errores](/docs/es/errors#the-connection-dropped-while-downloading-the-update) |

15| Bucles de inicio de sesión, errores de OAuth, `403 Forbidden`, "organización deshabilitada", credenciales de Amazon Bedrock, Google Cloud's Agent Platform, o Microsoft Foundry | [Solucionar problemas de instalación e inicio de sesión](/docs/es/troubleshoot-install#login-and-authentication) |15| Bucles de inicio de sesión, errores de OAuth, `403 Forbidden`, "organización deshabilitada", credenciales de Amazon Bedrock, Google Cloud's Agent Platform, o Microsoft Foundry | [Solucionar problemas de instalación e inicio de sesión](/docs/es/troubleshoot-install#login-and-authentication) |

ultrareview.md +3 −3

Details

131Ultrareview es una característica premium que se factura contra créditos de uso en lugar del uso incluido en su plan.131Ultrareview es una característica premium que se factura contra créditos de uso en lugar del uso incluido en su plan.

132 132 

133| Plan | Ejecuciones gratuitas incluidas | Después de ejecuciones gratuitas |133| Plan | Ejecuciones gratuitas incluidas | Después de ejecuciones gratuitas |

134| ----------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------- |134| - | - | - |

135| Pro | 3 ejecuciones gratuitas | facturado como [créditos de uso](https://support.claude.com/es/articles/12429409-extra-usage-for-paid-claude-plans) |135| Pro | 3 ejecuciones gratuitas | facturado como [créditos de uso](https://support.claude.com/es/articles/12429409-extra-usage-for-paid-claude-plans) |

136| Max | 3 ejecuciones gratuitas | facturado como [créditos de uso](https://support.claude.com/es/articles/12429409-extra-usage-for-paid-claude-plans) |136| Max | 3 ejecuciones gratuitas | facturado como [créditos de uso](https://support.claude.com/es/articles/12429409-extra-usage-for-paid-claude-plans) |

137| Team y Enterprise | ninguno | facturado como [créditos de uso](https://support.claude.com/es/articles/12429409-extra-usage-for-paid-claude-plans) |137| Team y Enterprise | ninguno | facturado como [créditos de uso](https://support.claude.com/es/articles/12429409-extra-usage-for-paid-claude-plans) |


186Los mensajes de progreso y la URL de sesión en vivo van a stderr para que stdout permanezca analizable. Use estas banderas para controlar la salida, el tiempo de espera y si publicar los hallazgos:186Los mensajes de progreso y la URL de sesión en vivo van a stderr para que stdout permanezca analizable. Use estas banderas para controlar la salida, el tiempo de espera y si publicar los hallazgos:

187 187 

188| Bandera | Descripción |188| Bandera | Descripción |

189| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |189| - | - |

190| `--json` | Imprime la carga útil `bugs.json` sin procesar en lugar de los hallazgos formateados |190| `--json` | Imprime la carga útil `bugs.json` sin procesar en lugar de los hallazgos formateados |

191| `--timeout <minutes>` | Minutos máximos para esperar a que finalice la revisión. Por defecto es 45 |191| `--timeout <minutes>` | Minutos máximos para esperar a que finalice la revisión. Por defecto es 45 |

192| `--post` | [Publica los hallazgos finalizados](#post-findings-to-the-pull-request) en la solicitud de extracción como un comentario simple desde su cuenta de GitHub. Funciona en objetivos de solicitud de extracción de `github.com`; en otros objetivos, Claude Code ignora la bandera y lo indica. Requiere Claude Code v2.1.227 o posterior |192| `--post` | [Publica los hallazgos finalizados](#post-findings-to-the-pull-request) en la solicitud de extracción como un comentario simple desde su cuenta de GitHub. Funciona en objetivos de solicitud de extracción de `github.com`; en otros objetivos, Claude Code ignora la bandera y lo indica. Requiere Claude Code v2.1.227 o posterior |


216Ambas revisiones examinan código, pero las utiliza en diferentes etapas de su flujo de trabajo.216Ambas revisiones examinan código, pero las utiliza en diferentes etapas de su flujo de trabajo.

217 217 

218| | `/code-review` | `/code-review ultra` |218| | `/code-review` | `/code-review ultra` |

219| ----------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |219| - | - | - |

220| Objetivo | su diff de trabajo, una solicitud de extracción, una rama o una ruta | su diff de trabajo o una solicitud de extracción |220| Objetivo | su diff de trabajo, una solicitud de extracción, una rama o una ruta | su diff de trabajo o una solicitud de extracción |

221| Se ejecuta | localmente en su sesión | en un sandbox en la nube |221| Se ejecuta | localmente en su sesión | en un sandbox en la nube |

222| Profundidad | se escala con el argumento de esfuerzo | flota multiagente con verificación independiente |222| Profundidad | se escala con el argumento de esfuerzo | flota multiagente con verificación independiente |

Details

40`/voice` acepta un argumento de modo opcional:40`/voice` acepta un argumento de modo opcional:

41 41 

42| Comando | Efecto |42| Comando | Efecto |

43| :------------ | :------------------------------------------------------- |43| :- | :- |

44| `/voice` | Alternar activado o desactivado, mantener el modo actual |44| `/voice` | Alternar activado o desactivado, mantener el modo actual |

45| `/voice hold` | Habilitar en [modo de mantener](#hold-to-record) |45| `/voice hold` | Habilitar en [modo de mantener](#hold-to-record) |

46| `/voice tap` | Habilitar en [modo de toque](#tap-to-record-and-send) |46| `/voice tap` | Habilitar en [modo de toque](#tap-to-record-and-send) |


119 119 

120<Accordion title="Idiomas de dictado admitidos">120<Accordion title="Idiomas de dictado admitidos">

121 | Idioma | Código |121 | Idioma | Código |

122 | :-------- | :----- |122 | :- | :- |

123 | Checo | `cs` |123 | Checo | `cs` |

124 | Danés | `da` |124 | Danés | `da` |

125 | Holandés | `nl` |125 | Holandés | `nl` |

vs-code.md +6 −6

Details

365La URL toma dos parámetros de consulta:365La URL toma dos parámetros de consulta:

366 366 

367| Parámetro | Descripción |367| Parámetro | Descripción |

368| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |368| - | - |

369| `plugin` | El nombre del plugin tal como lo enumera su marketplace. Requerido. |369| `plugin` | El nombre del plugin tal como lo enumera su marketplace. Requerido. |

370| `marketplace` | De dónde proviene el plugin: un `owner/repo` de GitHub, una URL `https://`, o una URL de git SSH como `git@github.com:owner/repo.git`. Por defecto es `anthropics/claude-plugins-official` cuando se omite. |370| `marketplace` | De dónde proviene el plugin: un `owner/repo` de GitHub, una URL `https://`, o una URL de git SSH como `git@github.com:owner/repo.git`. Por defecto es `anthropics/claude-plugins-official` cuando se omite. |

371 371 


427</Note>427</Note>

428 428 

429| Comando | Atajo de teclado | Descripción |429| Comando | Atajo de teclado | Descripción |

430| -------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |430| - | - | - |

431| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Alternar el enfoque entre el editor y Claude |431| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | Alternar el enfoque entre el editor y Claude |

432| Focus last message | - | Mover el enfoque del teclado al mensaje más reciente en la conversación, o a un aviso de permiso pendiente, para que pueda leer desde allí con el teclado o un lector de pantalla. No disponible en [modo terminal](#switch-to-terminal-mode). Requiere Claude Code v2.1.268 o posterior |432| Focus last message | - | Mover el enfoque del teclado al mensaje más reciente en la conversación, o a un aviso de permiso pendiente, para que pueda leer desde allí con el teclado o un lector de pantalla. No disponible en [modo terminal](#switch-to-terminal-mode). Requiere Claude Code v2.1.268 o posterior |

433| Open in Side Bar | - | Abrir Claude en la barra lateral |433| Open in Side Bar | - | Abrir Claude en la barra lateral |


487El controlador acepta dos parámetros de consulta opcionales:487El controlador acepta dos parámetros de consulta opcionales:

488 488 

489| Parámetro | Descripción |489| Parámetro | Descripción |

490| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |490| - | - |

491| `prompt` | Texto para rellenar previamente en el cuadro de solicitud. Debe estar codificado en URL. La solicitud se rellena previamente pero no se envía automáticamente. |491| `prompt` | Texto para rellenar previamente en el cuadro de solicitud. Debe estar codificado en URL. La solicitud se rellena previamente pero no se envía automáticamente. |

492| `session` | Un ID de sesión para reanudar en lugar de iniciar una nueva conversación. La sesión debe pertenecer al espacio de trabajo actualmente abierto en VS Code. Si la sesión no se encuentra, se inicia una conversación nueva. Si la sesión ya está abierta en una pestaña, esa pestaña se enfoca. Para capturar un ID de sesión mediante programación, consulte [Continue conversations](/docs/es/headless#continue-conversations). |492| `session` | Un ID de sesión para reanudar en lugar de iniciar una nueva conversación. La sesión debe pertenecer al espacio de trabajo actualmente abierto en VS Code. Si la sesión no se encuentra, se inicia una conversación nueva. Si la sesión ya está abierta en una pestaña, esa pestaña se enfoca. Para capturar un ID de sesión mediante programación, consulte [Continue conversations](/docs/es/headless#continue-conversations). |

493 493 


519VS Code lee `initialPermissionMode` de sus ajustes de usuario e ignora los valores del espacio de trabajo. Antes de v2.1.225, VS Code establecía por defecto el ajuste en `default` y aplicaba los valores del espacio de trabajo.519VS Code lee `initialPermissionMode` de sus ajustes de usuario e ignora los valores del espacio de trabajo. Antes de v2.1.225, VS Code establecía por defecto el ajuste en `default` y aplicaba los valores del espacio de trabajo.

520 520 

521| Ajuste | Predeterminado | Descripción |521| Ajuste | Predeterminado | Descripción |

522| ----------------------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |522| - | - | - |

523| `useTerminal` | `false` | Inicie Claude en modo terminal en lugar de panel gráfico |523| `useTerminal` | `false` | Inicie Claude en modo terminal en lugar de panel gráfico |

524| `initialPermissionMode` | - | Controla los mensajes de aprobación para nuevas conversaciones: `default`, `plan`, `acceptEdits` o `bypassPermissions`. `manual` es un alias para `default` y selecciona el modo etiquetado como **Manual** en el indicador de modo. Cuando lo deja sin establecer, la extensión elige el modo de permisos inicial como se describe en [Switch permission modes](/docs/es/permission-modes#switch-permission-modes). |524| `initialPermissionMode` | - | Controla los mensajes de aprobación para nuevas conversaciones: `default`, `plan`, `acceptEdits` o `bypassPermissions`. `manual` es un alias para `default` y selecciona el modo etiquetado como **Manual** en el indicador de modo. Cuando lo deja sin establecer, la extensión elige el modo de permisos inicial como se describe en [Switch permission modes](/docs/es/permission-modes#switch-permission-modes). |

525| `preferredLocation` | `panel` | Dónde se abre Claude: `sidebar` (derecha) o `panel` (nueva pestaña) |525| `preferredLocation` | `panel` | Dónde se abre Claude: `sidebar` (derecha) o `panel` (nueva pestaña) |


584Claude Code está disponible tanto como una extensión de VS Code (panel gráfico) como una CLI (interfaz de línea de comandos en la terminal). Algunas características solo están disponibles en la CLI. Si necesita una característica solo de CLI, ejecute `claude` en la terminal integrada de VS Code. Esto requiere la [instalación independiente de CLI](/docs/es/setup): la extensión no agrega `claude` a su PATH. Consulte [Ejecutar CLI en VS Code](#run-cli-in-vs-code).584Claude Code está disponible tanto como una extensión de VS Code (panel gráfico) como una CLI (interfaz de línea de comandos en la terminal). Algunas características solo están disponibles en la CLI. Si necesita una característica solo de CLI, ejecute `claude` en la terminal integrada de VS Code. Esto requiere la [instalación independiente de CLI](/docs/es/setup): la extensión no agrega `claude` a su PATH. Consulte [Ejecutar CLI en VS Code](#run-cli-in-vs-code).

585 585 

586| Característica | CLI | Extensión de VS Code |586| Característica | CLI | Extensión de VS Code |

587| ------------------------------ | --------------------- | ---------------------------------------------------------------------------------------------------------- |587| - | - | - |

588| Comandos y skills | [Todos](/docs/es/commands) | Subconjunto (escriba `/` para ver los disponibles) |588| Comandos y skills | [Todos](/docs/es/commands) | Subconjunto (escriba `/` para ver los disponibles) |

589| Configuración del servidor MCP | Sí | Sí ([agregue y administre servidores](#connect-to-external-tools-with-mcp) con `/mcp` en el panel de chat) |589| Configuración del servidor MCP | Sí | Sí ([agregue y administre servidores](#connect-to-external-tools-with-mcp) con `/mcp` en el panel de chat) |

590| Checkpoints | Sí | Sí |590| Checkpoints | Sí | Sí |


731**Herramientas expuestas al modelo.** El servidor aloja una docena de herramientas, pero solo dos son visibles para el modelo. El resto son RPC internas que la CLI utiliza para su propia interfaz de usuario — abrir diffs, leer selecciones, guardar archivos — y se filtran antes de que la lista de herramientas llegue a Claude.731**Herramientas expuestas al modelo.** El servidor aloja una docena de herramientas, pero solo dos son visibles para el modelo. El resto son RPC internas que la CLI utiliza para su propia interfaz de usuario — abrir diffs, leer selecciones, guardar archivos — y se filtran antes de que la lista de herramientas llegue a Claude.

732 732 

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

734| -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |734| - | - | - |

735| `mcp__ide__getDiagnostics` | Devuelve diagnósticos del servidor de lenguaje — los errores y advertencias en el panel Problemas de VS Code. Opcionalmente limitado a un archivo. | Sí |735| `mcp__ide__getDiagnostics` | Devuelve diagnósticos del servidor de lenguaje — los errores y advertencias en el panel Problemas de VS Code. Opcionalmente limitado a un archivo. | Sí |

736| `mcp__ide__executeCode` | Ejecuta código Python en el kernel del cuaderno Jupyter activo. Consulte el flujo de confirmación a continuación. | No |736| `mcp__ide__executeCode` | Ejecuta código Python en el kernel del cuaderno Jupyter activo. Consulte el flujo de confirmación a continuación. | No |

737 737 

Details

43Claude Code se comporta igual en todas partes. Lo que cambia es dónde se ejecuta la sesión y si tu configuración local está disponible:43Claude Code se comporta igual en todas partes. Lo que cambia es dónde se ejecuta la sesión y si tu configuración local está disponible:

44 44 

45| | Sesión en la nube | Sesión local | Sesión local con [Remote Control](/docs/es/remote-control) |45| | Sesión en la nube | Sesión local | Sesión local con [Remote Control](/docs/es/remote-control) |

46| :------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------- |46| :- | :- | :- | :- |

47| **El código se ejecuta en** | VM en la nube, administrada por Anthropic de forma predeterminada | Tu máquina | Tu máquina |47| **El código se ejecuta en** | VM en la nube, administrada por Anthropic de forma predeterminada | Tu máquina | Tu máquina |

48| **La inicias desde** | claude.ai/code, la aplicación móvil de Claude, la aplicación Desktop con **Cloud** seleccionado, o `claude --cloud` | Tu terminal, tu IDE, o la aplicación Desktop con **Local** seleccionado | Tu terminal, la extensión de VS Code, o la aplicación Desktop |48| **La inicias desde** | claude.ai/code, la aplicación móvil de Claude, la aplicación Desktop con **Cloud** seleccionado, o `claude --cloud` | Tu terminal, tu IDE, o la aplicación Desktop con **Local** seleccionado | Tu terminal, la extensión de VS Code, o la aplicación Desktop |

49| **Chateas desde** | claude.ai, la aplicación móvil, o la aplicación Desktop | Donde la iniciaste | claude.ai o la aplicación móvil, así como donde la iniciaste |49| **Chateas desde** | claude.ai, la aplicación móvil, o la aplicación Desktop | Donde la iniciaste | claude.ai o la aplicación móvil, así como donde la iniciaste |


175Puedes rellenar previamente el mensaje, los repositorios y el entorno para una nueva sesión agregando parámetros de consulta a la URL de [claude.ai/code](https://claude.ai/code). Úsalo para crear integraciones como un botón en tu rastreador de problemas que abre Claude Code con la descripción del problema como mensaje.175Puedes rellenar previamente el mensaje, los repositorios y el entorno para una nueva sesión agregando parámetros de consulta a la URL de [claude.ai/code](https://claude.ai/code). Úsalo para crear integraciones como un botón en tu rastreador de problemas que abre Claude Code con la descripción del problema como mensaje.

176 176 

177| Parámetro | Descripción |177| Parámetro | Descripción |

178| :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |178| :- | :- |

179| `prompt` | Texto del mensaje para rellenar en el cuadro de entrada. También se acepta el alias `q`. |179| `prompt` | Texto del mensaje para rellenar en el cuadro de entrada. También se acepta el alias `q`. |

180| `prompt_url` | URL para obtener el texto del mensaje, para mensajes demasiado largos para incrustar en una cadena de consulta. La URL debe permitir solicitudes de origen cruzado. Se ignora cuando `prompt` también está establecido. |180| `prompt_url` | URL para obtener el texto del mensaje, para mensajes demasiado largos para incrustar en una cadena de consulta. La URL debe permitir solicitudes de origen cruzado. Se ignora cuando `prompt` también está establecido. |

181| `repositories` | Lista separada por comas de slugs `owner/repo` para preseleccionar. También se acepta el alias `repo`. |181| `repositories` | Lista separada por comas de slugs `owner/repo` para preseleccionar. También se acepta el alias `repo`. |

workflows.md +6 −6

Details

21[Subagentes](/docs/es/sub-agents), [skills](/docs/es/skills), [equipos de agentes](/docs/es/agent-teams) y workflows pueden ejecutar una tarea de varios pasos. La diferencia es quién tiene el plan:21[Subagentes](/docs/es/sub-agents), [skills](/docs/es/skills), [equipos de agentes](/docs/es/agent-teams) y workflows pueden ejecutar una tarea de varios pasos. La diferencia es quién tiene el plan:

22 22 

23| | Subagentes | Skills | Equipos de agentes | Workflows |23| | Subagentes | Skills | Equipos de agentes | Workflows |

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

25| Qué es | Un Claude trabajador que genera | Instrucciones que Claude sigue | Un agente líder supervisando sesiones entre pares | Un script que ejecuta el runtime |25| Qué es | Un Claude trabajador que genera | Instrucciones que Claude sigue | Un agente líder supervisando sesiones entre pares | Un script que ejecuta el runtime |

26| Quién decide qué se ejecuta a continuación | Claude, turno a turno | Claude, siguiendo el prompt | El agente líder, turno a turno | El script |26| Quién decide qué se ejecuta a continuación | Claude, turno a turno | Claude, siguiendo el prompt | El agente líder, turno a turno | El script |

27| Dónde viven los resultados intermedios | Ventana de contexto de Claude | Ventana de contexto de Claude | Una lista de tareas compartida | Variables del script |27| Dónde viven los resultados intermedios | Ventana de contexto de Claude | Ventana de contexto de Claude | Una lista de tareas compartida | Variables del script |


80Claude Code incluye `/deep-research` como un flujo de trabajo integrado:80Claude Code incluye `/deep-research` como un flujo de trabajo integrado:

81 81 

82| Comando | Lo que hace |82| Comando | Lo que hace |

83| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |83| :- | :- |

84| `/deep-research <question>` | Distribuye búsquedas web en una pregunta en varios ángulos, obtiene y verifica cruzadamente las fuentes que encuentra, vota sobre cada afirmación y devuelve un informe citado con afirmaciones que no sobrevivieron a la verificación cruzada filtradas. Requiere que la [herramienta WebSearch](/docs/es/tools-reference#websearch-tool-behavior) esté disponible |84| `/deep-research <question>` | Distribuye búsquedas web en una pregunta en varios ángulos, obtiene y verifica cruzadamente las fuentes que encuentra, vota sobre cada afirmación y devuelve un informe citado con afirmaciones que no sobrevivieron a la verificación cruzada filtradas. Requiere que la [herramienta WebSearch](/docs/es/tools-reference#websearch-tool-behavior) esté disponible |

85 85 

86`/deep-research` se ejecuta solo cuando lo invoca.86`/deep-research` se ejecuta solo cuando lo invoca.


96La vista de progreso muestra cada fase con sus recuentos de agentes, totales de tokens y tiempo transcurrido. El pie de página enumera la tecla para cada acción:96La vista de progreso muestra cada fase con sus recuentos de agentes, totales de tokens y tiempo transcurrido. El pie de página enumera la tecla para cada acción:

97 97 

98| Tecla | Acción |98| Tecla | Acción |

99| :------------ | :--------------------------------------------------------------------------------------------------------------- |99| :- | :- |

100| `↑` / `↓` | Seleccionar una fase o agente |100| `↑` / `↓` | Seleccionar una fase o agente |

101| `Enter` o `→` | Profundizar en la fase seleccionada y luego en el detalle de un agente. En el detalle, `Enter` expande o contrae |101| `Enter` o `→` | Profundizar en la fase seleccionada y luego en el detalle de un agente. En el detalle, `Enter` expande o contrae |

102| `Esc` o `←` | Retroceder un nivel. En v2.1.203 a v2.1.205, `←` no retrocedió de una fase o agente; use `Esc` en esas versiones |102| `Esc` o `←` | Retroceder un nivel. En v2.1.203 a v2.1.205, `←` no retrocedió de una fase o agente; use `Esc` en esas versiones |


191Si ve este prompt depende de su [modo de permiso](/docs/es/permission-modes):191Si ve este prompt depende de su [modo de permiso](/docs/es/permission-modes):

192 192 

193| Modo de permiso | Cuándo se le solicita |193| Modo de permiso | Cuándo se le solicita |

194| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |194| :- | :- |

195| Auto | Solo en el primer lanzamiento. Cualquier **Yes** registra el consentimiento en su configuración de usuario, y los lanzamientos posteriores comienzan sin solicitar. Se omite completamente cuando ultracode está activado |195| Auto | Solo en el primer lanzamiento. Cualquier **Yes** registra el consentimiento en su configuración de usuario, y los lanzamientos posteriores comienzan sin solicitar. Se omite completamente cuando ultracode está activado |

196| Manual, aceptar ediciones | Cada ejecución, a menos que haya seleccionado **Yes, and don't ask again** para ese workflow en este proyecto |196| Manual, aceptar ediciones | Cada ejecución, a menos que haya seleccionado **Yes, and don't ask again** para ese workflow en este proyecto |

197| Omitir permisos | Claude Code no le solicita. La ejecución comienza inmediatamente |197| Omitir permisos | Claude Code no le solicita. La ejecución comienza inmediatamente |


402El runtime aplica las siguientes restricciones:402El runtime aplica las siguientes restricciones:

403 403 

404| Restricción | Por qué |404| Restricción | Por qué |

405| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |405| :- | :- |

406| Sin entrada de usuario a mitad de ejecución | Una ejecución se pausa por sí sola solo para prompts de permiso del agente y una [espera de límite de uso](#when-a-run-hits-your-usage-limit). Para la aprobación entre etapas, ejecute cada etapa como su propio workflow |406| Sin entrada de usuario a mitad de ejecución | Una ejecución se pausa por sí sola solo para prompts de permiso del agente y una [espera de límite de uso](#when-a-run-hits-your-usage-limit). Para la aprobación entre etapas, ejecute cada etapa como su propio workflow |

407| Sin acceso directo al sistema de archivos o shell desde el workflow en sí | Los agentes leen, escriben y ejecutan comandos. El script coordina los agentes |407| Sin acceso directo al sistema de archivos o shell desde el workflow en sí | Los agentes leen, escriben y ejecutan comandos. El script coordina los agentes |

408| Sin carga de módulos: un script que contiene `import()` falla antes de que comience la ejecución | El cuerpo del script es JavaScript simple. Coloque el trabajo que necesita una biblioteca en la tarea de un agente |408| Sin carga de módulos: un script que contiene `import()` falla antes de que comience la ejecución | El cuerpo del script es JavaScript simple. Coloque el trabajo que necesita una biblioteca en la tarea de un agente |


490Cada valor se asigna a un recuento de agentes:490Cada valor se asigna a un recuento de agentes:

491 491 

492| Valor | Recuento de agentes que Claude tiene como objetivo |492| Valor | Recuento de agentes que Claude tiene como objetivo |

493| :------------- | :------------------------------------------------------ |493| :- | :- |

494| `unrestricted` | Sin directriz: Claude dimensiona el workflow a la tarea |494| `unrestricted` | Sin directriz: Claude dimensiona el workflow a la tarea |

495| `small` | Menos de 5 agentes |495| `small` | Menos de 5 agentes |

496| `medium` | Menos de 10 agentes |496| `medium` | Menos de 10 agentes |

worktrees.md +1 −1

Details

393Cuando reanuda una sesión de forma interactiva y Claude Code no puede devolverla a su worktree, Claude Code lo dice con uno de los mensajes a continuación. Cuando Claude Code borra el enlace del worktree, registra la limpieza en la transcripción de la sesión. Si [suprime escrituras de transcripción](/docs/es/sessions#where-transcripts-are-stored), el mensaje dice en su lugar que el enlace no pudo ser borrado y que Claude Code volverá a verificar el worktree en una reanudación posterior.393Cuando reanuda una sesión de forma interactiva y Claude Code no puede devolverla a su worktree, Claude Code lo dice con uno de los mensajes a continuación. Cuando Claude Code borra el enlace del worktree, registra la limpieza en la transcripción de la sesión. Si [suprime escrituras de transcripción](/docs/es/sessions#where-transcripts-are-stored), el mensaje dice en su lugar que el enlace no pudo ser borrado y que Claude Code volverá a verificar el worktree en una reanudación posterior.

394 394 

395| El mensaje comienza con | Qué sucedió y qué hacer |395| El mensaje comienza con | Qué sucedió y qué hacer |

396| :------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |396| :- | :- |

397| `Your worktree <path> no longer exists` | El directorio del worktree fue eliminado. La sesión continúa en el directorio actual sin aislamiento, y Claude Code borra el enlace del worktree. No se requiere acción. |397| `Your worktree <path> no longer exists` | El directorio del worktree fue eliminado. La sesión continúa en el directorio actual sin aislamiento, y Claude Code borra el enlace del worktree. No se requiere acción. |

398| `Could not verify your worktree <path> this time` | Claude Code no pudo verificar el worktree, generalmente por una razón transitoria; el enlace se mantiene, y la sesión continúa en el directorio actual sin aislamiento. Reanude de nuevo para reintentar; si sigue sucediendo, entre en el worktree en una nueva sesión y haga coincidir el mensaje de rechazo bajo [Claude Code se niega a usar un worktree](#claude-code-refuses-to-use-a-worktree), que puede nombrar los metadatos del checkout principal en lugar de los del worktree. |398| `Could not verify your worktree <path> this time` | Claude Code no pudo verificar el worktree, generalmente por una razón transitoria; el enlace se mantiene, y la sesión continúa en el directorio actual sin aislamiento. Reanude de nuevo para reintentar; si sigue sucediendo, entre en el worktree en una nueva sesión y haga coincidir el mensaje de rechazo bajo [Claude Code se niega a usar un worktree](#claude-code-refuses-to-use-a-worktree), que puede nombrar los metadatos del checkout principal en lugar de los del worktree. |

399| `Did not re-enter your worktree <path>` | Claude Code rechazó el enlace del worktree como inseguro; borra el enlace y la sesión continúa sin aislamiento. El mensaje incluye el rechazo específico: haga coincidir bajo [Claude Code se niega a usar un worktree](#claude-code-refuses-to-use-a-worktree), ya que la corrección es recreación para algunos rechazos y un cambio de ruta para otros. |399| `Did not re-enter your worktree <path>` | Claude Code rechazó el enlace del worktree como inseguro; borra el enlace y la sesión continúa sin aislamiento. El mensaje incluye el rechazo específico: haga coincidir bajo [Claude Code se niega a usar un worktree](#claude-code-refuses-to-use-a-worktree), ya que la corrección es recreación para algunos rechazos y un cambio de ruta para otros. |

Details

50ZDR no se extiende a lo siguiente, incluso para organizaciones con ZDR habilitado. Estas características siguen [políticas estándar de retención de datos](/docs/es/data-usage#data-retention):50ZDR no se extiende a lo siguiente, incluso para organizaciones con ZDR habilitado. Estas características siguen [políticas estándar de retención de datos](/docs/es/data-usage#data-retention):

51 51 

52| Característica | Detalles |52| Característica | Detalles |

53| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |53| - | - |

54| Chat en claude.ai | Las conversaciones de chat a través de la interfaz web de Claude for Enterprise no están cubiertas por ZDR. |54| Chat en claude.ai | Las conversaciones de chat a través de la interfaz web de Claude for Enterprise no están cubiertas por ZDR. |

55| Cowork | Las sesiones de Cowork no están cubiertas por ZDR. |55| Cowork | Las sesiones de Cowork no están cubiertas por ZDR. |

56| Claude Code Analytics | No almacena prompts o respuestas del modelo, pero recopila metadatos de productividad como correos electrónicos de cuenta y estadísticas de uso. Las métricas de contribución no están disponibles para organizaciones ZDR; el [panel de analytics](/docs/es/analytics) muestra solo métricas de uso. |56| Claude Code Analytics | No almacena prompts o respuestas del modelo, pero recopila metadatos de productividad como correos electrónicos de cuenta y estadísticas de uso. Las métricas de contribución no están disponibles para organizaciones ZDR; el [panel de analytics](/docs/es/analytics) muestra solo métricas de uso. |


64Cuando ZDR está habilitado para una organización de Claude Code en Claude for Enterprise, ciertas características que requieren almacenar prompts o completaciones se deshabilitan automáticamente a nivel de backend:64Cuando ZDR está habilitado para una organización de Claude Code en Claude for Enterprise, ciertas características que requieren almacenar prompts o completaciones se deshabilitan automáticamente a nivel de backend:

65 65 

66| Característica | Razón |66| Característica | Razón |

67| ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |67| - | - |

68| [Cloud sessions](/docs/es/claude-code-on-the-web), incluidas las iniciadas desde la [aplicación Desktop](/docs/es/desktop#cloud-sessions) | Requiere almacenamiento del lado del servidor de datos de sesión, incluido el historial de conversaciones con prompts y completaciones. |68| [Cloud sessions](/docs/es/claude-code-on-the-web), incluidas las iniciadas desde la [aplicación Desktop](/docs/es/desktop#cloud-sessions) | Requiere almacenamiento del lado del servidor de datos de sesión, incluido el historial de conversaciones con prompts y completaciones. |

69| [Claude Tag](https://claude.com/docs/claude-tag) | Retiene la memoria del canal y las transcripciones de sesión. |69| [Claude Tag](https://claude.com/docs/claude-tag) | Retiene la memoria del canal y las transcripciones de sesión. |

70| [Artefactos](/docs/es/artifacts) | Requiere almacenar contenido de página publicado en infraestructura operada por Anthropic. |70| [Artefactos](/docs/es/artifacts) | Requiere almacenar contenido de página publicado en infraestructura operada por Anthropic. |