SpyBara
Go Premium

Documentation 2026-10-02 22:59 UTC to 2026-10-03 01:00 UTC

12 files changed +110 −30. View all changes and history on the product overview
2026
Sat 3 01:57 Fri 2 22:59 Thu 1 23:59

chrome.md +1 −1

Details

130En una sesión de VS Code, que Claude Code te pregunte antes de una acción del navegador depende de cómo se conectó la sesión a tu navegador:130En una sesión de VS Code, que Claude Code te pregunte antes de una acción del navegador depende de cómo se conectó la sesión a tu navegador:

131 131 

132* **Escribiste `@browser`**: la extensión aprueba cada acción del navegador sobre la que Claude Code de otro modo te preguntaría.132* **Escribiste `@browser`**: la extensión aprueba cada acción del navegador sobre la que Claude Code de otro modo te preguntaría.

133* **El ajuste [Enabled by default](#enable-chrome-by-default) la conectó al iniciar**: Claude Code te pregunta antes de las acciones del navegador en los modos de permisos Manual, Edit automatically, Auto y Bypass permissions, hasta que escribas `@browser` en esa sesión.133* **El ajuste [Enabled by default](#enable-chrome-by-default) la conectó al iniciar**: Claude Code te pregunta antes de las acciones del navegador en un sitio que no has permitido, en los modos de permisos Manual, Edit automatically, Auto y Bypass permissions, hasta que escribas `@browser` en esa sesión.

134 134 

135<h3 id="browser-tools-in-plan-mode">135<h3 id="browser-tools-in-plan-mode">

136 Herramientas del navegador en Plan Mode136 Herramientas del navegador en Plan Mode

Details

79| Campo | Requerido | Descripción |79| Campo | Requerido | Descripción |

80| - | - | - |80| - | - | - |

81| `issuer` | Sí | Base de descubrimiento OIDC. Debe servir el descubrimiento en `/.well-known/openid-configuration`. Use HTTPS en producción; la puerta de enlace acepta un emisor `http://`. Un emisor loopback 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 el descubrimiento en `/.well-known/openid-configuration`. Use HTTPS en producción; la puerta de enlace acepta un emisor `http://`. Un emisor loopback 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` | Sí | De tu registro de cliente OAuth |

83| `client_secret` | A menos que `token_endpoint_auth_method` sea `private_key_jwt` | De tu registro de cliente OAuth. Omítelo cuando uses [autenticación de cliente con certificado](#certificate-client-authentication). |

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 del IdP multiinquilino. Independientemente de esta configuración, un id\_token cuya reclamación `email_verified` es explícitamente `false` siempre se rechaza. |84| `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 del IdP multiinquilino. Independientemente de esta configuración, un id\_token cuya reclamación `email_verified` es explícitamente `false` siempre se rechaza. |

84| `allowed_groups` | No | Restrinja el inicio de sesión a miembros de estos grupos del IdP, comparados contra `groups_claim`. Un usuario en un dominio de correo electrónico permitido pero en ninguno de estos grupos es rechazado. Requiere que el IdP emita la reclamación de grupos. La coincidencia es una comparación de cadena exacta y sensible a mayúsculas y minúsculas contra los valores en esa reclamación, y la puerta de enlace no expande grupos anidados: para admitir miembros de un subgrupo, enumere el subgrupo aquí o configure el IdP para emitir membresía aplanada. |85| `allowed_groups` | No | Restrinja el inicio de sesión a miembros de estos grupos del IdP, comparados contra `groups_claim`. Un usuario en un dominio de correo electrónico permitido pero en ninguno de estos grupos es rechazado. Requiere que el IdP emita la reclamación de grupos. La coincidencia es una comparación de cadena exacta y sensible a mayúsculas y minúsculas contra los valores en esa reclamación, y la puerta de enlace no expande grupos anidados: para admitir miembros de un subgrupo, enumere el subgrupo aquí o configure el IdP para emitir membresía aplanada. |

85| `groups_claim` | No | Qué reclamación id\_token lleva la membresía del grupo. Por defecto `groups`. Microsoft Entra emite roles de aplicación bajo `roles`. Acepta una clave plana o un Puntero JSON RFC 6901 como `/resource_access/gateway/roles` para reclamaciones anidadas. |86| `groups_claim` | No | Qué reclamación id\_token lleva la membresía del grupo. Por defecto `groups`. Microsoft Entra emite roles de aplicación bajo `roles`. Acepta una clave plana o un Puntero JSON RFC 6901 como `/resource_access/gateway/roles` para reclamaciones anidadas. |


91| `userinfo_fallback` | No | Cuando el id\_token omite correo electrónico o grupos, búsquelos en `/userinfo`. Necesario para tokens de acceso ligeros de Keycloak, el servidor org de Okta, y tokens mínimos de ADFS. El id\_token sigue siendo autoritario; userinfo solo llena vacíos. Por defecto `false`. |92| `userinfo_fallback` | No | Cuando el id\_token omite correo electrónico o grupos, búsquelos en `/userinfo`. Necesario para tokens de acceso ligeros de Keycloak, el servidor org de Okta, y tokens mínimos de ADFS. El id\_token sigue siendo autoritario; userinfo solo llena vacíos. Por defecto `false`. |

92| `use_pkce` | No | Envíe un desafío PKCE (S256) en la solicitud de autorización. Por defecto `true`. Establezca `false` solo si su IdP rechaza PKCE para este cliente confidencial. |93| `use_pkce` | No | Envíe un desafío PKCE (S256) en la solicitud de autorización. Por defecto `true`. Establezca `false` solo si su IdP rechaza PKCE para este cliente confidencial. |

93| `clock_skew_seconds` | No | Tolere la desviación del reloj al validar reclamaciones de tiempo id\_token. Por defecto `0`, que es estricto. Aumente si ve errores "token expirado / aún no válido" justo después del inicio de sesión debido a desviación del reloj del host/IdP. |94| `clock_skew_seconds` | No | Tolere la desviación del reloj al validar reclamaciones de tiempo id\_token. Por defecto `0`, que es estricto. Aumente si ve errores "token expirado / aún no válido" justo después del inicio de sesión debido a desviación del reloj del host/IdP. |

94| `token_endpoint_auth_method` | No | Anule el método de autenticación del punto final del token. Acepta `client_secret_basic` o `client_secret_post`. Negociado automáticamente por defecto. |95| `token_endpoint_auth_method` | No | Cómo se autentica el gateway ante el endpoint de token del IdP: `client_secret_basic`, `client_secret_post` o `private_key_jwt` para la [autenticación de cliente con certificado](#certificate-client-authentication). Por defecto, el gateway elige uno de los dos métodos `client_secret` según lo que anuncie el IdP. |

96| `client_assertion` | Con `private_key_jwt` | Un bloque con `private_key_pem` y `certificate_pem`: la clave privada y el certificado para la [autenticación de cliente con certificado](#certificate-client-authentication). Requiere v2.1.284 o posterior. |

95| `id_token_signed_response_alg` | No | Algoritmo de firma id\_token esperado. Por defecto `RS256`. Establezca para IdPs que firman con ES256, PS256, o EdDSA. |97| `id_token_signed_response_alg` | No | Algoritmo de firma id\_token esperado. Por defecto `RS256`. Establezca para IdPs que firman con ES256, PS256, o EdDSA. |

96| `additional_authorized_parties` | No | Valores `azp` adicionales para aceptar más allá de `client_id`, para flujos de intermediario de Keycloak e intercambio de tokens |98| `additional_authorized_parties` | No | Valores `azp` adicionales para aceptar más allá de `client_id`, para flujos de intermediario de Keycloak e intercambio de tokens |

97| `discovery_url` | No | Busque el documento de descubrimiento desde esta URL en lugar de derivarlo de `issuer`, para IdPs detrás de un proxy que reescribe el host del emisor. La ruta debe contener `/.well-known/`. |99| `discovery_url` | No | Busque el documento de descubrimiento desde esta URL en lugar de derivarlo de `issuer`, para IdPs detrás de un proxy que reescribe el host del emisor. La ruta debe contener `/.well-known/`. |


99| `form_action_origins` | No | Orígenes adicionales para la directiva `Content-Security-Policy: form-action` de la página `/device`. La puerta de enlace ya permite `'self'` y el origen `authorization_endpoint` descubierto, pero Chrome aplica `form-action` contra toda la cadena de redirección. Si su IdP redirige a través de un segundo host, como Azure AD federado a ADFS, Okta de concentrador y radio, o un interceptor SSO corporativo, enumere cada origen por el que la solicitud de autorización puede redirigir. |101| `form_action_origins` | No | Orígenes adicionales para la directiva `Content-Security-Policy: form-action` de la página `/device`. La puerta de enlace ya permite `'self'` y el origen `authorization_endpoint` descubierto, pero Chrome aplica `form-action` contra toda la cadena de redirección. Si su IdP redirige a través de un segundo host, como Azure AD federado a ADFS, Okta de concentrador y radio, o un interceptor SSO corporativo, enumere cada origen por el que la solicitud de autorización puede redirigir. |

100| `ca_cert_pem` | No | El certificado CA codificado en PEM en sí, no una ruta a un archivo. Reemplaza el almacén de confianza del sistema solo para solicitudes del IdP. Para cargar un archivo montado, escriba `${file:/etc/gateway/idp-ca.pem}`. Úselo para Keycloak o Dex detrás de PKI corporativa. |102| `ca_cert_pem` | No | El certificado CA codificado en PEM en sí, no una ruta a un archivo. Reemplaza el almacén de confianza del sistema solo para solicitudes del IdP. Para cargar un archivo montado, escriba `${file:/etc/gateway/idp-ca.pem}`. Úselo para Keycloak o Dex detrás de PKI corporativa. |

101 103 

104<h4 id="certificate-client-authentication">

105 Autenticación de cliente con certificado

106</h4>

107 

108Si tu proveedor de identidad autentica a los clientes OAuth con un certificado en lugar de un secreto de cliente, como hace Microsoft Entra con las credenciales de certificado, establece `token_endpoint_auth_method: private_key_jwt`. Requiere Claude Code v2.1.284 o posterior en el servidor del gateway.

109 

110Con esta configuración, el gateway no envía ningún secreto. Se autentica ante el endpoint de token del IdP con un JWT de corta duración firmado con la clave privada del certificado cuando un desarrollador inicia sesión y cada vez que el gateway actualiza su sesión. El JWT se firma con RS256 e identifica el certificado mediante los encabezados de huella digital `x5t` y `x5t#S256` en lugar de un `kid`. Tu IdP debe poder encontrar el certificado registrado por su huella digital.

111 

112<Steps>

113 <Step title="Crea la clave y el certificado">

114 Crea una clave privada RSA sin cifrar de al menos 2048 bits, en formato PEM PKCS#8 o PKCS#1, y un certificado para ella. El gateway se niega a iniciar con cualquier clave que no cumpla estas condiciones. Este comando `openssl` crea una clave así con un certificado autofirmado válido durante un año:

115 

116 ```bash theme={null}

117 openssl req -x509 -newkey rsa:2048 -nodes -keyout idp-client.key -out idp-client.crt -days 365 -subj "/CN=claude-gateway"

118 ```

119 

120 Escribe `idp-client.key` e `idp-client.crt` en el directorio actual. Copia o monta ambos archivos donde el gateway pueda leerlos. El ejemplo del paso 3 usa `/etc/gateway/`.

121 </Step>

122 

123 <Step title="Sube el certificado al IdP">

124 Sube el certificado, no la clave privada, al registro de aplicación del gateway en el IdP.

125 </Step>

126 

127 <Step title="Agrega la clave y el certificado a gateway.yaml">

128 Proporciona al gateway la clave privada y el certificado en un bloque `client_assertion`. Omite `client_secret`, porque el gateway se niega a iniciar cuando se establece junto con `private_key_jwt`. Este bloque `oidc` autentica el gateway ante un inquilino de Microsoft Entra con un certificado:

129 

130 ```yaml theme={null}

131 oidc:

132 issuer: https://login.microsoftonline.com/<tenant-id>/v2.0

133 client_id: <application-id>

134 token_endpoint_auth_method: private_key_jwt

135 client_assertion:

136 private_key_pem: ${file:/etc/gateway/idp-client.key}

137 certificate_pem: ${file:/etc/gateway/idp-client.crt}

138 ```

139 

140 Ambos valores son el contenido PEM, no rutas de archivo, así que carga los archivos montados con `${file:/path}` como hace el ejemplo. El gateway se niega a iniciar a menos que `certificate_pem` sea un único certificado PEM, sin el resto de su cadena, cuya clave pública coincida con `private_key_pem`.

141 </Step>

142 

143 <Step title="Reinicia el gateway y revisa el registro de arranque">

144 Reinicia el gateway y busca esta línea en el registro de arranque:

145 

146 ```text theme={null}

147 [gateway] 2026-10-01T23:07:40.512Z info oidc: client authentication private_key_jwt; certificate CN=claude-gateway, SHA-1 thumbprint DE92821854EE8BAA1D98C758FAA04AABE80B9F57, expires Oct 1 23:07:31 2027 GMT

148 ```

149 

150 Compara la huella digital SHA-1 con la que muestra el IdP para el certificado que subiste. Si el certificado ha expirado o aún no es válido, el gateway igualmente inicia, pero registra una advertencia de que los inicios de sesión y las actualizaciones fallarán hasta que lo reemplaces. Para confirmar que el IdP acepta el certificado, pide a un desarrollador que inicie sesión a través del gateway.

151 </Step>

152</Steps>

153 

154<h4 id="rotate-the-client-certificate">

155 Rotar el certificado de cliente

156</h4>

157 

158El gateway lee la clave y el certificado una sola vez al arrancar, así que un archivo modificado solo surte efecto tras un reinicio. Rota en este orden para que ninguna solicitud de token presente un certificado que el IdP no tenga:

159 

1601. Sube el nuevo certificado al IdP junto al antiguo.

1612. Reemplaza los archivos de clave y certificado que carga `gateway.yaml` y luego reinicia el gateway.

1623. Elimina el certificado antiguo del IdP.

163 

102<h4 id="idp-requests-through-a-forward-proxy">164<h4 id="idp-requests-through-a-forward-proxy">

103 Solicitudes del IdP a través de un proxy directo165 Solicitudes del IdP a través de un proxy directo

104</h4>166</h4>

Details

25 Configuración del proveedor de identidad25 Configuración del proveedor de identidad

26</h2>26</h2>

27 27 

28Registre una aplicación web confidencial de OAuth/OpenID Connect (OIDC) con un único URI de redirección, `https://<gateway>/oauth/callback`, y asígnela a los usuarios o grupos que deben tener acceso a la puerta de enlace.28Registra una aplicación web confidencial de OAuth/OpenID Connect (OIDC) con un único URI de redirección, `https://<gateway>/oauth/callback`, y asígnala a los usuarios o grupos que deben tener acceso al gateway. El gateway se autentica ante el IdP con el secreto de cliente del registro, o con un certificado que subes al registro si tu IdP usa [credenciales de certificado](/docs/es/claude-apps-gateway-config#certificate-client-authentication) en su lugar.

29 29 

30Cualquier IdP compatible con OIDC funciona: Okta, Microsoft Entra ID, Google Workspace, Keycloak, Dex, PingFederate y otros. El IdP debe cumplir tres requisitos:30Cualquier IdP compatible con OIDC funciona: Okta, Microsoft Entra ID, Google Workspace, Keycloak, Dex, PingFederate y otros. El IdP debe cumplir tres requisitos:

31 31 

Details

226* **La sesión receptora solicita permisos**: Claude Code entrega cada mensaje. Retiene uno para tu aprobación solo cuando la sesión de envío se identifica como omitiendo mensajes de permiso.226* **La sesión receptora solicita permisos**: Claude Code entrega cada mensaje. Retiene uno para tu aprobación solo cuando la sesión de envío se identifica como omitiendo mensajes de permiso.

227* **La sesión receptora omite mensajes de permiso**: Claude Code retiene cada mensaje para tu aprobación. Entrega uno solo cuando la sesión de envío se identifica como también omitiendo.227* **La sesión receptora omite mensajes de permiso**: Claude Code retiene cada mensaje para tu aprobación. Entrega uno solo cuando la sesión de envío se identifica como también omitiendo.

228 228 

229Cuando el valor predeterminado retiene un mensaje, Claude Code abre un diálogo de aprobación en la sesión receptora. El diálogo muestra el remitente y una vista previa:229Cuando el valor predeterminado retiene un mensaje en una sesión interactiva de terminal, Claude Code abre un diálogo de aprobación allí. El diálogo muestra el remitente y una vista previa:

230 230 

231* **Aprobar** entrega ese mensaje a Claude.231* **Aprobar** entrega ese mensaje a Claude.

232* **Denegar**, o descartar el diálogo, lo descarta.232* **Denegar**, o descartar el diálogo, lo descarta.


234* Mientras ninguna terminal está adjunta a una [sesión en segundo plano](/docs/es/agent-view), Claude Code deja el diálogo abierto pasado el plazo. Después de que adjuntes, si el diálogo permanece sin respuesta durante un período de plazo completo, Claude Code lo cierra y descarta el mensaje.234* Mientras ninguna terminal está adjunta a una [sesión en segundo plano](/docs/es/agent-view), Claude Code deja el diálogo abierto pasado el plazo. Después de que adjuntes, si el diálogo permanece sin respuesta durante un período de plazo completo, Claude Code lo cierra y descarta el mensaje.

235* Si la clase de modo de permiso de esta sesión cambia mientras los mensajes están retenidos, Claude Code re-aplica las reglas de entrada, entrega los mensajes que ahora acepta, y muestra un aviso.235* Si la clase de modo de permiso de esta sesión cambia mientras los mensajes están retenidos, Claude Code re-aplica las reglas de entrada, entrega los mensajes que ahora acepta, y muestra un aviso.

236 236 

237Una sesión en la extensión de VS Code o en la aplicación de escritorio no puede mostrar el diálogo. Claude Code retiene allí un mensaje hasta el mismo plazo, como se describe en [Sesiones no interactivas](#non-interactive-sessions).

238 

237Claude Code retiene como máximo 100 mensajes, y pasado eso descarta los más antiguos.239Claude Code retiene como máximo 100 mensajes, y pasado eso descarta los más antiguos.

238 240 

239<h3 id="non-interactive-sessions">241<h3 id="non-interactive-sessions">

env-vars.md +1 −0

Details

275| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Establezca en `1` para evitar que Claude Code ejecute sus [hooks de Notification para solicitudes de permiso sin respuesta](/docs/es/hooks#notification) en sesiones donde Claude Code las envía a la devolución de llamada `canUseTool` del Agent SDK, que es cómo Claude Desktop y la extensión VS Code alojan Claude Code. No tiene efecto en sesiones de terminal. Requiere Claude Code v2.1.233 o posterior |275| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Establezca en `1` para evitar que Claude Code ejecute sus [hooks de Notification para solicitudes de permiso sin respuesta](/docs/es/hooks#notification) en sesiones donde Claude Code las envía a la devolución de llamada `canUseTool` del Agent SDK, que es cómo Claude Desktop y la extensión VS Code alojan Claude Code. No tiene efecto en sesiones de terminal. Requiere Claude Code v2.1.233 o posterior |

276| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Establezca en `1` para omitir la carga de skills desde el directorio de skills administrado en todo el sistema. Útil para sesiones de contenedor o CI que no deben cargar skills aprovisionadas por operador |276| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Establezca en `1` para omitir la carga de skills desde el directorio de skills administrado en todo el sistema. Útil para sesiones de contenedor o CI que no deben cargar skills aprovisionadas por operador |

277| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Establezca en `1` para desactivar la verificación de [herramienta PowerShell](/docs/es/tools-reference#powershell-tool) que niega los comandos integrados `cmd` `rd`, `rmdir`, `del` y `erase` en una [ruta del sistema](/docs/es/permission-modes#remove-item-in-powershell), como una raíz de unidad o su directorio de inicio. Claude Code ignora esta variable en un bloque `env` de archivo de configuración. Requiere Claude Code v2.1.283 o posterior |277| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Establezca en `1` para desactivar la verificación de [herramienta PowerShell](/docs/es/tools-reference#powershell-tool) que niega los comandos integrados `cmd` `rd`, `rmdir`, `del` y `erase` en una [ruta del sistema](/docs/es/permission-modes#remove-item-in-powershell), como una raíz de unidad o su directorio de inicio. Claude Code ignora esta variable en un bloque `env` de archivo de configuración. Requiere Claude Code v2.1.283 o posterior |

278| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | Establécela en `1` para evitar que Claude Code envíe el campo de salida estructurada `output_config.format` y el valor de `anthropic-beta` que lo acompaña, para un [gateway de LLM](/docs/es/llm-gateway-protocol#feature-pass-through) cuyo upstream los rechaza. Esto deja activas las demás capacidades preliminares que [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/es/llm-gateway-protocol#disable-pre-release-capabilities) desactiva. Requiere Claude Code v2.1.288 o posterior |

278| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Establezca en `1` para desactivar la verificación de [ruta crítica](/docs/es/permission-modes#critical-paths) para un `rm` recursivo cuyo objetivo es completamente la salida de una sustitución de comando, como `rm -rf "$(pwd)"`. Las otras verificaciones de ruta crítica siguen ejecutándose. Establézcalo en el entorno que inicia Claude Code, ya que Claude Code ignora una copia entregada a través de un bloque `env` de configuración. Requiere Claude Code v2.1.281 o posterior |279| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Establezca en `1` para desactivar la verificación de [ruta crítica](/docs/es/permission-modes#critical-paths) para un `rm` recursivo cuyo objetivo es completamente la salida de una sustitución de comando, como `rm -rf "$(pwd)"`. Las otras verificaciones de ruta crítica siguen ejecutándose. Establézcalo en el entorno que inicia Claude Code, ya que Claude Code ignora una copia entregada a través de un bloque `env` de configuración. Requiere Claude Code v2.1.281 o posterior |

279| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Establezca en `1` para desabilitar las actualizaciones automáticas del título de la terminal basadas en el contexto de la conversación. Esto también omite la solicitud de modelo pequeño/rápido de fondo que [genera un título de sesión](/docs/es/sessions#name-your-sessions) |280| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Establezca en `1` para desabilitar las actualizaciones automáticas del título de la terminal basadas en el contexto de la conversación. Esto también omite la solicitud de modelo pequeño/rápido de fondo que [genera un título de sesión](/docs/es/sessions#name-your-sessions) |

280| `CLAUDE_CODE_DISABLE_THINKING` | Establezca en `1` para omitir completamente el parámetro `thinking` de solicitudes de API. Esta es una opción de compatibilidad para proxies y puertas de enlace que rechazan el parámetro. En modelos que piensan de forma predeterminada, omitir el parámetro significa que el modelo aún puede pensar. Para desabilitar explícitamente [pensamiento extendido](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) en la API de Anthropic, use `MAX_THINKING_TOKENS=0` en su lugar. Ninguna variable desactiva el pensamiento en Opus 5.5, Sonnet 5.5 o los modelos Fable, que no pueden tener el pensamiento desactivado. En [proveedores de terceros](/docs/es/third-party-integrations), `MAX_THINKING_TOKENS=0` asimismo omite el parámetro, por lo que las dos variables se comportan igual allí |281| `CLAUDE_CODE_DISABLE_THINKING` | Establezca en `1` para omitir completamente el parámetro `thinking` de solicitudes de API. Esta es una opción de compatibilidad para proxies y puertas de enlace que rechazan el parámetro. En modelos que piensan de forma predeterminada, omitir el parámetro significa que el modelo aún puede pensar. Para desabilitar explícitamente [pensamiento extendido](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) en la API de Anthropic, use `MAX_THINKING_TOKENS=0` en su lugar. Ninguna variable desactiva el pensamiento en Opus 5.5, Sonnet 5.5 o los modelos Fable, que no pueden tener el pensamiento desactivado. En [proveedores de terceros](/docs/es/third-party-integrations), `MAX_THINKING_TOKENS=0` asimismo omite el parámetro, por lo que las dos variables se comportan igual allí |

errors.md +1 −1

Details

4414 Teammate's agent definition was not restored4414 Teammate's agent definition was not restored

4415</h3>4415</h3>

4416 4416 

4417Claude envió un mensaje a un compañero de [equipo de agentes](/docs/es/agent-teams) detenido, y Claude Code lo reactivó sin volver a aplicar la [definición de subagente](/docs/es/agent-teams#use-subagent-definitions-for-teammates) desde la que fue generado, porque su archivo de definición provenía de una carpeta sin confianza guardada. El aviso sigue al informe de reanudación en el resultado de la herramienta del agente remitente:4417Claude envió un mensaje a un compañero de [equipo de agentes](/docs/es/agent-teams) detenido, y Claude Code lo reactivó sin volver a aplicar la [definición de subagente](/docs/es/agent-teams#use-subagent-definitions-for-teammates) desde la que fue generado. El aviso sigue al informe de reanudación en el resultado de la herramienta del agente remitente y nombra la razón. Cuando el archivo de definición provenía de una carpeta sin confianza guardada, dice:

4418 4418 

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

4420Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.4420Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.

hooks.md +1 −1

Details

1931| Campo | Descripción |1931| Campo | Descripción |

1932| :- | :- |1932| :- | :- |

1933| `permissionDecision` | `"allow"` omite el prompt de permiso, excepto para las [acciones que ningún modo auto-aprueba](/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 |1933| `permissionDecision` | `"allow"` omite el prompt de permiso, excepto para las [acciones que ningún modo auto-aprueba](/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 |

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

1935| `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 ejecución en segundo plano](/docs/es/tools-reference#foreground-commands-that-move-to-the-background) de un comando Bash contra la entrada que devuelve su hook, no la entrada que envió Claude. Combine con `"allow"` para auto-aprobar, o `"ask"` para mostrar la entrada modificada al usuario. Para `"defer"`, se ignora |1935| `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 ejecución en segundo plano](/docs/es/tools-reference#foreground-commands-that-move-to-the-background) de un comando Bash contra la entrada que devuelve su hook, no la entrada que envió Claude. Combine con `"allow"` para auto-aprobar, o `"ask"` para mostrar la entrada modificada al usuario. Para `"defer"`, se ignora |

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

1937 1937 

Details

245| [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 un gateway acepta solicitudes con formato Anthropic pero las reenvía a Amazon Bedrock | Reenvía ambos, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |245| [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 un gateway acepta solicitudes con formato Anthropic pero las reenvía a Amazon Bedrock | Reenvía ambos, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

246| [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 |246| [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 |

247| Campos de [herramienta](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) beta | Los encabezados beta relacionados con herramientas se emparejan con campos de esquema de herramienta como `strict` y `defer_loading` | `400` nombrando el campo de esquema de herramienta no reconocido cuando el cuerpo pasa sin su encabezado | Reenvíe ambos, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |247| Campos de [herramienta](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) beta | Los encabezados beta relacionados con herramientas se emparejan con campos de esquema de herramienta como `strict` y `defer_loading` | `400` nombrando el campo de esquema de herramienta no reconocido cuando el cuerpo pasa sin su encabezado | Reenvíe ambos, o [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

248| [Esfuerzo](https://platform.claude.com/docs/en/build-with-claude/effort) y [salidas estructuradas](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | El campo de cuerpo `output_config` lleva el esfuerzo, el formato de salida estructurada y la configuración de presupuesto de tarea; cada uno se empareja con su propio encabezado beta | `400` que nombra `output_config`, a menudo `Extra inputs are not permitted`, en proveedores ascendentes Amazon Bedrock y Agent Platform de Google Cloud | Reenvía el campo y sus encabezados juntos, o haz que los desarrolladores establezcan [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), que elimina la configuración de formato y de presupuesto de tarea, pero no el esfuerzo |248| [Esfuerzo](https://platform.claude.com/docs/en/build-with-claude/effort) y [salidas estructuradas](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | El campo de cuerpo `output_config` lleva el esfuerzo, el formato de salida estructurada y la configuración de presupuesto de tarea; cada uno se empareja con su propio encabezado beta | `400` que nombra `output_config`, a menudo `Extra inputs are not permitted`, en proveedores ascendentes Amazon Bedrock y Agent Platform de Google Cloud | Reenvía el campo y sus encabezados juntos, o haz que los desarrolladores establezcan [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), que elimina la configuración de formato y de presupuesto de tarea, pero no el esfuerzo. Para eliminar solo el formato, pueden establecer [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](/docs/es/env-vars) en su lugar, lo que requiere v2.1.288 o posterior |

249| [Almacenamiento en caché de solicitudes](/docs/es/prompt-caching) | Sin emparejamiento beta. Claude Code adjunta marcadores `cache_control` a bloques `system` y a entradas `messages`, incluidas entradas `role: "system"` añadidas a mitad de conversación | Sin error: la conversación se factura como entrada sin caché en cada turno, visible como `input_tokens` alto con poca o ninguna actividad de caché en `usage` | Reenvíe `cache_control` sin cambios dondequiera que aparezca, y no convierta bloques de forma `system` o contenido de mensaje a cadenas simples |249| [Almacenamiento en caché de solicitudes](/docs/es/prompt-caching) | Sin emparejamiento beta. Claude Code adjunta marcadores `cache_control` a bloques `system` y a entradas `messages`, incluidas entradas `role: "system"` añadidas a mitad de conversación | Sin error: la conversación se factura como entrada sin caché en cada turno, visible como `input_tokens` alto con poca o ninguna actividad de caché en `usage` | Reenvíe `cache_control` sin cambios dondequiera que aparezca, y no convierta bloques de forma `system` o contenido de mensaje a cadenas simples |

250| [Conteo de tokens](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Sin emparejamiento beta; utiliza el punto final `count_tokens` | Sin error: Claude Code vuelve a un estimado basado en caracteres, así que `/context` muestra conteos aproximados | Exponga el punto final para conteos de tokens exactos |250| [Conteo de tokens](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Sin emparejamiento beta; utiliza el punto final `count_tokens` | Sin error: Claude Code vuelve a un estimado basado en caracteres, así que `/context` muestra conteos aproximados | Exponga el punto final para conteos de tokens exactos |

251 251 

model-config.md +4 −3

Details

794 794 

795<span id="context-window-behind-a-gateway" />795<span id="context-window-behind-a-gateway" />

796 796 

797Si estableces `ANTHROPIC_BASE_URL` en un [gateway de LLM](/docs/es/llm-gateway) u otro proxy, Claude Code da a cada modelo que reconoce la misma ventana de contexto que tiene el modelo en la Anthropic API. Fable 5.1, Fable 5, Sonnet 5 y posteriores, y Opus 4.7 y posteriores obtienen la ventana de 1M sin variante `[1m]` que seleccionar, y un modelo que alcanza 1M solo mediante su variante `[1m]`, como Opus 4.6, se ejecuta a 200K sin ella. Claude Code no puede detectar un límite inferior que imponga el gateway o el servidor detrás de él. Si tu gateway rechaza solicitudes de más de 200K tokens, ejecuta [`/autocompact 200k`](#set-the-auto-compact-window) para que las sesiones se compacten en ese límite.797Si estableces `ANTHROPIC_BASE_URL` en un [gateway de LLM](/docs/es/llm-gateway) u otro proxy, Claude Code da a cada modelo que reconoce la misma ventana de contexto que tiene el modelo en la Anthropic API. Fable 5.1, Fable 5, Sonnet 5 y posteriores, y Opus 4.7 y posteriores obtienen la ventana de 1M sin variante `[1m]` que seleccionar, y un modelo que alcanza 1M solo mediante su variante `[1m]`, como Opus 4.6, se ejecuta a 200K sin ella. Claude Code no puede detectar un límite inferior que imponga el gateway o el servidor detrás de él. Si tu gateway rechaza solicitudes de más de 200K tokens, establece [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/es/env-vars) en el entorno que inicia Claude Code, para que las sesiones en todos los modelos [se compacten en ese límite](#set-the-auto-compact-window).

798 798 

799Para desactivar el contexto de 1M, establece `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Claude Code elimina las variantes de modelo de 1M del selector de modelos. En los modelos con una ventana nativa de 1M, como Sonnet 5 y los modelos Fable, también trata el modelo como si tuviera una ventana de contexto de 200K:799Para desactivar el contexto de 1M, establece `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Claude Code elimina las variantes de modelo de 1M del selector de modelos. En los modelos con una ventana nativa de 1M, como Sonnet 5 y los modelos Fable, también trata el modelo como si tuviera una ventana de contexto de 200K:

800 800 


840 Establecer la ventana de auto-compactación840 Establecer la ventana de auto-compactación

841</h3>841</h3>

842 842 

843Puede establecer la ventana de auto-compactación en tres lugares:843Puedes establecer la ventana de compactación automática en estos lugares:

844 844 

845* **Para esta sesión y las posteriores**: ejecute `/autocompact` con un valor, como `/autocompact 500k`. Claude Code lo guarda en la configuración de usuario como [`autoCompactWindow`](/docs/es/settings-reference#autocompactwindow) y lo aplica a la sesión actual; si un [ámbito de configuración](/docs/es/settings#settings-precedence) de mayor prioridad, como la configuración administrada, establece la clave, el comando guarda su valor pero la sesión mantiene la ventana de ese ámbito, y el comando lo indica. Ejecute `/autocompact auto` para volver a la ventana ajustada para su modelo.845* **Para el modelo actual, en esta sesión y las posteriores**: ejecuta `/autocompact` con un valor, como `/autocompact 500k`. Claude Code lo guarda en tu configuración de usuario bajo el modelo actual en [`modelSettings`](/docs/es/settings-reference#modelsettings) y lo aplica a la sesión actual. Si un [alcance de configuración](/docs/es/settings#settings-precedence) de mayor prioridad, como la configuración administrada, establece su propia ventana para ese modelo o para todos los modelos, el comando guarda tu valor pero la sesión mantiene la ventana de ese alcance, y el comando lo indica. Ejecuta `/autocompact auto` para volver a la ventana ajustada para tu modelo. Antes de v2.1.288, el comando guardaba una sola ventana para todos los modelos, como el ajuste de nivel superior `autoCompactWindow`.

846* **Para todos los modelos**: establece [`autoCompactWindow`](/docs/es/settings-reference#autocompactwindow) en un archivo de configuración, como `"autoCompactWindow": 200000` en `~/.claude/settings.json`. Una ventana que hayas guardado para un modelo con `/autocompact` tiene precedencia sobre esta clave en el mismo archivo para ese modelo.

846* **Para un lanzamiento**: pase [`--autocompact`](/docs/es/cli-reference#cli-flags) al iniciar Claude Code. La bandera anula su configuración guardada para ese lanzamiento sin cambiarla, y `claude --autocompact auto` ejecuta la sesión en la ventana ajustada incluso si su configuración guardada tiene un valor. A diferencia de `/autocompact`, la bandera no es anulada por un ámbito de configuración de mayor prioridad, como la configuración administrada.847* **Para un lanzamiento**: pase [`--autocompact`](/docs/es/cli-reference#cli-flags) al iniciar Claude Code. La bandera anula su configuración guardada para ese lanzamiento sin cambiarla, y `claude --autocompact auto` ejecuta la sesión en la ventana ajustada incluso si su configuración guardada tiene un valor. A diferencia de `/autocompact`, la bandera no es anulada por un ámbito de configuración de mayor prioridad, como la configuración administrada.

847* **En scripts y entornos en la nube**: establezca [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/es/env-vars). Mientras esté establecida, tiene precedencia sobre el comando, la bandera y la configuración, y `/autocompact` reporta la anulación en lugar de cambiar la ventana.848* **En scripts y entornos en la nube**: establezca [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/es/env-vars). Mientras esté establecida, tiene precedencia sobre el comando, la bandera y la configuración, y `/autocompact` reporta la anulación en lugar de cambiar la ventana.

848 849 

plugins/publish.md +26 −11

Details

145 Enviar al directorio de Anthropic145 Enviar al directorio de Anthropic

146</h2>146</h2>

147 147 

148El directorio de Anthropic es el catálogo que las personas exploran en claude.ai y en Cowork para agregar plugins y conectores. Un listado allí llega a personas en claude.ai, en Cowork y en Claude Code. Usted envía desde el portal de desarrolladores en [claude.ai/directory/manage](https://claude.ai/directory/manage); [Prepare for review](https://claude.com/docs/directory/publish#prepare-for-review) en claude.com describe qué sucede con cada versión antes de que se publique.148El [directorio de Anthropic](https://claude.ai/directory) es el catálogo que las personas exploran en claude.ai y en Cowork para agregar plugins y conectores. Un listado allí llega a personas en claude.ai, en Cowork y en Claude Code. Envías desde el portal de desarrolladores en [claude.ai/directory/manage](https://claude.ai/directory/manage), y [Submit a plugin](https://claude.com/docs/plugins/submit#submit-a-plugin) en claude.com te guía por el portal.

149 149 

150El envío requiere un plan de claude.ai de pago. En Pro y Max usted envía desde su propia cuenta. En Team y Enterprise, un Owner puede enviar, y en Enterprise un Owner también puede otorgar el permiso de **Directory** a otros miembros a través de un rol personalizado en **Organization settings > Roles**. Consulte [Confirm you can submit to the directory](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).150El marketplace oficial de Anthropic, `claude-plugins-official`, no acepta envíos a través del portal de directorio. Si trabajas con un contacto de socio de Anthropic, pregúntale sobre un listado en el marketplace oficial.

151 151 

152Los pasos de envío, las comprobaciones que cada versión debe pasar y qué sucede después de que publica se documentan en claude.com, porque son los mismos sin importar en qué superficie estén sus usuarios:152Para enviar un plugin:

153 153 

154* [Publish to the directory](https://claude.com/docs/directory/publish#before-you-submit-to-the-directory): qué puede enviar y quién puede enviarlo154<Steps>

155* [Submit a plugin](https://claude.com/docs/plugins/submit#submit-a-plugin): los pasos del portal y [updating a published plugin](https://claude.com/docs/plugins/submit#update-a-published-plugin)155 <Step title="Confirma que puedes enviar">

156* [Plugin pre-submission checklist](https://claude.com/docs/plugins/pre-submission-checklist#run-the-checks-before-you-submit): las comprobaciones a ejecutar y corregir antes de enviar156 El envío requiere un plan de claude.ai de pago. En Pro y Max envías desde tu propia cuenta. En Team y Enterprise, un Owner puede enviar, y en Enterprise un Owner también puede otorgar el permiso de **Directory** a otros miembros a través de un rol personalizado en **Organization settings > Roles**. Consulta [Confirm you can submit to the directory](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).

157* [Move an earlier submission to the developer portal](https://claude.com/docs/directory/publish#move-an-earlier-submission-to-the-developer-portal): qué hacer si envió un plugin a través de uno de los formularios de envío anteriores, antes de que existiera el portal157 </Step>

158 158 

159Antes de abrir el portal, valide localmente y compruebe cuál de sus componentes se carga fuera de Claude Code:159 <Step title="Valida el plugin localmente">

160 Ejecuta `claude plugin validate ./your-plugin --strict` en tu shell. Reemplaza `./your-plugin` con la ruta a tu directorio de plugin. El comando detecta errores de manifiesto localmente; [plugin validate](/docs/es/plugins/cli-reference#plugin-validate) enumera qué archivos lee cada ejecución. El portal aplica reglas de directorio adicionales que la CLI no comprueba, por lo que una ejecución local limpia no garantiza una validación de portal limpia.

160 161 

161* **Ejecute `claude plugin validate ./your-plugin --strict` en su shell**: reemplace `./your-plugin` con la ruta a su directorio de plugin. El comando detecta errores de manifiesto localmente; [plugin validate](/docs/es/plugins/cli-reference#plugin-validate) enumera qué archivos lee cada ejecución. El portal aplica reglas de directorio adicionales que la CLI no comprueba, por lo que una ejecución local limpia no garantiza una validación de portal limpia.162 La [plugin pre-submission checklist](https://claude.com/docs/plugins/pre-submission-checklist#run-the-checks-before-you-submit) en claude.com contiene las comprobaciones a ejecutar y corregir antes de enviar.

162* **Compruebe qué se carga dónde**: algunos componentes de plugin son solo de Claude Code y no se cargan en claude.ai o en Cowork. La [component support table](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) enumera cada componente por aplicación, para que sepa qué obtendrán los usuarios fuera de Claude Code.163 </Step>

164 

165 <Step title="Comprueba qué se carga dónde">

166 Algunos componentes de plugin son solo de Claude Code y no se cargan en claude.ai o en Cowork. La [component support table](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) enumera cada componente por aplicación, para que sepas qué obtendrán los usuarios fuera de Claude Code.

167 </Step>

163 168 

164El marketplace oficial de Anthropic, `claude-plugins-official`, no acepta envíos a través del portal de directorio. Si trabaja con un contacto de socio de Anthropic, pregúnteles sobre un listado en el marketplace oficial.169 <Step title="Envía en el portal de desarrolladores">

170 Abre el portal de desarrolladores en [claude.ai/directory/manage](https://claude.ai/directory/manage) y sigue [Submit a plugin](https://claude.com/docs/plugins/submit#submit-a-plugin) en claude.com.

171 </Step>

172</Steps>

173 

174El resto del proceso está documentado en claude.com:

175 

176* [Prepare for review](https://claude.com/docs/directory/publish#prepare-for-review): qué sucede con cada versión antes de que se publique

177* [Update a published plugin](https://claude.com/docs/plugins/submit#update-a-published-plugin): cómo una nueva versión llega a las personas que tienen tu plugin

178* [Submit your plugin, and your MCP server as a connector](https://claude.com/docs/directory/publish#submit-your-plugin-and-your-mcp-server-as-a-connector): qué puedes enviar

179* [Move an earlier submission to the developer portal](https://claude.com/docs/directory/publish#move-an-earlier-submission-to-the-developer-portal): qué hacer si envió un plugin a través de uno de los formularios de envío anteriores, antes de que existiera el portal

165 180 

166<h3 id="how-a-listed-plugin-reaches-claude-code-users">181<h3 id="how-a-listed-plugin-reaches-claude-code-users">

167 Cómo un plugin listado llega a los usuarios de Claude Code182 Cómo un plugin listado llega a los usuarios de Claude Code

Details

708| [`modelOverrides`](#modeloverrides) | [Asigna los ID de modelo](/docs/es/model-config#override-model-ids-per-version) a los ID de tu proveedor, como los ARN de Bedrock | Modelo y respuestas | Any file |708| [`modelOverrides`](#modeloverrides) | [Asigna los ID de modelo](/docs/es/model-config#override-model-ids-per-version) a los ID de tu proveedor, como los ARN de Bedrock | Modelo y respuestas | Any file |

709| [`modelPicker`](#modelpicker) | Elige qué modelos muestra el [selector de `/model`](/docs/es/model-config#available-models), en tu propio orden y con tus propias etiquetas | Modelo y respuestas | User or managed |709| [`modelPicker`](#modelpicker) | Elige qué modelos muestra el [selector de `/model`](/docs/es/model-config#available-models), en tu propio orden y con tus propias etiquetas | Modelo y respuestas | User or managed |

710| [`modelPricing`](#modelpricing) | Reporta el gasto con las tarifas contratadas por tu organización en lugar del precio de lista | Modelo y respuestas | Managed |710| [`modelPricing`](#modelpricing) | Reporta el gasto con las tarifas contratadas por tu organización en lugar del precio de lista | Modelo y respuestas | Managed |

711| [`modelSettings`](#modelsettings) | Guarda un [nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) por modelo, o limita el esfuerzo de un modelo | Modelo y respuestas | Any file |711| [`modelSettings`](#modelsettings) | Guarda un [nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) o una [ventana de compactación automática](/docs/es/model-config#set-the-auto-compact-window) por modelo, o limita el esfuerzo de un modelo | Modelo y respuestas | Any file |

712| [`otelHeadersHelper`](#otelheadershelper) | Genera encabezados rotativos de [OpenTelemetry](/docs/es/monitoring-usage#dynamic-headers) con tu propio comando | Autenticación y proveedores | Any file |712| [`otelHeadersHelper`](#otelheadershelper) | Genera encabezados rotativos de [OpenTelemetry](/docs/es/monitoring-usage#dynamic-headers) con tu propio comando | Autenticación y proveedores | Any file |

713| [`outputStyle`](#outputstyle) | Cambia el rol, el tono y el formato de salida de Claude con un [estilo de salida](/docs/es/output-styles) | Modelo y respuestas | Any file |713| [`outputStyle`](#outputstyle) | Cambia el rol, el tono y el formato de salida de Claude con un [estilo de salida](/docs/es/output-styles) | Modelo y respuestas | Any file |

714| [`parentSettingsBehavior`](#parentsettingsbehavior) | Aplica o descarta las restricciones que pasa un [host de SDK o IDE](/docs/es/managed-settings#let-an-embedding-host-add-policy) cuando implementas la [configuración administrada](/docs/es/managed-settings) | Configuración empresarial y administrada | Managed |714| [`parentSettingsBehavior`](#parentsettingsbehavior) | Aplica o descarta las restricciones que pasa un [host de SDK o IDE](/docs/es/managed-settings#let-an-embedding-host-add-policy) cuando implementas la [configuración administrada](/docs/es/managed-settings) | Configuración empresarial y administrada | Managed |


1282Para limitar el esfuerzo de un modelo en lugar de establecer su nivel, agregue un campo [`maxEffortLevel`](#maxeffortlevel) a la entrada de ese modelo. El campo requiere Claude Code v2.1.267 o posterior.1282Para limitar el esfuerzo de un modelo en lugar de establecer su nivel, agregue un campo [`maxEffortLevel`](#maxeffortlevel) a la entrada de ese modelo. El campo requiere Claude Code v2.1.267 o posterior.

1283 1283 

1284* **Alcance**: [`Cualquier archivo`](#scopes)1284* **Alcance**: [`Cualquier archivo`](#scopes)

1285* **Tipo**: objeto que asigna un nombre de modelo a un objeto con un campo `effortLevel`, uno de `"low"`, `"medium"`, `"high"` u `"xhigh"`, un campo [`maxEffortLevel`](#maxeffortlevel) o ambos1285* **Tipo**: objeto que asigna un nombre de modelo a un objeto con cualquiera de estos campos:

1286 * `effortLevel`: uno de `"low"`, `"medium"`, `"high"` o `"xhigh"`

1287 * [`maxEffortLevel`](#maxeffortlevel): el nivel de esfuerzo más alto con el que puede ejecutarse el modelo

1288 * `autoCompactWindow`: un número de tokens de `100000` a `1000000`, o `"auto"` para la ventana ajustada para el modelo. [`/autocompact`](/docs/es/model-config#set-the-auto-compact-window) guarda aquí. Para ese modelo, el valor tiene precedencia sobre un [`autoCompactWindow`](#autocompactwindow) de nivel superior en el mismo archivo de configuración. Requiere Claude Code v2.1.288 o posterior

1286* **Predeterminado**: sin establecer1289* **Predeterminado**: sin establecer

1287 1290 

1288Claude Code escribe cada entrada bajo el nombre canónico del modelo, como `claude-opus-5-5`, y coincide con el alias de ese modelo, con sufijo de fecha, `[1m]` e IDs específicos del proveedor reconocidos a la misma entrada.1291Claude Code escribe cada entrada bajo el nombre canónico del modelo, como `claude-opus-5-5`, y coincide con el alias de ese modelo, con sufijo de fecha, `[1m]` e IDs específicos del proveedor reconocidos a la misma entrada.


2967}2970}

2968```2971```

2969 2972 

2970Establézcalo con el comando [`/autocompact`](/docs/es/commands#all-commands), que escribe esta clave en la configuración del usuario. [Establecer la ventana de auto-compactación](/docs/es/model-config#set-the-auto-compact-window) cubre cómo interactúan el comando, la bandera, la variable y la configuración.2973El comando [`/autocompact`](/docs/es/commands#all-commands) guarda una ventana para el modelo actual en [`modelSettings`](#modelsettings), que tiene prioridad sobre esta clave en el mismo archivo para ese modelo. [Establecer la ventana de compactación automática](/docs/es/model-config#set-the-auto-compact-window) cubre cómo interactúan el comando, el flag, la variable y el ajuste.

2971 2974 

2972<h3 id="automemorydirectory">2975<h3 id="automemorydirectory">

2973 `autoMemoryDirectory`2976 `autoMemoryDirectory`

ultrareview.md +1 −5

Details

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) |

138 137 

139* **Ejecuciones gratuitas**: las tres ejecuciones de Pro y Max son una asignación única por cuenta y no se renuevan.138* **Ejecuciones gratuitas**: las tres ejecuciones de Pro y Max son una asignación única por cuenta y no se renuevan.

140* **Costo por revisión**: después de usar las ejecuciones gratuitas, típicamente entre $5 y $25 en créditos de uso dependiendo del tamaño del cambio, coincidiendo con la estimación que muestra el diálogo de lanzamiento antes de cada ejecución.139* **Costo por revisión**: después de usar las ejecuciones gratuitas, típicamente entre $5 y $25 en créditos de uso dependiendo del tamaño del cambio, coincidiendo con la estimación que muestra el diálogo de lanzamiento antes de cada ejecución.

141* **Cuándo se cuenta una ejecución**: una vez que la sesión en la nube comienza. Una revisión que detenga temprano o que no se complete correctamente sigue utilizando una ejecución gratuita; una revisión pagada se factura solo por la porción que se ejecutó.140* **Cuándo se cuenta una ejecución**: una vez que la sesión en la nube comienza. Una revisión que detenga temprano o que no se complete correctamente sigue utilizando una ejecución gratuita; una revisión pagada se factura solo por la porción que se ejecutó.

142 141 

143Debido a que ultrareview siempre se factura como créditos de uso fuera de las ejecuciones gratuitas, su cuenta u organización debe tener los créditos de uso habilitados antes de poder lanzar una revisión pagada. Si los créditos de uso no están habilitados, Claude Code bloquea el lanzamiento, y cómo activarlos depende de su acceso de facturación:142Debido a que ultrareview siempre se factura como créditos de uso fuera de las ejecuciones gratuitas, tu cuenta u organización debe tener los créditos de uso activados antes de poder lanzar una revisión pagada. Si los créditos de uso no están activados, Claude Code bloquea el lanzamiento. Si puedes administrar la facturación de tu cuenta, Claude Code te vincula a la configuración de facturación donde puedes activar los créditos de uso.

144 

145* Si puede administrar la facturación de su cuenta, Claude Code le vincula a la configuración de facturación donde puede activar los créditos de uso.

146* En planes Team y Enterprise, los miembros sin acceso de facturación envían una solicitud desde la CLI pidiendo a su administrador que active los créditos de uso.

147 143 

148También puede ejecutar `/usage-credits` para verificar o cambiar su configuración de créditos de uso.144También puede ejecutar `/usage-credits` para verificar o cambiar su configuración de créditos de uso.

149 145