122| `A request to MCP server "<name>" was sent without your stored credentials` | [Autenticación](#couldnt-read-the-stored-credentials-for-mcp-server) |122| `A request to MCP server "<name>" was sent without your stored credentials` | [Autenticación](#couldnt-read-the-stored-credentials-for-mcp-server) |
123| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Autenticación](#mcp-server-url-is-missing-or-not-a-valid-url) |123| `This server's URL is missing or not a valid URL, so sign-in can't start` | [Autenticación](#mcp-server-url-is-missing-or-not-a-valid-url) |
124| `Issuer mismatch in authorization response (RFC 9207)` | [Autenticación](#issuer-mismatch-in-authorization-response) |124| `Issuer mismatch in authorization response (RFC 9207)` | [Autenticación](#issuer-mismatch-in-authorization-response) |
125| `Stopped an OAuth request` | [Autenticación](#stopped-an-oauth-request) |
125| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [Autenticación](#refusing-to-send-credentials-to-non-https-token-endpoint) |126| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [Autenticación](#refusing-to-send-credentials-to-non-https-token-endpoint) |
126| `Cloud gateway session expired — run /login to reconnect.` | [Autenticación](#cloud-gateway-session-expired) |127| `Cloud gateway session expired — run /login to reconnect.` | [Autenticación](#cloud-gateway-session-expired) |
127| `Cloud gateway <url> no longer accepts this session` | [Autenticación](#cloud-gateway-session-expired) |128| `Cloud gateway <url> no longer accepts this session` | [Autenticación](#cloud-gateway-session-expired) |
153| `403` con `GitHub GraphQL is not available from Claude Code sessions` en una sesión en la nube | [Proxy de GitHub](https://code.claude.com/docs/es/cloud-environments.md#github-proxy) |154| `403` con `GitHub GraphQL is not available from Claude Code sessions` en una sesión en la nube | [Proxy de GitHub](https://code.claude.com/docs/es/cloud-environments.md#github-proxy) |
154| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Red](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |155| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Red](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |
155| `Failed to fetch session from Sessions API: Failed to fetch session logs` | [Red](#failed-to-fetch-session-from-sessions-api) |156| `Failed to fetch session from Sessions API: Failed to fetch session logs` | [Red](#failed-to-fetch-session-from-sessions-api) |
157| `Couldn't load the history of cloud session` | [Red](#couldnt-load-the-history-of-cloud-session) |
156| `Couldn't reconnect to your Remote Control session` | [Red](#couldnt-reconnect-to-your-remote-control-session) |158| `Couldn't reconnect to your Remote Control session` | [Red](#couldnt-reconnect-to-your-remote-control-session) |
157| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Red](#sessions-ended-while-this-machine-was-offline) |159| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Red](#sessions-ended-while-this-machine-was-offline) |
158| `Couldn't share the transcript.` | [Red](#couldnt-share-the-transcript) |160| `Couldn't share the transcript.` | [Red](#couldnt-share-the-transcript) |
180| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Errores de solicitud](#pdf-errors) |182| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Errores de solicitud](#pdf-errors) |
181| `Extra inputs are not permitted` | [Errores de solicitud](#extra-inputs-are-not-permitted) |183| `Extra inputs are not permitted` | [Errores de solicitud](#extra-inputs-are-not-permitted) |
182| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [Errores de solicitud](#tool-input-schema-is-invalid) |184| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [Errores de solicitud](#tool-input-schema-is-invalid) |
185| `N tools left out` junto a un servidor en `/mcp` / `Claude wasn't given N tools because the Anthropic API would reject their input schemas` | [Herramientas con esquemas de entrada no válidos](https://code.claude.com/docs/es/mcp.md#tools-with-invalid-input-schemas) |
183| `Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 128` | [Errores de solicitud](#mcp-tool-name-over-128-characters) |186| `Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 128` | [Errores de solicitud](#mcp-tool-name-over-128-characters) |
184| `tools.N.custom.name: String should have at most 128 characters` | [Errores de solicitud](#mcp-tool-name-over-128-characters) |187| `tools.N.custom.name: String should have at most 128 characters` | [Errores de solicitud](#mcp-tool-name-over-128-characters) |
185| `tool_use.name: String should have at most 200 characters` | [Errores de solicitud](#tool-use-name-over-200-characters) |188| `tool_use.name: String should have at most 200 characters` | [Errores de solicitud](#tool-use-name-over-200-characters) |
251| `Ultrareview did not start` | [Errores de línea de comandos](#ultrareview-did-not-start) |254| `Ultrareview did not start` | [Errores de línea de comandos](#ultrareview-did-not-start) |
252| `Remote Control did not start: "<question>" got no answer` | [Errores de línea de comandos](#remote-control-did-not-start-got-no-answer) |255| `Remote Control did not start: "<question>" got no answer` | [Errores de línea de comandos](#remote-control-did-not-start-got-no-answer) |
253| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Errores de línea de comandos](#not-carried-over-to-the-sessions-remote-control-starts) |256| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Errores de línea de comandos](#not-carried-over-to-the-sessions-remote-control-starts) |
257| `Remote Control did not start, because sessions would skip part or all of the --settings file` | [Errores de línea de comandos](#remote-control-did-not-start-because-of-the-settings-file) |
258| `The settings file <file> has changed since Remote Control started, so this session did not start` | [Errores de línea de comandos](#settings-file-changed-since-remote-control-started) |
254| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [Errores de línea de comandos](#sandbox-is-not-supported-by-claude-remote-control) |259| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [Errores de línea de comandos](#sandbox-is-not-supported-by-claude-remote-control) |
255| `` `claude import` is not yet available in this build `` | [Errores de línea de comandos](#claude-import-is-not-yet-available-in-this-build) |260| `` `claude import` is not yet available in this build `` | [Errores de línea de comandos](#claude-import-is-not-yet-available-in-this-build) |
256| `Could not read Claude Code config` | [Errores de línea de comandos](#could-not-read-claude-code-config) |261| `Could not read Claude Code config` | [Errores de línea de comandos](#could-not-read-claude-code-config) |
268| `No available ports for OAuth redirect` | [Errores de línea de comandos](#no-available-ports-for-oauth-redirect) |273| `No available ports for OAuth redirect` | [Errores de línea de comandos](#no-available-ports-for-oauth-redirect) |
269| `Shell command failed for pattern "..."`, de `/security-review` o de cualquier skill que inyecte contexto dinámico | [Errores de línea de comandos](#security-review-fails-without-origin-head) |274| `Shell command failed for pattern "..."`, de `/security-review` o de cualquier skill que inyecte contexto dinámico | [Errores de línea de comandos](#security-review-fails-without-origin-head) |
270| `Shell command permission check failed for pattern "..."`, de un skill que inyecta contexto dinámico | [Errores de línea de comandos](#security-review-fails-without-origin-head) |275| `Shell command permission check failed for pattern "..."`, de un skill que inyecta contexto dinámico | [Errores de línea de comandos](#security-review-fails-without-origin-head) |
276| ``Couldn't run `<command>` for <name>. A file named HEAD or .git in this folder or one above it may not be yours``, desde un skill que inyecta contexto dinámico | [Comprobaciones de permisos en comandos inyectados](https://code.claude.com/docs/es/skills.md#permission-checks-on-injected-commands) |
271| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Errores de línea de comandos](#security-review-fails-without-origin-head) |277| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Errores de línea de comandos](#security-review-fails-without-origin-head) |
272| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [Errores de línea de comandos](#no-shell-command-was-run) |278| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [Errores de línea de comandos](#no-shell-command-was-run) |
273| `Input must be provided either through stdin or as a prompt argument when using --print` | [Errores de línea de comandos](#input-must-be-provided-when-using-print) |279| `Input must be provided either through stdin or as a prompt argument when using --print` | [Errores de línea de comandos](#input-must-be-provided-when-using-print) |
425| `Workspace not trusted.` al iniciar o reiniciar una sesión en segundo plano | [Errores de sesión en segundo plano](#workspace-not-trusted-when-dispatching-a-background-session) |431| `Workspace not trusted.` al iniciar o reiniciar una sesión en segundo plano | [Errores de sesión en segundo plano](#workspace-not-trusted-when-dispatching-a-background-session) |
426| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Errores de sesión en segundo plano](#eacces-when-starting-a-background-session) |432| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Errores de sesión en segundo plano](#eacces-when-starting-a-background-session) |
427| `Claude Code process exited with code N` | [Errores de contenedor e IDE](#claude-code-process-exited-with-code-n) |433| `Claude Code process exited with code N` | [Errores de contenedor e IDE](#claude-code-process-exited-with-code-n) |
434| `Subprocess initialization did not complete within 60000ms` | [Errores de wrappers e IDE](#subprocess-initialization-did-not-complete-within-60000ms) |
435| `Claude Code did not finish starting` | [Errores de wrappers e IDE](#subprocess-initialization-did-not-complete-within-60000ms) |
428| `The connection to Claude Code ended before this message completed` | [Errores de contenedor e IDE](#the-connection-to-claude-code-ended-before-this-message-completed) |436| `The connection to Claude Code ended before this message completed` | [Errores de contenedor e IDE](#the-connection-to-claude-code-ended-before-this-message-completed) |
429| `Could not locate the Claude CLI on PATH` | [Errores de contenedor e IDE](#could-not-locate-the-claude-cli-on-path) |437| `Could not locate the Claude CLI on PATH` | [Errores de contenedor e IDE](#could-not-locate-the-claude-cli-on-path) |
430| `The Claude Code program for this computer, the <build> build, could not be found` | [Errores del wrapper y del IDE](#the-claude-code-program-for-this-computer-could-not-be-found) |438| `The Claude Code program for this computer, the <build> build, could not be found` | [Errores del wrapper y del IDE](#the-claude-code-program-for-this-computer-could-not-be-found) |
560| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS` | sin límite | Con `CLAUDE_CODE_RETRY_WATCHDOG` establecido, el tiempo máximo en milisegundos que una solicitud espera a que se restablezca el [límite de uso](#youve-hit-your-session-limit) de tu plan, como el límite de sesión o el semanal. Cuando el restablecimiento está más lejos que este límite, la solicitud falla de inmediato, a menos que los créditos de uso tengan margen o la API no haya podido comprobarlos. En esos casos se reintenta, y falla si se supera el límite antes de que tenga éxito. Requiere Claude Code v2.1.301 o posterior. |568| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS` | sin límite | Con `CLAUDE_CODE_RETRY_WATCHDOG` establecido, el tiempo máximo en milisegundos que una solicitud espera a que se restablezca el [límite de uso](#youve-hit-your-session-limit) de tu plan, como el límite de sesión o el semanal. Cuando el restablecimiento está más lejos que este límite, la solicitud falla de inmediato, a menos que los créditos de uso tengan margen o la API no haya podido comprobarlos. En esos casos se reintenta, y falla si se supera el límite antes de que tenga éxito. Requiere Claude Code v2.1.301 o posterior. |
561| [`CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS`](https://code.claude.com/docs/es/env-vars) | sin establecer | Intervalo mínimo en milisegundos entre comprobaciones de si un [límite de uso](#youve-hit-your-session-limit) ya se levantó, mientras una solicitud espera a que ese límite se restablezca con `CLAUDE_CODE_RETRY_WATCHDOG` establecido. Cuando una comprobación encuentra que el límite se levantó, la solicitud se envía de inmediato. Indica solo dígitos, de `60000` a `10800000`. Si no está establecido o está fuera de ese rango, no se realizan comprobaciones. Para saber cuándo Claude Code omite estas comprobaciones, consulta la [referencia de variables de entorno](https://code.claude.com/docs/es/env-vars.md). Requiere Claude Code v2.1.305 o posterior. |569| [`CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS`](https://code.claude.com/docs/es/env-vars) | sin establecer | Intervalo mínimo en milisegundos entre comprobaciones de si un [límite de uso](#youve-hit-your-session-limit) ya se levantó, mientras una solicitud espera a que ese límite se restablezca con `CLAUDE_CODE_RETRY_WATCHDOG` establecido. Cuando una comprobación encuentra que el límite se levantó, la solicitud se envía de inmediato. Indica solo dígitos, de `60000` a `10800000`. Si no está establecido o está fuera de ese rango, no se realizan comprobaciones. Para saber cuándo Claude Code omite estas comprobaciones, consulta la [referencia de variables de entorno](https://code.claude.com/docs/es/env-vars.md). Requiere Claude Code v2.1.305 o posterior. |
562| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](https://code.claude.com/docs/es/env-vars) | 500 | Retraso inicial en milisegundos del retroceso entre reintentos de una solicitud que la API rechaza con un error de sobrecarga `529`. Auméntalo, hasta 32000, para distribuir los reintentos en un período más largo cuando la API está al límite de su capacidad. No tiene efecto cuando `CLAUDE_CODE_RETRY_WATCHDOG` está establecido en `1`, ni cuando la solicitud rechazada se envió en [modo rápido](https://code.claude.com/docs/es/fast-mode.md#handle-rate-limits). Requiere Claude Code v2.1.292 o posterior. |570| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](https://code.claude.com/docs/es/env-vars) | 500 | Retraso inicial en milisegundos del retroceso entre reintentos de una solicitud que la API rechaza con un error de sobrecarga `529`. Auméntalo, hasta 32000, para distribuir los reintentos en un período más largo cuando la API está al límite de su capacidad. No tiene efecto cuando `CLAUDE_CODE_RETRY_WATCHDOG` está establecido en `1`, ni cuando la solicitud rechazada se envió en [modo rápido](https://code.claude.com/docs/es/fast-mode.md#handle-rate-limits). Requiere Claude Code v2.1.292 o posterior. |
563| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](https://code.claude.com/docs/es/env-vars) | 32000 | Límite máximo en milisegundos del retroceso entre reintentos de una solicitud que la API rechaza con un error de sobrecarga `529`. Auméntalo, hasta 64000, para que los reintentos posteriores sigan espaciándose cuando la API está al límite de su capacidad. No tiene efecto cuando `CLAUDE_CODE_RETRY_WATCHDOG` está establecido en `1`, ni cuando la solicitud rechazada se envió en [modo rápido](https://code.claude.com/docs/es/fast-mode.md#handle-rate-limits). Requiere Claude Code v2.1.296 o posterior. |571| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](https://code.claude.com/docs/es/env-vars) | 32000 | Límite máximo en milisegundos del retroceso entre reintentos de una solicitud que la API rechaza con un error de sobrecarga `529`. Auméntalo, hasta 300000, para que los reintentos posteriores sigan espaciándose cuando la API está al límite de su capacidad. Los valores superiores a 64000 requieren v2.1.323 o posterior. No tiene efecto en los mismos casos que `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`. Requiere Claude Code v2.1.296 o posterior. |
564| [`API_TIMEOUT_MS`](https://code.claude.com/docs/es/env-vars) | 600000 | Tiempo en milisegundos que tiene cada intento de solicitud para recibir sus encabezados de respuesta. No limita cuánto dura una respuesta en streaming después de eso. Auméntalo para redes lentas o proxies. Para saber cómo limita el plazo del primer byte, consulta [No response from API](#no-response-from-api). |572| [`API_TIMEOUT_MS`](https://code.claude.com/docs/es/env-vars) | 600000 | Tiempo en milisegundos que tiene cada intento de solicitud para recibir sus encabezados de respuesta. No limita cuánto dura una respuesta en streaming después de eso. Auméntalo para redes lentas o proxies. Para saber cómo limita el plazo del primer byte, consulta [No response from API](#no-response-from-api). |
565| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](https://code.claude.com/docs/es/env-vars) | sin establecer | Límite de reenvíos de una [solicitud sin streaming](#streaming-response-ended-before-any-complete-data-was-received) cuyo tiempo de espera se agota. Al alcanzar el límite, la solicitud falla. Una respuesta de Claude que tarda en generarse más que el tiempo de espera vuelve a agotar el tiempo de espera en cada reenvío, así que establece un número bajo, como `0`, para que falle antes. Para conocer el tiempo de espera de cada intento, consulta [Cuánto espera un intento sin streaming](#how-long-a-non-streaming-attempt-waits). Requiere Claude Code v2.1.285 o posterior. |573| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](https://code.claude.com/docs/es/env-vars) | sin establecer | Límite de reenvíos de una [solicitud sin streaming](#streaming-response-ended-before-any-complete-data-was-received) cuyo tiempo de espera se agota. Al alcanzar el límite, la solicitud falla. Una respuesta de Claude que tarda en generarse más que el tiempo de espera vuelve a agotar el tiempo de espera en cada reenvío, así que establece un número bajo, como `0`, para que falle antes. Para conocer el tiempo de espera de cada intento, consulta [Cuánto espera un intento sin streaming](#how-long-a-non-streaming-attempt-waits). Requiere Claude Code v2.1.285 o posterior. |
566| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](https://code.claude.com/docs/es/env-vars) | sin establecer | Plazo en milisegundos para el primer byte de respuesta de una solicitud en streaming. Requiere Claude Code v2.1.242 o posterior. Para saber cómo elige Claude Code el plazo cuando esta variable no está establecida, consulta [No response from API](#no-response-from-api). |574| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](https://code.claude.com/docs/es/env-vars) | sin establecer | Plazo en milisegundos para el primer byte de respuesta de una solicitud en streaming. Requiere Claude Code v2.1.242 o posterior. Para saber cómo elige Claude Code el plazo cuando esta variable no está establecida, consulta [No response from API](#no-response-from-api). |
825Las llamadas posteriores en la misma respuesta de Claude pueden denegarse con este motivo:833Las llamadas posteriores en la misma respuesta de Claude pueden denegarse con este motivo:
826 834
827```text theme={null}835```text theme={null}
828another call in this response was changed by a hook after auto mode reviewed it, or could not be confirmed unchanged836another call in this response was changed after auto mode reviewed it, or could not be confirmed unchanged
829```837```
830 838
831Claude puede entonces volver a emitir cada llamada denegada para que el servidor la revise. Si se abre una solicitud de permiso, respóndela. No necesitas hacer nada más, a menos que Claude diga en su respuesta que el modo automático no pudo verificar la llamada. En ese caso, detén el cambio o aprueba la llamada tú mismo, y pídele a Claude que vuelva a intentar la llamada:839Claude puede entonces volver a emitir cada llamada denegada para que el servidor la revise. Si se abre una solicitud de permiso, respóndela. No necesitas hacer nada más, a menos que Claude diga en su respuesta que el modo automático no pudo verificar la llamada. En ese caso, detén el cambio o aprueba la llamada tú mismo, y pídele a Claude que vuelva a intentar la llamada:
978 986
979### You've hit your monthly spend limit987### You've hit your monthly spend limit
980 988
981El uso incluido en tu plan no puede cubrir esta solicitud, y los [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) que de otro modo la pagarían alcanzaron un límite de gasto. Eso sucede cuando se agotó una de las ventanas de uso de tu plan, o cuando la solicitud es de las que solo pagan los créditos de uso, como una solicitud a un modelo que [se factura con créditos de uso](https://code.claude.com/docs/es/model-config.md#fable-and-usage-credits). El mensaje indica de quién es el límite que te bloqueó. El texto después del `·` dice cómo conseguir que se aumente ese límite, y varía según tu plan y si gestionas la facturación:989El uso incluido en tu plan no puede cubrir esta solicitud, y los [créditos de uso](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) que de otro modo la pagarían alcanzaron un límite de gasto. Tu plan no puede cubrir una solicitud cuando se agotó una de sus ventanas de uso, o cuando solo los créditos de uso pagan la solicitud. Un ejemplo es una solicitud a un modelo que [se factura con créditos de uso](https://code.claude.com/docs/es/model-config.md#fable-and-usage-credits).
990
991Las palabras antes del `·` nombran el límite que te bloqueó, como el límite de gasto mensual de tu organización, y el texto después dice cómo conseguir que se aumente ese límite. En una sesión en la nube o con [Remote Control](https://code.claude.com/docs/es/remote-control.md), ese texto no incluye ninguna URL, y un mensaje sobre tu propio `monthly spend limit` no dice cómo aumentarlo. Otras sesiones muestran formas como estas:
982 992
983```text theme={null}993```text theme={null}
984You've hit your monthly spend limit · raise it at https://claude.ai/settings/usage?from=cc_cli_limit_message994You've hit your monthly spend limit · raise it at https://claude.ai/settings/usage?from=cc_cli_limit_message
1822 1832
1823Antes de la v2.1.232, Claude Code usaba el runtime v2 solo en un despliegue gradual o cuando definías `MCP_SDK_GENERATION=v2`.1833Antes de la v2.1.232, Claude Code usaba el runtime v2 solo en un despliegue gradual o cuando definías `MCP_SDK_GENERATION=v2`.
1824 1834
1835### Stopped an OAuth request
1836
1837Este mensaje significa que Claude Code detuvo una [solicitud OAuth para un servidor MCP](https://code.claude.com/docs/es/mcp.md#authenticate-with-remote-mcp-servers) porque un endpoint OAuth la redirigió. En ambas formas del mensaje, la primera dirección es la que envió la redirección:
1838
1839```text theme={null}
1840Stopped an OAuth request, which can hold secrets: https://auth.example.com redirected it to https://other.example.com. Ask the owner of https://auth.example.com to remove that redirect.
1841Stopped an OAuth request: https://auth.example.com redirected it more than 5 times. Ask the owner of https://auth.example.com to fix those redirects.
1842```
1843
1844**Qué hacer:**
1845
1846* Pide a quien administre la primera dirección, como el operador del servidor MCP, que elimine o corrija la redirección. Luego vuelve a intentarlo desde `/mcp`.
1847
1825### Se rechaza enviar credenciales a un endpoint de token que no es https1848### Se rechaza enviar credenciales a un endpoint de token que no es https
1826 1849
1827En el [runtime v2](https://code.claude.com/docs/es/mcp.md#mcp-client-runtimes), Claude Code envía una solicitud de token de [OAuth de MCP](https://code.claude.com/docs/es/mcp.md#authenticate-with-remote-mcp-servers) solo a un endpoint de token servido por HTTPS o en `localhost`, `127.0.0.1` o `::1`. Este mensaje significa que el endpoint de token del servidor no es ninguna de esas opciones, así que Claude Code se detuvo antes de enviar la solicitud. Eso ocurre después del inicio de sesión en el navegador, así que el paso del navegador se completa primero, y de nuevo cada vez que Claude Code renueva el token del servidor.1850En el [runtime v2](https://code.claude.com/docs/es/mcp.md#mcp-client-runtimes), Claude Code envía una solicitud de token de [OAuth de MCP](https://code.claude.com/docs/es/mcp.md#authenticate-with-remote-mcp-servers) solo a un endpoint de token servido por HTTPS o en `localhost`, `127.0.0.1` o `::1`. Este mensaje significa que el endpoint de token del servidor no es ninguna de esas opciones, así que Claude Code se detuvo antes de enviar la solicitud. Eso ocurre después del inicio de sesión en el navegador, así que el paso del navegador se completa primero, y de nuevo cada vez que Claude Code renueva el token del servidor.
2207 2230
2208### Host no permitido en una sesión en la nube2231### Host no permitido en una sesión en la nube
2209 2232
2210La política de red del entorno bloqueó una solicitud HTTP saliente de una sesión en la nube o de una tarea programada en la nube.2233En una sesión en la nube o en una tarea programada en la nube, un `403` o un error de DNS como `ENOTFOUND` puede significar que el host solicitado no está en la [lista de permitidos del entorno en la nube](https://code.claude.com/docs/es/cloud-environments.md#access-levels). Para confirmarlo, compara el host con esa lista. Un `403` con este encabezado confirma el bloqueo, pero no todos los `403` de solicitudes bloqueadas lo incluyen:
2211 2234
2212```text theme={null}2235```text theme={null}
2213HTTP 4032236HTTP 403
2290 2313
2291Antes de v2.1.296, Claude Code no reintentaba una lectura fallida y, después de una, podía abrir la sesión con una conversación vacía e informar éxito en lugar de imprimir este mensaje.2314Antes de v2.1.296, Claude Code no reintentaba una lectura fallida y, después de una, podía abrir la sesión con una conversación vacía e informar éxito en lugar de imprimir este mensaje.
2292 2315
2316### Couldn't load the history of cloud session
2317
2318Este mensaje significa que Claude Code encontró la [sesión en la nube que pediste traer a tu terminal](https://code.claude.com/docs/es/claude-code-on-the-web.md#from-cloud-to-terminal), pero la solicitud de su historial de conversación devolvió que no se encontró:
2319
2320```text theme={null}
2321Couldn't load the history of cloud session session_01HJKLMNOPQRSTUVWXYZ. Check it at https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ?from=cli
2322```
2323
2324**Qué hacer:**
2325
2326* Abre el enlace del mensaje para revisar la sesión en tu navegador. Si se abre ahí y el mismo teleport vuelve a fallar de esta manera, [reporta el problema](#report-an-error).
2327
2293### Couldn't reconnect to your Remote Control session2328### Couldn't reconnect to your Remote Control session
2294 2329
2295```text theme={null}2330```text theme={null}
2565 2600
2566Claude Code normalmente cambia el tamaño de las imágenes grandes de forma automática. Estos errores significan que la imagen no se pudo decodificar ni redimensionar para que cupiera dentro de los límites de la API.2601Claude Code normalmente cambia el tamaño de las imágenes grandes de forma automática. Estos errores significan que la imagen no se pudo decodificar ni redimensionar para que cupiera dentro de los límites de la API.
2567 2602
2603El error que ves puede nombrar un límite de píxeles diferente, como `2576x2576px` donde estos ejemplos dicen `2000x2000px`.
2604
2568**Qué hacer:**2605**Qué hacer:**
2569 2606
2570* Si el mensaje te pide que conviertas la imagen, conviértela a PNG, JPEG, GIF o WebP y vuelve a adjuntarla. Claude Code puede verificar las dimensiones de estos formatos a partir del encabezado del archivo, sin decodificar la imagen.2607* Si el mensaje te pide que conviertas la imagen, conviértela a PNG, JPEG, GIF o WebP y vuelve a adjuntarla. Claude Code puede verificar las dimensiones de estos formatos a partir del encabezado del archivo, sin decodificar la imagen.
2873* **Un motivo escrito por un hook**: un hook PreModelSwitch proporcionó ese motivo cuando [denegó el cambio o pidió confirmación](https://code.claude.com/docs/es/hooks.md#premodelswitch-decision-control). Atiende lo que pide, o elige un modelo que tus hooks permitan.2910* **Un motivo escrito por un hook**: un hook PreModelSwitch proporcionó ese motivo cuando [denegó el cambio o pidió confirmación](https://code.claude.com/docs/es/hooks.md#premodelswitch-decision-control). Atiende lo que pide, o elige un modelo que tus hooks permitan.
2874* **`PreModelSwitch hook <name> did not respond before its timeout`**: un hook que no responde antes de que se agote su [tiempo de espera](https://code.claude.com/docs/es/hooks.md#timeouts) bloquea el cambio. Corrige el comando que se queda colgado o aumenta el `timeout` de ese hook, y luego vuelve a cambiar.2911* **`PreModelSwitch hook <name> did not respond before its timeout`**: un hook que no responde antes de que se agote su [tiempo de espera](https://code.claude.com/docs/es/hooks.md#timeouts) bloquea el cambio. Corrige el comando que se queda colgado o aumenta el `timeout` de ese hook, y luego vuelve a cambiar.
2875* **`confirmation required, and this session cannot ask`**: un hook respondió `ask` sin un motivo, y una solicitud de control no tiene forma de mostrar la solicitud de confirmación. Un comando `/model` en una [ejecución con `-p`](https://code.claude.com/docs/es/headless) reporta la misma condición con `(run /model interactively to confirm)` después del motivo. Haz el cambio desde una sesión interactiva, o cambia la decisión del hook para este modelo.2912* **`confirmation required, and this session cannot ask`**: un hook respondió `ask` sin un motivo, y una solicitud de control no tiene forma de mostrar la solicitud de confirmación. Un comando `/model` en una [ejecución con `-p`](https://code.claude.com/docs/es/headless) reporta la misma condición con `(run /model interactively to confirm)` después del motivo. Haz el cambio desde una sesión interactiva, o cambia la decisión del hook para este modelo.
2876* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code no pudo determinar qué hooks PreModelSwitch entregan los [plugins administrados](https://code.claude.com/docs/es/settings-reference.md#enabledplugins) de tu organización, por ejemplo porque un plugin administrado no se cargó. Uno de esos hooks podría bloquear el cambio, así que Claude Code lo rechaza en lugar de aplicarlo sin verificar. El principio del motivo indica qué falló. Claude Code vuelve a verificar en cada intento de cambio, por lo que un fallo que ya se resolvió deja de bloquear; si sigue fallando, ejecuta `claude --debug` y vuelve a cambiar para capturar los detalles, y luego corrige el plugin o pídele a tu administrador que lo corrija.2913* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code anterior a la v2.1.323 rechaza el cambio cuando no puede determinar qué hooks PreModelSwitch proporcionan tus [plugins administrados](https://code.claude.com/docs/es/settings-reference.md#enabledplugins). El texto antes de esta frase indica qué falló. Para detener el rechazo, actualiza Claude Code. Para que además se ejecuten los hooks de un plugin que falló, corrige el plugin o consulta a tu administrador. Para más detalles, inicia `claude --debug` en tu shell y cambia de modelo; luego lee el [registro de depuración](https://code.claude.com/docs/es/hooks.md#debug-hooks).
2877* **`a PreModelSwitch hook failed before answering`** o **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: la ejecución del hook terminó sin un veredicto, y Claude Code no lo trata como una aprobación. Ejecuta `claude --debug` para ver qué falló y luego vuelve a cambiar.2914* **`a PreModelSwitch hook failed before answering`** o **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: la ejecución del hook terminó sin un veredicto, y Claude Code no lo trata como una aprobación. Ejecuta `claude --debug` para ver qué falló y luego vuelve a cambiar.
2878 2915
2879Antes de v2.1.260, el rechazo por plugins administrados decía `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`. Claude Code reintentaba la carga del plugin una vez y luego rechazaba los cambios posteriores en la sesión, incluso cuando tu organización no administraba ningún plugin. En esas versiones, reinicia la sesión para volver a ejecutar la carga del plugin.2916Antes de v2.1.260, el rechazo por plugins administrados decía `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`. Claude Code reintentaba la carga del plugin una vez y luego rechazaba los cambios posteriores en la sesión, incluso cuando tu organización no administraba ningún plugin. En esas versiones, reinicia la sesión para volver a ejecutar la carga del plugin.
3522Iniciaste [Remote Control](https://code.claude.com/docs/es/remote-control.md) con un flag global de `claude` antes del verbo `remote-control`, uno que restringiría o configuraría las sesiones que inicia Remote Control, como `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` o `--mcp-config`. Un flag colocado antes del verbo nunca llega a esas sesiones. En su lugar, Claude Code se niega a iniciar y nombra el flag:3559Iniciaste [Remote Control](https://code.claude.com/docs/es/remote-control.md) con un flag global de `claude` antes del verbo `remote-control`, uno que restringiría o configuraría las sesiones que inicia Remote Control, como `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` o `--mcp-config`. Un flag colocado antes del verbo nunca llega a esas sesiones. En su lugar, Claude Code se niega a iniciar y nombra el flag:
3523 3560
3524```text theme={null}3561```text theme={null}
3525Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).3562Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`). Pass settings with `claude remote-control --settings <file>`.
3526```3563```
3527 3564
3528Claude Code no rechaza los flags globales que es inofensivo descartar, como `--verbose`, `--model`, o un `--session-id` o `--plugin-dir` inyectado por un wrapper: los ignora y Remote Control se inicia.3565Claude Code no rechaza los flags globales que es inofensivo descartar, como `--verbose`, `--model`, o un `--session-id` o `--plugin-dir` inyectado por un wrapper: los ignora y Remote Control se inicia.
3536 3573
3537Antes de v2.1.248, `claude remote-control` no aceptaba sus propios flags cuando un flag global iba primero, y el comando fallaba con un error `unknown option`.3574Antes de v2.1.248, `claude remote-control` no aceptaba sus propios flags cuando un flag global iba primero, y el comando fallaba con un error `unknown option`.
3538 3575
3576### Remote Control no se inició por el archivo de `--settings`
3577
3578El archivo que pasaste a [`claude remote-control --settings`](https://code.claude.com/docs/es/remote-control#start-a-remote-control-session) tiene un problema:
3579
3580```text theme={null}
3581Error: Remote Control did not start, because sessions would skip part or all of the --settings file ./rc-settings.json: Invalid or malformed JSON
3582```
3583
3584**Qué hacer:**
3585
3586* Corrige el problema que indica el mensaje y luego vuelve a ejecutar tu comando `claude remote-control`
3587
3588### The settings file has changed since Remote Control started
3589
3590Este mensaje en la terminal que ejecuta `claude remote-control` significa que las sesiones no se iniciarán a partir del archivo que pasaste a [`--settings`](https://code.claude.com/docs/es/remote-control#start-a-remote-control-session) tal como está ahora:
3591
3592```text theme={null}
3593Session failed: Error: The settings file /path/to/settings.json has changed since Remote Control started, so this session did not start. Restart `claude remote-control` to use it as it is now.
3594```
3595
3596**Qué hacer:**
3597
3598* Para usar el archivo tal como está ahora, detén `claude remote-control` y vuelve a ejecutar el mismo comando. Para recuperar las sesiones que estaba atendiendo, consulta [Reanudar sesiones después de detener el servidor](https://code.claude.com/docs/es/remote-control.md#resume-sessions-after-stopping-the-server).
3599* Para conservar la configuración con la que se inició Remote Control, restaura el contenido del archivo tal como estaba y luego vuelve a ejecutar el comando si `claude remote-control` ha terminado
3600
3539### `--sandbox` or `--no-sandbox` is not supported by claude remote-control3601### `--sandbox` or `--no-sandbox` is not supported by claude remote-control
3540 3602
3541Este error significa que el comando que inicia tu servidor de [Remote Control](https://code.claude.com/docs/es/remote-control.md) pasa `--sandbox` o `--no-sandbox` después de `remote-control`, y `claude remote-control` no acepta ninguno de los dos flags. El servidor termina con el código 1 en lugar de iniciarse:3603Este error significa que el comando que inicia tu servidor de [Remote Control](https://code.claude.com/docs/es/remote-control.md) pasa `--sandbox` o `--no-sandbox` después de `remote-control`, y `claude remote-control` no acepta ninguno de los dos flags. El servidor termina con el código 1 en lugar de iniciarse:
3806 3868
3807Hay cadenas similares que se activan antes de que el comando llegue a ejecutarse:3869Hay cadenas similares que se activan antes de que el comando llegue a ejecutarse:
3808 3870
3809* `Shell command permission check failed for pattern "..."`: la comprobación de permisos del comando no lo permitió. [Comprobaciones de permisos en comandos inyectados](https://code.claude.com/docs/es/skills.md#permission-checks-on-injected-commands) explica qué resultados abortan en cada modo de permisos y cómo aprobar previamente un comando con `allowed-tools`3871* `Shell command permission check failed for pattern "..."`: la verificación de permisos del comando no lo permitió. Consulta [Verificaciones de permisos en comandos inyectados](https://code.claude.com/docs/es/skills.md#permission-checks-on-injected-commands) para ver qué resultados abortan en cada modo de permisos y cuándo `allowed-tools` aprueba previamente un comando
3810* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: el frontmatter del skill exige bash en una máquina que no lo tiene. Instala Git for Windows o cambia el frontmatter a `shell: powershell`. Consulta [Cómo se ejecutan los comandos inyectados](https://code.claude.com/docs/es/skills.md#how-injected-commands-run)3872* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: el frontmatter del skill exige bash en una máquina que no lo tiene. Instala Git for Windows o cambia el frontmatter a `shell: powershell`. Consulta [Cómo se ejecutan los comandos inyectados](https://code.claude.com/docs/es/skills.md#how-injected-commands-run)
3811 3873
3812**Qué hacer:**3874**Qué hacer:**
3960 4022
3961* **No pasaste una rama base**: Claude Code comparó contra la rama predeterminada del repositorio y sugiere pasar tu base explícitamente, como en el ejemplo anterior4023* **No pasaste una rama base**: Claude Code comparó contra la rama predeterminada del repositorio y sugiere pasar tu base explícitamente, como en el ejemplo anterior
3962* **Pasaste una rama base que ya estaba en tu clon**: la sugerencia dice ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``4024* **Pasaste una rama base que ya estaba en tu clon**: la sugerencia dice ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``
3963* **Pasaste una rama base que no estaba en tu clon**: Claude Code la obtuvo de origin antes de comparar. La sugerencia dice ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; cuando Claude Code no puede saber si tu clon es superficial, sugiere `git fetch --unshallow origin` en su lugar. Antes de v2.1.221, la sugerencia proponía `git fetch --unshallow origin` para cada rama base obtenida, y en un clon completo ese comando falla con `fatal: --unshallow on a complete repository does not make sense`.4025* **Pasaste una rama base que no estaba en tu clon**: Claude Code la obtuvo de origin antes de comparar. La sugerencia dice ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; cuando Claude Code no puede determinar si tu clon es superficial, sugiere `git fetch --unshallow origin` en su lugar. Antes de la v2.1.221, la sugerencia proponía `git fetch --unshallow origin` para toda rama base obtenida, y en un clon completo ese comando falla con `fatal: --unshallow on a complete repository does not make sense`.
3964 4026
3965**Qué hacer:**4027**Qué hacer:**
3966 4028
4333 4395
4334## Errores de plugins4396## Errores de plugins
4335 4397
4336Estos errores provienen de la configuración de [plugins](https://code.claude.com/docs/es/plugins/overview.md) y [marketplace](https://code.claude.com/docs/es/plugins/overview.md). Para problemas de plugins que no producen uno de los mensajes en esta página, como una URL de marketplace que no carga o un plugin que se instala pero no aparece, consulte [Solución de problemas de plugins](https://code.claude.com/docs/es/plugins/troubleshooting.md).4398Estos errores provienen de la configuración de [plugins](https://code.claude.com/docs/es/plugins/overview.md) y [marketplaces](https://code.claude.com/docs/es/plugins/overview.md). Para problemas de plugins que no producen uno de los mensajes de esta página, como una URL de marketplace que no carga o un plugin que se instala pero no aparece, consulta [Solución de problemas de plugins](https://code.claude.com/docs/es/plugins/troubleshooting.md).
4337 4399
4338### plugin eval is currently in early access4400### plugin eval is currently in early access
4339 4401
4340Ejecutó [`claude plugin eval`](https://code.claude.com/docs/es/plugin-evals) o `claude plugin eval init` y salió con código 1 con uno de estos mensajes antes de hacer nada:4402Ejecutaste [`claude plugin eval`](https://code.claude.com/docs/es/plugin-evals) o `claude plugin eval init` y terminó con código 1 mostrando uno de estos mensajes antes de hacer nada:
4341 4403
4342```text theme={null}4404```text theme={null}
4343`plugin eval` is currently in early access4405`plugin eval` is currently in early access
4347`plugin eval` is currently unavailable4409`plugin eval` is currently unavailable
4348```4410```
4349 4411
4350El primer mensaje significa que su compilación es anterior a v2.1.269, la primera versión donde el comando está disponible en general. El segundo significa que Anthropic ha desactivado el comando del lado del servidor; nada en su máquina lo vuelve a activar.4412El primer mensaje significa que tu compilación es anterior a la v2.1.269, la primera versión en la que el comando está disponible de forma general. El segundo significa que Anthropic desactivó el comando del lado del servidor; nada en tu máquina lo vuelve a activar.
4351 4413
4352**Qué hacer:**4414**Qué hacer:**
4353 4415
4354* Ejecute `claude --version`, luego `claude update`, y ejecute el comando nuevamente en una sesión nueva. Consulte los [requisitos para plugin evals](https://code.claude.com/docs/es/plugin-evals.md#requirements)4416* Ejecuta `claude --version`, luego `claude update`, y vuelve a ejecutar el comando en una sesión nueva. Consulta los [requisitos para las evaluaciones de plugins](https://code.claude.com/docs/es/plugin-evals.md#requirements)
4355* Si ve el segundo mensaje en una compilación actual, intente nuevamente más tarde después de otro `claude update`4417* Si ves el segundo mensaje en una compilación actual, vuelve a intentarlo más tarde después de otro `claude update`
4356 4418
4357### Marketplace is registered from an untrusted source4419### Marketplace is registered from an untrusted source
4358 4420
4359El marketplace está registrado bajo un nombre que está [reservado para marketplaces oficiales de Anthropic](https://code.claude.com/docs/es/plugins/marketplace-reference.md#marketplace-file), pero su fuente registrada no es un repositorio de GitHub de `anthropics`. Claude Code vuelve a verificar los nombres reservados cada vez que carga o actualiza un marketplace, por lo que el marketplace y los plugins instalados desde él dejan de cargarse. Antes de v2.1.205, una entrada registrada antes de que su nombre se reservara seguía cargándose.4421El marketplace está registrado con un nombre que está [reservado para los marketplaces oficiales de Anthropic](https://code.claude.com/docs/es/plugins/marketplace-reference.md#marketplace-file), pero su origen registrado no es un repositorio de GitHub de `anthropics`. Claude Code vuelve a comprobar los nombres reservados cada vez que carga o actualiza un marketplace, por lo que el marketplace y los plugins instalados desde él dejan de cargarse. Antes de la v2.1.205, una entrada registrada antes de que su nombre quedara reservado seguía cargándose.
4360 4422
4361```text theme={null}4423```text theme={null}
4362Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.4424Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.
4363```4425```
4364 4426
4365Para un marketplace cuya fuente no es un repositorio de GitHub o una URL de Git, como un directorio local, la oración del medio dice `can only be used with GitHub sources from the 'anthropics' organization` en su lugar. `claude plugin marketplace add` ejecuta la misma verificación y rechaza un nombre reservado con `Failed to add marketplace:` seguido de la misma oración de nombre reservado.4427Para un marketplace cuyo origen no es un repositorio de GitHub ni una URL de Git, como un directorio local, la oración del medio dice en cambio `can only be used with GitHub sources from the 'anthropics' organization`. `claude plugin marketplace add` ejecuta la misma comprobación y rechaza un nombre reservado con `Failed to add marketplace:` seguido de la misma oración sobre el nombre reservado.
4366 4428
4367**Qué hacer:**4429**Qué hacer:**
4368 4430
4369* Si el marketplace ya está registrado, ejecute `claude plugin marketplace remove <name>`, luego agréguelo nuevamente desde el repositorio oficial `github.com/anthropics`4431* Si el marketplace ya está registrado, ejecuta `claude plugin marketplace remove <name>` y luego agrégalo de nuevo desde el repositorio oficial `github.com/anthropics`
4370* Si publica un marketplace de terceros que utilizó el nombre antes de que se reservara, cámbielo de nombre y pida a los usuarios que lo vuelvan a agregar desde su fuente4432* Si publicas un marketplace de terceros que usaba el nombre antes de que quedara reservado, cámbiale el nombre y pide a los usuarios que lo vuelvan a agregar desde tu origen
4371* Consulte la lista de nombres reservados en [Marketplace schema](https://code.claude.com/docs/es/plugins/marketplace-reference.md#marketplace-file)4433* Consulta la lista de nombres reservados en [Esquema del marketplace](https://code.claude.com/docs/es/plugins/marketplace-reference.md#marketplace-file)
4372 4434
4373### Marketplace name is another spelling of a reserved name4435### El nombre del marketplace es otra grafía de un nombre reservado
4374 4436
4375El nombre del marketplace no es en sí mismo un nombre reservado, pero Claude Code lo trata como otra ortografía de uno. [Nombres reservados](https://code.claude.com/docs/es/plugins/marketplace-reference.md#reserved-name-spellings) enumera qué ortografías cuentan como un nombre reservado. Claude Code rechaza tal nombre cuando agrega el marketplace:4437El nombre del marketplace no es en sí un nombre reservado, pero Claude Code lo trata como otra grafía de uno. [Nombres reservados](https://code.claude.com/docs/es/plugins/marketplace-reference.md#reserved-name-spellings) enumera qué grafías cuentan como un nombre reservado. Claude Code rechaza ese nombre cuando agregas el marketplace:
4376 4438
4377```text theme={null}4439```text theme={null}
4378Failed to add marketplace: "claude.code.plugins" is another spelling of "claude-code-plugins", a reserved marketplace name.4440Failed to add marketplace: "claude.code.plugins" is another spelling of "claude-code-plugins", a reserved marketplace name.
4379```4441```
4380 4442
4381Cuando un marketplace ya está registrado bajo tal nombre, su entrada deja de cargarse, y `/plugin`, `claude plugin install`, y `claude plugin update` advierten:4443Cuando un marketplace ya está registrado con ese nombre, su entrada deja de cargarse, y `/plugin`, `claude plugin install` y `claude plugin update` advierten:
4382 4444
4383```text wrap theme={null}4445```text wrap theme={null}
4384known_marketplaces.json has an entry named "claude.code.plugins", another spelling of the reserved marketplace name "claude-code-plugins", so it is ignored. Remove it with: claude plugin marketplace remove claude.code.plugins4446known_marketplaces.json has an entry named "claude.code.plugins", another spelling of the reserved marketplace name "claude-code-plugins", so it is ignored. Remove it with: claude plugin marketplace remove claude.code.plugins
4385```4447```
4386 4448
4387Cuando el nombre requeriría entrecomillado de shell, la negativa en tiempo de adición dice `This marketplace's name is another spelling of "<reserved>", a reserved marketplace name. It is not exactly the reserved name it appears to be.`4449Cuando el nombre necesitaría comillas en el shell, el rechazo al agregarlo dice `This marketplace's name is another spelling of "<reserved>", a reserved marketplace name. It is not exactly the reserved name it appears to be.`
4388 4450
4389**Qué hacer:**4451**Qué hacer:**
4390 4452
4391* Cambie el nombre del marketplace a un nombre que no deletree un nombre reservado y agréguelo nuevamente4453* Cambia el nombre del marketplace por uno que no escriba un nombre reservado y agrégalo de nuevo
4392* Para la advertencia de entrada ignorada, ejecute el comando `claude plugin marketplace remove` que proporciona, o elimine la entrada de `~/.claude/plugins/known_marketplaces.json`4454* Para la advertencia de entrada ignorada, ejecuta el comando `claude plugin marketplace remove` que indica, o elimina la entrada de `~/.claude/plugins/known_marketplaces.json`
4393 4455
4394### Claude Code refuses the marketplace name4456### Claude Code refuses the marketplace name
4395 4457
4396Un marketplace registrado cuyo nombre [suplanta un marketplace oficial de Anthropic](https://code.claude.com/docs/es/plugins/marketplace-reference.md#reserved-names) según las reglas que esa sección enumera.4458El nombre de un marketplace registrado [suplanta a un marketplace oficial de Anthropic](https://code.claude.com/docs/es/plugins/marketplace-reference.md#reserved-names) según las reglas que enumera esa sección.
4397 4459
4398Si un marketplace fue registrado bajo tal nombre antes de que la verificación lo bloqueara, el marketplace y los plugins instalados desde él dejan de cargarse, porque Claude Code verifica el nombre cada vez que lee el catálogo del marketplace. Cuando el nombre imita uno oficial, `claude plugin list` y la pestaña **Errors** de `/plugin` informan cada plugin afectado con un mensaje que comienza:4460Si un marketplace se registró con ese nombre antes de que la comprobación lo bloqueara, el marketplace y los plugins instalados desde él dejan de cargarse, porque Claude Code comprueba el nombre cada vez que lee el catálogo del marketplace. Cuando el nombre imita a uno oficial, `claude plugin list` y la pestaña **Errors** de `/plugin` informan cada plugin afectado con un mensaje que comienza así:
4399 4461
4400```text theme={null}4462```text theme={null}
4401Claude Code refuses the marketplace name "anthropic-plugins-v2"4463Claude Code refuses the marketplace name "anthropic-plugins-v2"
4402```4464```
4403 4465
4404Para un nombre que imita, el error del marketplace en sí dice `Claude Code refuses this marketplace's name: it looks like one of Anthropic's own` en su lugar. `claude plugin marketplace add` rechaza cualquier nombre que suplante con `Marketplace name impersonates an official Anthropic/Claude marketplace`.4466Para un nombre que imita a uno oficial, el error propio del marketplace dice en cambio `Claude Code refuses this marketplace's name: it looks like one of Anthropic's own`. `claude plugin marketplace add` rechaza cualquier nombre que suplante a uno oficial con `Marketplace name impersonates an official Anthropic/Claude marketplace`.
4405 4467
4406Antes de v2.1.282, `claude plugin list` y `/plugin` informaban los plugins de un nombre que imita como fallidos al cargar también, sin nombrar el nombre del marketplace como la causa.4468Antes de la v2.1.282, `claude plugin list` y `/plugin` también informaban que los plugins de un nombre imitador no se habían podido cargar, sin señalar el nombre del marketplace como la causa.
4407 4469
4408**Qué hacer:**4470**Qué hacer:**
4409 4471
4410* Para conservar un marketplace que un archivo de configuración declara en línea con `"source": "settings"`, cámbiale el nombre antes de eliminar el nombre anterior, porque eliminar el marketplace también borra su entrada de tus archivos de configuración. Claude Code v2.1.292 o posterior enumera estos pasos en el mensaje:4472* Para conservar un marketplace que un archivo de configuración declara en línea con `"source": "settings"`, cámbiale el nombre antes de eliminar el nombre anterior, porque eliminar el marketplace también borra su entrada de tus archivos de configuración. Claude Code v2.1.292 o posterior enumera estos pasos en el mensaje:
4411 1. En cada archivo de configuración que incluya el marketplace en `extraKnownMarketplaces`, asigna a la clave de la entrada y a su `source.name` un mismo nombre nuevo en ASCII simple que no parezca oficial. Si un administrador agrega el marketplace mediante la configuración administrada de tu organización, el administrador realiza este paso4473 1. En cada archivo de configuración que incluya el marketplace en `extraKnownMarketplaces`, asigna a la clave de la entrada y a su `source.name` un mismo nombre nuevo en ASCII simple que no parezca uno oficial. Si un administrador agrega el marketplace mediante la configuración administrada de tu organización, el administrador se encarga de este paso
4412 2. Ejecuta `claude plugin marketplace remove <old-name>`, o elimina el nombre anterior en la pestaña **Marketplaces** de `/plugin`. Esto también desinstala sus plugins y elimina sus datos, opciones y secretos4474 2. Ejecuta `claude plugin marketplace remove <old-name>`, o elimina el nombre anterior en la pestaña **Marketplaces** de `/plugin`. Esto también desinstala sus plugins y borra sus datos, opciones y secretos
4413 3. Inicia Claude Code de nuevo, en la carpeta del proyecto si el archivo es un archivo de configuración de un proyecto. Luego instala los plugins desde el marketplace renombrado4475 3. Inicia Claude Code de nuevo, en la carpeta del proyecto si el archivo es el archivo de configuración de un proyecto. Luego instala los plugins desde el marketplace renombrado
4414* Para conservar cualquier otro marketplace, espera hasta que su mantenedor lo renombre y luego ejecuta `claude plugin marketplace update <name>`4476* Para conservar cualquier otro marketplace, espera a que su mantenedor le cambie el nombre y luego ejecuta `claude plugin marketplace update <name>`
4415* Para eliminar el marketplace, ejecuta `claude plugin marketplace remove <name>`. Esto también desinstala los plugins instalados desde el marketplace y elimina sus datos, opciones y secretos4477* Para eliminar el marketplace, ejecuta `claude plugin marketplace remove <name>`. Esto también desinstala los plugins instalados desde el marketplace y borra sus datos, opciones y secretos
4416* Si publica el marketplace, cámbielo de nombre en su `marketplace.json`; los usuarios luego actualizan el marketplace en lugar de eliminarlo4478* Si publicas el marketplace, cámbiale el nombre en tu `marketplace.json`; así los usuarios actualizan el marketplace en lugar de eliminarlo
4417 4479
4418### Marketplace is already added from a different source4480### Marketplace is already added from a different source
4419 4481
4420Indicaste una nueva fuente de marketplace con [`--marketplace <source>` en el comando de instalación](https://code.claude.com/docs/es/plugins/install#add-a-marketplace-and-install-in-one-command), en una sesión o desde tu shell. El catálogo que Claude Code obtuvo de esa fuente tiene el mismo nombre que un marketplace que ya agregaste desde una fuente diferente. Claude Code mantiene el marketplace existente en lugar de reemplazarlo, y el plugin no se instala.4482Indicaste un nuevo origen de marketplace con [`--marketplace <source>` en el comando de instalación](https://code.claude.com/docs/es/plugins/install#add-a-marketplace-and-install-in-one-command), en una sesión o desde tu shell. El catálogo que Claude Code obtuvo de ese origen tiene el mismo nombre que un marketplace que ya agregaste desde un origen diferente. Claude Code conserva el marketplace existente en lugar de reemplazarlo, y el plugin no se instala.
4421 4483
4422```text theme={null}4484```text theme={null}
4423Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.4485Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.
4425 4487
4426**Qué hacer:**4488**Qué hacer:**
4427 4489
4428* Si el marketplace que ya agregó es el que desea, instale desde él por nombre: `/plugin install <plugin>@<name>`4490* Si el marketplace que ya agregaste es el que quieres, instala desde él por nombre: `/plugin install <plugin>@<name>`
4429* Para cambiar a la nueva fuente, ejecute `/plugin marketplace remove <name>`, luego reintente la instalación4491* Para cambiar al nuevo origen, ejecuta `/plugin marketplace remove <name>` y luego reintenta la instalación
4430 4492
4431### Plugin command references user\_config in a shell command4493### Un comando de plugin hace referencia a user\_config en un comando de shell
4432 4494
4433Un hook de plugin, [monitor](https://code.claude.com/docs/es/plugins/components.md#monitors), o comando MCP [`headersHelper`](https://code.claude.com/docs/es/mcp#use-dynamic-headers-for-custom-authentication) hace referencia a una [opción de plugin](https://code.claude.com/docs/es/plugins/manifest-reference.md#user-configuration) `${user_config.KEY}`, y la cadena sustituida se pasaría a un shell. Un valor configurado que contenga `$(...)`, comillas invertidas o `;` se ejecutaría como código allí, por lo que Claude Code se niega a iniciar el componente en lugar de sustituir el valor. La verificación se ejecuta en la plantilla de comando, por lo que el error aparece incluso cuando aún no se ha configurado ningún valor. Antes de v2.1.207, el valor se sustituía en el comando del shell.4495Un comando de hook, [monitor](https://code.claude.com/docs/es/plugins/components.md#monitors) o [`headersHelper`](https://code.claude.com/docs/es/mcp#use-dynamic-headers-for-custom-authentication) de MCP de un plugin hace referencia a una [opción del plugin](https://code.claude.com/docs/es/plugins/manifest-reference.md#user-configuration) `${user_config.KEY}`, y la cadena sustituida se pasaría a un shell. Un valor configurado que contenga `$(...)`, comillas invertidas o `;` se ejecutaría allí como código, así que Claude Code se niega a iniciar el componente en lugar de sustituir el valor. La comprobación se ejecuta sobre la plantilla del comando, por lo que el error aparece incluso cuando todavía no hay ningún valor configurado. Antes de la v2.1.207, el valor se sustituía en el comando de shell.
4434 4496
4435La redacción depende de qué superficie hizo referencia a la opción. Un hook de forma de shell informa:4497La redacción depende de qué superficie hizo referencia a la opción. Un hook en forma de shell informa:
4436 4498
4437```text theme={null}4499```text theme={null}
4438Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}4500Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}
4452 4514
4453**Qué hacer:**4515**Qué hacer:**
4454 4516
4455* Para un hook, agregue una matriz `args` para que se ejecute en [forma exec](https://code.claude.com/docs/es/hooks.md#exec-form-and-shell-form), donde cada `${user_config.KEY}` se convierte en un argumento sin shell en el medio. O elimine la referencia y lea la variable de entorno `$CLAUDE_PLUGIN_OPTION_<KEY>` dentro del script4517* Para un hook, agrega un arreglo `args` para que se ejecute en [forma exec](https://code.claude.com/docs/es/hooks.md#exec-form-and-shell-form), donde cada `${user_config.KEY}` se convierte en un argumento sin un shell de por medio. O quita la referencia y lee la variable de entorno `$CLAUDE_PLUGIN_OPTION_<KEY>` dentro del script
4456* Para un monitor, elimine la referencia y haga que el script del monitor lea el valor de un archivo de configuración4518* Para un monitor, quita la referencia y haz que el script del monitor lea el valor desde un archivo de configuración
4457* Para un `headersHelper`, mueva `${user_config.KEY}` al campo `headers` del servidor, que no se analiza con shell, o lea el valor dentro del script del helper4519* Para un `headersHelper`, mueve `${user_config.KEY}` al campo `headers` del servidor, que no es analizado por el shell, o lee el valor dentro del script auxiliar
4458 4520
4459### Plugin archive integrity check failed4521### Plugin archive integrity check failed
4460 4522
4461La entrada del marketplace del plugin utiliza una [fuente `archive`](https://code.claude.com/docs/es/plugins/marketplace-reference#archive-plugin-source) con un pin `sha256`, y el resumen del archivo descargado no coincide con el pin. Claude Code rechaza la instalación, por lo que nada cambia en la caché de plugins. La falta de coincidencia tiene tres causas posibles:4523La entrada del plugin en el marketplace usa un [origen `archive`](https://code.claude.com/docs/es/plugins/marketplace-reference#archive-plugin-source) con un valor fijado `sha256`, y el resumen del archivo descargado no coincide con ese valor. Claude Code rechaza la instalación, así que nada cambia en la caché de plugins. La discrepancia tiene tres causas posibles:
4462 4524
4463* El archivo en la URL cambió después de que el autor calculó el pin4525* El archivo en la URL cambió después de que el autor calculó el valor fijado
4464* El autor ingresó el resumen incorrecto en la entrada del marketplace4526* El autor ingresó un resumen incorrecto en la entrada del marketplace
4465* La URL sirve un archivo diferente al que el autor fijó4527* La URL sirve un archivo distinto del que el autor fijó
4466 4528
4467```text theme={null}4529```text theme={null}
4468Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.4530Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.
4470 4532
4471**Qué hacer:**4533**Qué hacer:**
4472 4534
4473* Si publica el plugin, recalcule el resumen del archivo exacto que sirve la URL, por ejemplo con `shasum -a 256 my-plugin.zip`, o `Get-FileHash -Algorithm SHA256 my-plugin.zip` en PowerShell, y actualice el `sha256` en la entrada del marketplace4535* Si publicas el plugin, vuelve a calcular el resumen del archivo exacto que sirve la URL, por ejemplo con `shasum -a 256 my-plugin.zip`, o `Get-FileHash -Algorithm SHA256 my-plugin.zip` en PowerShell, y actualiza el `sha256` en la entrada del marketplace
4474* Si instala el plugin, ejecute `/plugin marketplace update <name>` para actualizar el catálogo en caso de que la entrada se haya corregido, luego reintente la instalación4536* Si instalas el plugin, ejecuta `/plugin marketplace update <name>` para actualizar el catálogo por si la entrada se corrigió, y luego reintenta la instalación
4475* Si los resúmenes aún no coinciden después de una actualización, pregunte al propietario del marketplace qué archivo fijaron antes de instalar4537* Si los resúmenes siguen sin coincidir después de la actualización, pregunta al propietario del marketplace qué archivo fijó antes de instalar
4476 4538
4477### Path escapes plugin directory4539### Path escapes plugin directory
4478 4540
4479Una de las rutas de componentes del plugin conduce fuera del directorio del plugin o no se pudo confirmar que esté dentro de él, por lo que Claude Code descarta esa ruta y carga el resto del plugin. Para una ruta que el plugin declara en `plugin.json` o en su [entrada de marketplace](https://code.claude.com/docs/es/plugins/marketplace-reference.md#plugin-entries), el nombre del componente en el mensaje, como `commands` o `hooks`, indica el campo que declaró la ruta.4541Una de las rutas de componentes del plugin lleva fuera del directorio del plugin o no se pudo confirmar que esté dentro de él, así que Claude Code descarta esa ruta y carga el resto del plugin. Para una ruta que el plugin declara en `plugin.json` o en su [entrada del marketplace](https://code.claude.com/docs/es/plugins/marketplace-reference.md#plugin-entries), el nombre del componente en el mensaje, como `commands` o `hooks`, indica el campo que declaró la ruta.
4480 4542
4481```text theme={null}4543```text theme={null}
4482commands path escapes plugin directory: ./../shared.md4544commands path escapes plugin directory: ./../shared.md
4484 4546
4485En la salida del comando `claude plugin`, el mismo error dice `Path escapes plugin directory: ./../shared.md (commands)`.4547En la salida del comando `claude plugin`, el mismo error dice `Path escapes plugin directory: ./../shared.md (commands)`.
4486 4548
4487Claude Code rechaza tanto una ruta que apunta fuera del plugin tal como está escrita, como `../shared-utils`, como un enlace simbólico que conduce fuera del plugin y no es uno que las [reglas de enlace simbólico del marketplace](https://code.claude.com/docs/es/plugins/host-marketplace.md#share-files-within-a-marketplace-with-symlinks) permitan. Para un enlace simbólico, el mensaje también dice dónde se resuelve la ruta:4549Claude Code rechaza tanto una ruta que apunta fuera del plugin tal como está escrita, como `../shared-utils`, como un enlace simbólico que lleva fuera del plugin y que no está permitido por las [reglas de enlaces simbólicos del marketplace](https://code.claude.com/docs/es/plugins/host-marketplace.md#share-files-within-a-marketplace-with-symlinks). Para un enlace simbólico, el mensaje también indica adónde se resuelve la ruta:
4488 4550
4489```text theme={null}4551```text theme={null}
4490commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory4552commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory
4491```4553```
4492 4554
4493Un mensaje que da la ruta completa de uno de los archivos propios de un plugin de marketplace, como `hooks/hooks.json`, significa que Claude Code omitió ese archivo. Eso ocurre cuando Claude Code no puede confirmar que el archivo está dentro del plugin o, para un plugin en un [marketplace local](https://code.claude.com/docs/es/plugins/loading.md#in-place-and-copied-plugins), dentro de ese marketplace. El mensaje informa cada uno de estos archivos bajo el nombre de componente indicado:4555Un mensaje que da la ruta completa de uno de los propios archivos de un plugin de marketplace, como `hooks/hooks.json`, significa que Claude Code omitió ese archivo. Cuando Claude Code no puede confirmar que el archivo está dentro del plugin, o dentro de su marketplace en el caso de un plugin en un [marketplace local](https://code.claude.com/docs/es/plugins/loading.md#in-place-and-copied-plugins), omite el archivo. El mensaje informa estos archivos con el nombre de componente indicado:
4494 4556
4495* `hooks/hooks.json`: `hooks`4557* `hooks/hooks.json`: `hooks`
4496* `monitors/monitors.json`: `monitors`4558* `monitors/monitors.json`: `monitors`
4497* `settings.json`: `settings`
4498* `SKILL.md` en la raíz del plugin: `skills`4559* `SKILL.md` en la raíz del plugin: `skills`
4499 4560
4500Por ejemplo, este mensaje corresponde a un `hooks/hooks.json` que se resuelve fuera tanto del plugin como de su marketplace local:4561Por ejemplo, este mensaje corresponde a un `hooks/hooks.json` que se resuelve fuera tanto del plugin como de su marketplace local:
4503hooks path escapes plugin directory: /home/user/my-marketplace/my-plugin/hooks/hooks.json — it resolves to /home/user/dotfiles/hooks.json, outside the plugin directory and its marketplace directory4564hooks path escapes plugin directory: /home/user/my-marketplace/my-plugin/hooks/hooks.json — it resolves to /home/user/dotfiles/hooks.json, outside the plugin directory and its marketplace directory
4504```4565```
4505 4566
4506En macOS y Linux, Claude Code también rechaza una ruta de componente que contenga una barra invertida en cualquier lugar, incluso cuando la ruta permanece dentro del plugin. Un plugin cuyas rutas de componentes utilizan separadores de estilo Windows se carga en Windows y activa este rechazo en las otras plataformas:4567En macOS y Linux, Claude Code también rechaza una ruta de componente que contenga una barra invertida en cualquier parte, incluso cuando la ruta permanece dentro del plugin. Un plugin cuyas rutas de componentes usan separadores al estilo de Windows se carga en Windows y provoca este rechazo en las demás plataformas:
4507 4568
4508```text theme={null}4569```text theme={null}
4509commands path escapes plugin directory: ./commands\deploy.md — its path contains a backslash, which is not resolved reliably on this platform4570commands path escapes plugin directory: ./commands\deploy.md — its path contains a backslash, which is not resolved reliably on this platform
4510```4571```
4511 4572
4512Antes de v2.1.251, Claude Code cargaba una ruta `commands` declarada en una entrada de marketplace incluso cuando apuntaba fuera del directorio del plugin.4573Antes de la v2.1.251, Claude Code cargaba una ruta `commands` declarada en una entrada del marketplace incluso cuando apuntaba fuera del directorio del plugin.
4513 4574
4514Antes de v2.1.257, la verificación de las rutas que declara el plugin solo miraba la forma en que estaba escrita la ruta, no adónde conducía un enlace simbólico.4575Antes de la v2.1.257, la comprobación de las rutas que declara el plugin solo miraba cómo estaba escrita la ruta, no adónde lleva un enlace simbólico.
4515 4576
4516**Qué hacer:**4577**Qué hacer:**
4517 4578
4518* Si instalaste el plugin y no lo mantienes, informa el mensaje a su autor4579* Si instalaste el plugin y no lo mantienes, informa el mensaje a su autor
4519* Para una ruta que declara el plugin, mueve el archivo referenciado dentro del directorio del plugin y haz que la ruta apunte a él con una ruta relativa `./`4580* Para una ruta que declara el plugin, mueve el archivo referenciado dentro del directorio del plugin y haz que la ruta apunte a él con una ruta relativa `./`
4520* Si la ruta, o una carpeta por encima de ella dentro del plugin, es un enlace simbólico que conduce fuera del plugin, reemplaza el enlace simbólico con una copia de aquello a lo que apunta4581* Si la ruta, o una carpeta superior a ella dentro del plugin, es un enlace simbólico que lleva fuera del plugin, reemplaza el enlace simbólico por una copia de aquello a lo que apunta
4521* Si el mensaje dice que una ruta que declara el plugin contiene una barra invertida, escribe la ruta con barras diagonales, por ejemplo `./commands/deploy.md`4582* Si el mensaje dice que una ruta que declara el plugin contiene una barra invertida, escribe la ruta con barras diagonales, por ejemplo `./commands/deploy.md`
4522* Si el mensaje termina con `EACCES`, restaura tu permiso de ejecución en cada directorio que conduce al archivo o carpeta que indica la ruta. Revisa los directorios por encima de la ruta y luego sigue cada enlace simbólico que encuentres y revisa los directorios que conducen a donde apunta. Para cualquier otro código de error, búscalo en las [causas y pasos para una ruta que no se pudo verificar](#path-could-not-be-checked).4583* Si el mensaje termina con `EACCES`, restablece tu permiso de ejecución en cada directorio que lleva al archivo o carpeta que indica la ruta. Revisa los directorios por encima de la ruta, luego sigue cada enlace simbólico que encuentres y revisa los directorios que llevan adonde apunta. Para cualquier otro código de error, búscalo en las [causas y pasos para una ruta que no se pudo comprobar](#path-could-not-be-checked).
4523* Para compartir archivos con otros plugins en el mismo marketplace, vincúlelos con un enlace simbólico dentro del directorio del plugin, siguiendo las [reglas de enlace simbólico](https://code.claude.com/docs/es/plugins/host-marketplace.md#share-files-within-a-marketplace-with-symlinks)4584* Para compartir archivos con otros plugins del mismo marketplace, vincúlalos con un enlace simbólico dentro del directorio del plugin, siguiendo las [reglas de enlaces simbólicos](https://code.claude.com/docs/es/plugins/host-marketplace.md#share-files-within-a-marketplace-with-symlinks)
4524 4585
4525### Server file path not read4586### No se leyó la ruta del archivo de servidor
4526 4587
4527El mensaje `path not read` significa que Claude Code no leyó un archivo de servidor MCP o LSP que nombra un plugin, debido a la ruta del archivo. El resto del plugin se carga, sin los servidores que define el archivo.4588El mensaje `path not read` significa que Claude Code no leyó un archivo de servidor MCP o LSP que un plugin indica, debido a la ruta del archivo. El resto del plugin se carga, sin los servidores que define el archivo.
4528 4589
4529Una parte `..` cuenta incluso cuando la ruta permanece dentro del plugin, como en este ejemplo:4590Una parte `..` cuenta incluso cuando la ruta permanece dentro del plugin, como en este ejemplo:
4530 4591
4535**Qué hacer:**4596**Qué hacer:**
4536 4597
4537* Si instalaste el plugin y no lo mantienes, informa el mensaje a su autor4598* Si instalaste el plugin y no lo mantienes, informa el mensaje a su autor
4538* Si mantienes el plugin, conserva el archivo de servidor dentro del directorio del plugin. Nómbralo en el manifiesto o en la entrada de marketplace con una ruta que comience con `./` y no tenga `..`, por ejemplo `./servers/x.json`4599* Si mantienes el plugin, conserva el archivo de servidor dentro del directorio del plugin. Indícalo en el manifiesto o en la entrada del marketplace con una ruta que comience con `./` y no tenga `..`, por ejemplo `./servers/x.json`
4539* Para compartir un archivo de servidor entre plugins del mismo marketplace, vincula el archivo en cada plugin con un enlace simbólico, siguiendo las [reglas de enlaces simbólicos](https://code.claude.com/docs/es/plugins/host-marketplace.md#share-files-within-a-marketplace-with-symlinks)4600* Para compartir un archivo de servidor entre plugins del mismo marketplace, vincula el archivo en cada plugin con un enlace simbólico, siguiendo las [reglas de enlaces simbólicos](https://code.claude.com/docs/es/plugins/host-marketplace.md#share-files-within-a-marketplace-with-symlinks)
4540 4601
4541### Plugin not loaded: its manifest was not read4602### Plugin not loaded: its manifest was not read
4542 4603
4543Claude Code no pudo confirmar que el [manifiesto](https://code.claude.com/docs/es/plugins/manifest-reference.md) de un plugin de marketplace en `.claude-plugin/plugin.json` está dentro del plugin, por lo que no carga nada de ese plugin. Para un plugin en un [marketplace local](https://code.claude.com/docs/es/plugins/loading.md#in-place-and-copied-plugins), Claude Code tampoco pudo confirmar que el manifiesto está dentro de ese marketplace. El mensaje aparece en la pestaña **Errors** de `/plugin`, y el motivo al final indica lo que encontró Claude Code.4604Claude Code no pudo confirmar que el [manifiesto](https://code.claude.com/docs/es/plugins/manifest-reference.md) de un plugin de marketplace en `.claude-plugin/plugin.json` esté dentro del plugin, así que no carga nada de ese plugin. Para un plugin en un [marketplace local](https://code.claude.com/docs/es/plugins/loading.md#in-place-and-copied-plugins), Claude Code tampoco pudo confirmar que el manifiesto esté dentro de ese marketplace. El mensaje aparece en la pestaña **Errors** de `/plugin`, y el motivo al final indica lo que encontró Claude Code.
4544 4605
4545Por ejemplo, este mensaje corresponde a un plugin en un marketplace local cuya carpeta `.claude-plugin` es un enlace simbólico que conduce fuera del marketplace:4606Por ejemplo, este mensaje corresponde a un plugin en un marketplace local cuya carpeta `.claude-plugin` es un enlace simbólico que lleva fuera del marketplace:
4546 4607
4547```text theme={null}4608```text theme={null}
4548Plugin not loaded: its manifest /home/user/my-marketplace/my-plugin/.claude-plugin/plugin.json was not read, because it resolves to /home/user/dotfiles/my-plugin/.claude-plugin/plugin.json, outside the plugin directory and its marketplace directory4609Plugin not loaded: its manifest /home/user/my-marketplace/my-plugin/.claude-plugin/plugin.json was not read, because it resolves to /home/user/dotfiles/my-plugin/.claude-plugin/plugin.json, outside the plugin directory and its marketplace directory
4550 4611
4551**Qué hacer:**4612**Qué hacer:**
4552 4613
4553* Si el motivo termina con `EACCES`, restaura tu permiso de ejecución en cada directorio que conduce al manifiesto. Revisa los directorios por encima del manifiesto y luego sigue cada enlace simbólico que encuentres y revisa los directorios que conducen a donde apunta. Para cualquier otro código de error, búscalo en las [causas y pasos para una ruta que no se pudo verificar](#path-could-not-be-checked).4614* Si el motivo termina con `EACCES`, restablece tu permiso de ejecución en cada directorio que lleva al manifiesto. Revisa los directorios por encima del manifiesto, luego sigue cada enlace simbólico que encuentres y revisa los directorios que llevan adonde apunta. Para cualquier otro código de error, búscalo en las [causas y pasos para una ruta que no se pudo comprobar](#path-could-not-be-checked).
4554* Si mantienes el plugin y el motivo indica dónde se resuelve el manifiesto, la carpeta `.claude-plugin` o el propio `plugin.json` es un enlace simbólico que conduce allí. Reemplaza ese enlace con una copia de aquello a lo que apunta.4615* Si mantienes el plugin y el motivo indica adónde se resuelve el manifiesto, la carpeta `.claude-plugin` o el propio `plugin.json` es un enlace simbólico que lleva allí. Reemplaza ese enlace por una copia de aquello a lo que apunta.
4555* Si instalaste el plugin y no lo mantienes, informa el mensaje a su autor4616* Si instalaste el plugin y no lo mantienes, informa el mensaje a su autor
4556 4617
4557### Path could not be checked4618### La ruta no se pudo comprobar
4558 4619
4559Claude Code le preguntó al sistema operativo si existe una ruta de plugin y obtuvo un error que no sea "no encontrado", por lo que no carga lo que la ruta nombra. Cuánto del plugin se carga depende de qué ruta falló:4620Claude Code preguntó al sistema operativo si existe una ruta del plugin y obtuvo un error distinto de "no encontrado", así que no carga lo que indica la ruta. Cuánto del plugin se carga depende de qué ruta falló:
4560 4621
4561* Una de las [ubicaciones de componentes predeterminadas](https://code.claude.com/docs/es/plugins/manifest-reference.md#standard-layout) de un plugin, como la carpeta `skills/`, el archivo `monitors/monitors.json`, o un [`SKILL.md` en la raíz del plugin](https://code.claude.com/docs/es/plugins/components#skills): los otros componentes del plugin aún se cargan4622* Una de las [ubicaciones predeterminadas de componentes](https://code.claude.com/docs/es/plugins/manifest-reference.md#standard-layout) de un plugin, como la carpeta `skills/`, el archivo `monitors/monitors.json` o un [`SKILL.md` en la raíz del plugin](https://code.claude.com/docs/es/plugins/components#skills): los demás componentes del plugin se siguen cargando
4562* El directorio del plugin en sí: nada de ese plugin se carga4623* El propio directorio del plugin: no se carga nada de ese plugin
4563 4624
4564No ve este error para una ruta que no existe en absoluto. En `/plugin`, el error aparece bajo el plugin y nombra la ruta y el código que devolvió el sistema operativo:4625No ves este error para una ruta que no existe en absoluto. En `/plugin`, el error aparece bajo el plugin e indica la ruta y el código que devolvió el sistema operativo:
4565 4626
4566```text theme={null}4627```text theme={null}
4567skills path could not be checked: /home/user/my-plugin/skills (ELOOP)4628skills path could not be checked: /home/user/my-plugin/skills (ELOOP)
4569 4630
4570En `claude plugin list`, el mismo error dice `Path not found: /home/user/my-plugin/skills (skills, ELOOP)`.4631En `claude plugin list`, el mismo error dice `Path not found: /home/user/my-plugin/skills (skills, ELOOP)`.
4571 4632
4572Las causas que producen este error incluyen:4633Entre las causas que producen este error están:
4573 4634
4574* `ELOOP`: un enlace simbólico en la ruta apunta a sí mismo o forma un bucle4635* `ELOOP`: un enlace simbólico en la ruta apunta a sí mismo o forma un bucle
4575* `EIO` o `ESTALE`: la ruta está en un montaje de red que está roto o obsoleto4636* `EIO` o `ESTALE`: la ruta está en un montaje de red roto u obsoleto
4576* `EACCES`: uno de los directorios por encima de la ruta le niega permiso para atravesarlo4637* `EACCES`: uno de los directorios por encima de la ruta te niega el permiso para recorrerlo
4577 4638
4578**Qué hacer:**4639**Qué hacer:**
4579 4640
4580* Reemplace un enlace simbólico que apunta a sí mismo con una carpeta real, o elimínelo4641* Reemplaza un enlace simbólico que apunta a sí mismo por una carpeta real, o elimínalo
4581* Si la ruta está en un montaje de red, remonte el recurso compartido4642* Si la ruta está en un montaje de red, vuelve a montar el recurso compartido
4582* Si el código es `EACCES`, restaure su permiso de ejecución en los directorios por encima de la ruta4643* Si el código es `EACCES`, restablece tu permiso de ejecución en los directorios por encima de la ruta
4583* Ejecute `/reload-plugins` después de corregir la ruta, o reinicie Claude Code, para cargar el plugin o componente4644* Ejecuta `/reload-plugins` después de corregir la ruta, o reinicia Claude Code, para cargar el plugin o componente
4584 4645
4585Antes de v2.1.265, Claude Code trataba una carpeta de componentes predeterminada que no podía verificar como ausente y cargaba el plugin sin ese componente, sin error.4646Antes de la v2.1.265, Claude Code trataba una carpeta de componente predeterminada que no podía comprobar como ausente y cargaba el plugin sin ese componente, sin mostrar ningún error.
4586 4647
4587### Marketplace entry path does not stay inside the marketplace directory4648### La ruta de la entrada del marketplace no permanece dentro del directorio del marketplace
4588 4649
4589La [entrada de marketplace](https://code.claude.com/docs/es/plugins/marketplace-reference.md#plugin-entries) del plugin declara una ruta de fuente que Claude Code no puede resolver a una ubicación dentro del directorio del marketplace en sí, por lo que el plugin no se instala ni se carga. La negativa cubre:4650La [entrada del marketplace](https://code.claude.com/docs/es/plugins/marketplace-reference.md#plugin-entries) del plugin declara una ruta de origen que Claude Code no puede resolver a una ubicación dentro del propio directorio del marketplace, así que el plugin no se instala ni se carga. El rechazo abarca:
4590 4651
4591* Una ruta de entrada que es absoluta, sube fuera del marketplace con `..`, o está escrita como una ruta de red4652* Una ruta de entrada que es absoluta, sale del marketplace con `..` o está escrita como una ruta de red
4592* En macOS y Linux, una ruta de entrada que contiene una barra invertida en cualquier lugar después del `./` inicial4653* En macOS y Linux, una ruta de entrada que contiene una barra invertida en cualquier parte después del `./` inicial
4593* Una entrada en un marketplace obtenido de una fuente remota, como git o una URL, que alcanza su destino a través de un enlace simbólico que se resuelve fuera del directorio del marketplace4654* Una entrada en un marketplace obtenido desde un origen remoto, como git o una URL, que llega a su destino a través de un enlace simbólico que se resuelve fuera del directorio del marketplace
4594* Una entrada relativa en un marketplace agregado desde una URL directa a su `marketplace.json`: Claude Code descarga solo ese archivo, por lo que no existen archivos de plugin locales para que la ruta nombre. Consulte [Plugins with relative paths fail in URL-based marketplaces](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugins-with-relative-paths-fail-in-url-based-marketplaces)4655* Una entrada relativa en un marketplace agregado desde una URL directa a su `marketplace.json`: Claude Code descarga solo ese archivo, así que no existen archivos locales del plugin que la ruta pueda indicar. Consulta [Los plugins con rutas relativas fallan en marketplaces basados en URL](https://code.claude.com/docs/es/plugins/troubleshooting.md#plugins-with-relative-paths-fail-in-url-based-marketplaces)
4595 4656
4596`claude plugin install` informa la negativa así:4657`claude plugin install` informa el rechazo así:
4597 4658
4598```text theme={null}4659```text theme={null}
4599Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped, backslash-containing or link-traversing entry, an entry of a fetched marketplace that resolves or opens outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)4660Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped, backslash-containing or link-traversing entry, an entry of a fetched marketplace that resolves or opens outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)
4600```4661```
4601 4662
4602Cuando la entrada de un plugin ya instalado falla la misma verificación, `claude plugin list` muestra el plugin como `failed to load` con:4663Cuando la entrada de un plugin ya instalado no supera la misma comprobación, `claude plugin list` muestra el plugin como `failed to load` con:
4603 4664
4604```text theme={null}4665```text theme={null}
4605Plugin source path refused: ./my-plugin does not stay inside its marketplace directory. Check that the marketplace entry has a plain relative path.4666Plugin source path refused: ./my-plugin does not stay inside its marketplace directory. Check that the marketplace entry has a plain relative path.
4607 4668
4608**Qué hacer:**4669**Qué hacer:**
4609 4670
4610* Si mantiene el marketplace, escriba la `source` de la entrada como una ruta relativa simple con barras diagonales, como `./plugins/my-plugin`, y mantenga cualquier enlace simbólico que cruce apuntado dentro del directorio del marketplace4671* Si mantienes el marketplace, escribe el `source` de la entrada como una ruta relativa simple con barras diagonales, como `./plugins/my-plugin`, y mantén cualquier enlace simbólico que atraviese apuntando dentro del directorio del marketplace
4611* Si agregó el marketplace desde una URL directa, las entradas relativas no pueden resolverse. Pida al autor del marketplace que use [otra fuente de plugin](https://code.claude.com/docs/es/plugins/marketplace-reference.md#plugin-sources), o agregue el marketplace desde su repositorio de git en su lugar4672* Si agregaste el marketplace desde una URL directa, las entradas relativas no se pueden resolver. Pide al autor del marketplace que use [otro origen de plugin](https://code.claude.com/docs/es/plugins/marketplace-reference.md#plugin-sources), o agrega el marketplace desde su repositorio git
4612 4673
4613### Failed to load marketplace configuration4674### Failed to load marketplace configuration
4614 4675
4615Claude Code mantiene los marketplaces de plugins que ha agregado en un archivo de registro en `~/.claude/plugins/known_marketplaces.json`. Un comando de plugin que necesita el registro, como `claude plugin install`, falla con uno de dos mensajes cuando Claude Code no puede usar el archivo:4676Claude Code guarda los marketplaces de plugins que agregaste en un archivo de registro en `~/.claude/plugins/known_marketplaces.json`. Un comando de plugin que necesita el registro, como `claude plugin install`, falla con uno de dos mensajes cuando Claude Code no puede usar el archivo:
4616 4677
4617* `Failed to load marketplace configuration`: el archivo no es JSON válido, o no se puede leer. Un archivo vacío falla de esta manera también.4678* `Failed to load marketplace configuration`: el archivo existe, pero no es JSON válido o no se puede leer. Un archivo vacío también falla de esta manera.
4618* `Marketplace configuration file is corrupted`: el archivo es JSON válido pero su contenido no coincide con el esquema del registro.4679* `Marketplace configuration file is corrupted`: el archivo es JSON válido, pero su contenido no coincide con el esquema del registro.
4619 4680
4620Con un archivo vacío, `claude plugin install` informa:4681Con un archivo vacío, `claude plugin install` informa:
4621 4682
4623✘ Failed to install plugin "my-plugin": Failed to load marketplace configuration: JSON Parse error: Unexpected EOF4684✘ Failed to install plugin "my-plugin": Failed to load marketplace configuration: JSON Parse error: Unexpected EOF
4624```4685```
4625 4686
4626Antes de v2.1.246, `claude plugin install` no informaba esta falla.4687Antes de la v2.1.246, `claude plugin install` no informaba este fallo.
4627 4688
4628**Qué hacer:**4689**Qué hacer:**
4629 4690
4630* Abra `~/.claude/plugins/known_marketplaces.json` y repare el JSON, o corrija las entradas que el mensaje nombra como no coincidentes con el esquema del registro4691* Abre `~/.claude/plugins/known_marketplaces.json` y repara el JSON, o corrige las entradas que el mensaje indica que no coinciden con el esquema del registro
4631* Si no puede repararlo, elimine el archivo o reemplace su contenido con `{}`, luego vuelva a agregar cada marketplace con `claude plugin marketplace add <source>`. Claude Code vuelve a registrar los marketplaces que su configuración de usuario o administrada declara en [`extraKnownMarketplaces`](https://code.claude.com/docs/es/settings-reference#extraknownmarketplaces) la próxima vez que lo inicie en una carpeta que haya confiado.4692* Si no puedes repararlo, elimina el archivo o reemplaza su contenido por `{}`, y luego vuelve a agregar cada marketplace con `claude plugin marketplace add <source>`. Claude Code vuelve a registrar los marketplaces que tu configuración de usuario o tu configuración administrada declaran en [`extraKnownMarketplaces`](https://code.claude.com/docs/es/settings-reference#extraknownmarketplaces) la próxima vez que lo inicies en una carpeta en la que hayas confiado.
4632 4693
4633### Plugin is required by your organization4694### El plugin es obligatorio en tu organización
4634 4695
4635Ejecutó `claude plugin disable`, o utilizó la pestaña **Installed** de `/plugin`, para desactivar un [plugin sincronizado desde claude.ai](https://code.claude.com/docs/es/plugins/loading.md#synced-plugins) que su organización marca como requerido:4696Ejecutaste `claude plugin disable`, o usaste la pestaña **Installed** de `/plugin`, para desactivar un [plugin sincronizado desde claude.ai](https://code.claude.com/docs/es/plugins/loading.md#synced-plugins) que tu organización marca como obligatorio:
4636 4697
4637```text theme={null}4698```text theme={null}
4638Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.4699Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.
4639```4700```
4640 4701
4641Claude Code no guarda nada y el plugin permanece habilitado.4702Claude Code no guarda nada y el plugin permanece activado.
4642 4703
4643Cuando intenta desactivar un plugin del que depende un plugin requerido, Claude Code rechaza de la misma manera, con un mensaje que nombra el plugin requerido que lo necesita.4704Cuando intentas desactivar un plugin del que depende un plugin obligatorio, Claude Code lo rechaza de la misma manera, con un mensaje que indica el plugin obligatorio que lo necesita.
4644 4705
4645**Qué hacer:**4706**Qué hacer:**
4646 4707
4647* Pida a un administrador de su organización claude.ai que cambie el estado requerido del plugin en claude.ai4708* Pide a un administrador de tu organización de claude.ai que cambie el estado de obligatorio del plugin en claude.ai
4648 4709
4649### Plugin was not uninstalled4710### El plugin no se desinstaló
4650 4711
4651Ejecutó [`claude plugin uninstall`](https://code.claude.com/docs/es/plugins/cli-reference#plugin-uninstall), o eligió **Uninstall** en la pestaña **Installed** de `/plugin`, y la desinstalación se detuvo con un mensaje que comienza `"<plugin>" was not uninstalled:`. Si el texto después de ese dos puntos comienza con `installed_plugins.json` en lugar de nombrar un archivo de configuración, la causa es contenido en `installed_plugins.json` que esta versión de Claude Code no puede leer. Para esa forma, consulte [`installed_plugins.json` holds a record this version can't read](https://code.claude.com/docs/es/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read).4712Ejecutaste [`claude plugin uninstall`](https://code.claude.com/docs/es/plugins/cli-reference#plugin-uninstall), o elegiste **Uninstall** en la pestaña **Installed** de `/plugin`, y la desinstalación se detuvo con un mensaje que comienza con `"<plugin>" was not uninstalled:`. Si el texto después de esos dos puntos comienza con `installed_plugins.json` en lugar de indicar un archivo de configuración, la causa es contenido en `installed_plugins.json` que esta versión de Claude Code no puede leer. Para esa forma, consulta [`installed_plugins.json` contiene un registro que esta versión no puede leer](https://code.claude.com/docs/es/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read).
4652 4713
4653Cuando Claude Code eliminó la entrada del plugin de `enabledPlugins` y leyó los archivos de configuración de ese ámbito nuevamente, ya sea el plugin seguía activado allí, o un archivo que podría activarlo no se pudo leer o verificar. Eliminar las opciones guardadas del plugin, secretos y datos mientras una entrada de configuración podría activarlo nuevamente los perdería, por lo que la desinstalación se detiene en su lugar: el plugin permanece instalado y nada que guardó se elimina.4714Cuando Claude Code eliminó la entrada del plugin de `enabledPlugins` y volvió a leer los archivos de configuración de ese alcance, o bien el plugin seguía activado allí, o bien un archivo que podía activarlo no se pudo leer ni comprobar. Borrar las opciones, los secretos y los datos guardados del plugin mientras una entrada de configuración podía volver a activarlo los haría perder, así que la desinstalación se detiene: el plugin sigue instalado y no se borra nada de lo que guardó.
4654 4715
4655```text theme={null}4716```text theme={null}
4656✘ Failed to uninstall plugin "formatter": "formatter" was not uninstalled: it is still switched on in /home/user/project/.claude/settings.local.json, although the settings change reported no error. It is still installed. Take it out of "enabledPlugins" in that file yourself, then uninstall it again.4717✘ Failed to uninstall plugin "formatter": "formatter" was not uninstalled: it is still switched on in /home/user/project/.claude/settings.local.json, although the settings change reported no error. It is still installed. Take it out of "enabledPlugins" in that file yourself, then uninstall it again.
4657```4718```
4658 4719
4659El medio del mensaje nombra el archivo y la causa:4720La parte central del mensaje indica el archivo y la causa:
4660 4721
4661* `it is still switched on in <file>, although the settings change reported no error`: la escritura de configuración informó éxito pero la entrada aún está allí cuando se lee el archivo nuevamente4722* `it is still switched on in <file>, although the settings change reported no error`: la escritura de la configuración informó éxito, pero la entrada sigue ahí cuando se vuelve a leer el archivo
4662* `it is still switched on in <file>, and the settings change failed (<error>)`: el archivo no se pudo guardar, por la razón entre paréntesis4723* `it is still switched on in <file>, and the settings change failed (<error>)`: el archivo no se pudo guardar, por el motivo entre paréntesis
4663* `<file> is there and could not be read`: el archivo existe pero no se pudo leer como configuración, por ejemplo porque no es JSON válido, por lo que aún puede activar el plugin4724* `<file> is there and could not be read`: el archivo existe, pero no se pudo leer como configuración, por ejemplo porque no es JSON válido, así que todavía podría activar el plugin
4664* `<file> (not read: it is on a network path or is a link to one, or could not be checked)`: Claude Code no leyó el archivo de configuración del proyecto o local porque el archivo, o la carpeta `.claude` que lo contiene, es un enlace que conduce a una ubicación de red, o porque no pudo examinar esa ruta4725* `<file> (not read: it is on a network path or is a link to one, or could not be checked)`: Claude Code no leyó el archivo de configuración del proyecto o local porque el archivo, o la carpeta `.claude` que lo contiene, es un enlace que lleva a una ubicación de red, o porque no pudo examinar esa ruta
4665 4726
4666`claude plugin uninstall` sale con código 1, y con `--json` el resultado lleva `failureCode: "settings_still_on"`. `/plugin` muestra el mismo mensaje.4727`claude plugin uninstall` termina con código 1, y con `--json` el resultado incluye `failureCode: "settings_still_on"`. `/plugin` muestra el mismo mensaje.
4667 4728
4668**Qué hacer:**4729**Qué hacer:**
4669 4730
4670* Siga la última oración del mensaje: repare o reemplace el archivo de configuración que nombra, o elimine la entrada del plugin de `enabledPlugins` en ese archivo usted mismo, luego ejecute la desinstalación nuevamente4731* Sigue la última oración del mensaje: repara o reemplaza el archivo de configuración que indica, o elimina tú mismo la entrada del plugin de `enabledPlugins` en ese archivo, y luego vuelve a ejecutar la desinstalación
4671 4732
4672### Skipping connection (recent failure cached; retries automatically in 15 min, or edit the plugin config to retry now)4733### Skipping connection (recent failure cached; retries automatically in 15 min, or edit the plugin config to retry now)
4673 4734
4674Este mensaje significa que Claude Code no inició un [servidor MCP stdio que proporciona un plugin](https://code.claude.com/docs/es/mcp.md#plugin-provided-mcp-servers), porque una conexión a ese servidor falló menos de 15 minutos antes:4735Este mensaje significa que Claude Code no inició un [servidor MCP proporcionado por un plugin](https://code.claude.com/docs/es/mcp.md#plugin-provided-mcp-servers) de tipo stdio, porque una conexión a ese servidor falló hace menos de 15 minutos:
4675 4736
4676```text theme={null}4737```text theme={null}
4677Skipping connection (recent failure cached; retries automatically in 15 min, or edit the plugin config to retry now)4738Skipping connection (recent failure cached; retries automatically in 15 min, or edit the plugin config to retry now)
4686* **En una sesión interactiva**: ejecuta `/mcp`, selecciona el servidor y selecciona **Reconnect**4747* **En una sesión interactiva**: ejecuta `/mcp`, selecciona el servidor y selecciona **Reconnect**
4687* **En una aplicación de [Agent SDK](https://code.claude.com/docs/es/agent-sdk/overview.md)**: llama a [`reconnectMcpServer()`](https://code.claude.com/docs/es/agent-sdk/typescript#methods) en TypeScript o a [`ClaudeSDKClient.reconnect_mcp_server()`](https://code.claude.com/docs/es/agent-sdk/python#methods) en Python con el nombre del servidor4748* **En una aplicación de [Agent SDK](https://code.claude.com/docs/es/agent-sdk/overview.md)**: llama a [`reconnectMcpServer()`](https://code.claude.com/docs/es/agent-sdk/typescript#methods) en TypeScript o a [`ClaudeSDKClient.reconnect_mcp_server()`](https://code.claude.com/docs/es/agent-sdk/python#methods) en Python con el nombre del servidor
4688* **En `claude -p`**: inicia una sesión interactiva que cargue el mismo plugin, en la misma máquina y con la misma cuenta del sistema operativo y el mismo valor de [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/es/env-vars) que tus ejecuciones. Vuelve a conectar el servidor allí desde `/mcp`. Una vez que se conecte, Claude Code intenta la conexión en tu próxima ejecución.4749* **En `claude -p`**: inicia una sesión interactiva que cargue el mismo plugin, en la misma máquina y con la misma cuenta del sistema operativo y el mismo valor de [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/es/env-vars) que tus ejecuciones. Vuelve a conectar el servidor allí desde `/mcp`. Una vez que se conecte, Claude Code intenta la conexión en tu próxima ejecución.
4689* **Si estás desarrollando el plugin**: cambia `command`, `args` o `env` del servidor en el `.mcp.json` o `plugin.json` del plugin. Claude Code intenta la conexión en la próxima sesión o ejecución de `claude -p` que cargue la entrada modificada.4750* **Si estás desarrollando el plugin**: cambia el `command`, los `args` o el `env` del servidor en el `.mcp.json` o el `plugin.json` del plugin. Claude Code intenta la conexión en la siguiente sesión o ejecución de `claude -p` que cargue la entrada modificada.
4690 4751
4691El mensaje reemplaza el error de la conexión fallida. Si el nuevo intento también falla, Claude Code informa el error de ese intento en lugar de este mensaje.4752El mensaje reemplaza el error de la conexión fallida. Si el nuevo intento también falla, Claude Code informa el error de ese intento en lugar de este mensaje.
4692 4753
5481Abriste una [sesión en segundo plano](https://code.claude.com/docs/es/agent-view.md) que terminó mientras el servicio en segundo plano estaba apagado, y [la limpieza de transcripciones](https://code.claude.com/docs/es/settings-reference.md#cleanupperioddays) ha eliminado desde entonces su conversación guardada, por ejemplo después de que la máquina estuvo apagada durante semanas. Abrir una fila así normalmente [reanuda su conversación guardada](https://code.claude.com/docs/es/agent-view.md#sessions-show-as-failed-after-shutdown). Sin nada que reanudar, Claude Code se niega en lugar de volver a ejecutar el prompt original de la sesión sin preguntar:5542Abriste una [sesión en segundo plano](https://code.claude.com/docs/es/agent-view.md) que terminó mientras el servicio en segundo plano estaba apagado, y [la limpieza de transcripciones](https://code.claude.com/docs/es/settings-reference.md#cleanupperioddays) ha eliminado desde entonces su conversación guardada, por ejemplo después de que la máquina estuvo apagada durante semanas. Abrir una fila así normalmente [reanuda su conversación guardada](https://code.claude.com/docs/es/agent-view.md#sessions-show-as-failed-after-shutdown). Sin nada que reanudar, Claude Code se niega en lugar de volver a ejecutar el prompt original de la sesión sin preguntar:
5482 5543
5483```text theme={null}5544```text theme={null}
5484This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` deletes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.5545This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` removes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.
5485```5546```
5486 5547
5487`claude attach <id>` imprime este texto. En agent view, el pie de página es más corto y termina con `ctrl+x deletes the row`.5548`claude attach <id>` imprime este texto. En agent view, el pie de página es más corto y termina con `ctrl+x removes the row`.
5488 5549
5489**Qué hacer:**5550**Qué hacer:**
5490 5551
5503 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef5564 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef
5504```5565```
5505 5566
5506Cuando Claude Code no puede resumir los commits, la línea de detalle dice `The worktree has unpushed commits` en su lugar. En [agent view](https://code.claude.com/docs/es/agent-view.md), la fila de la sesión muestra `not deleted` con la misma razón.5567Cuando Claude Code no puede resumir los commits, la línea de detalle dice `The worktree has unpushed commits` en su lugar. En [agent view](https://code.claude.com/docs/es/agent-view.md), la fila de la sesión muestra `not removed` con la misma razón.
5507 5568
5508Los commits en un remoto no bloquean la eliminación. Tampoco los commits en la copia local de la rama predeterminada de tu remoto `origin`, siempre que esa rama esté activa en tu checkout principal, es decir, el propio directorio del repositorio en lugar de un worktree.5569Los commits en un remoto no bloquean la eliminación. Tampoco los commits en la copia local de la rama predeterminada de tu remoto `origin`, siempre que esa rama esté activa en tu checkout principal, es decir, el propio directorio del repositorio en lugar de un worktree.
5509 5570
5780 5841
5781Estos errores provienen del programa que inició Claude Code para usted, como una extensión de IDE o una aplicación del [Agent SDK](https://code.claude.com/docs/es/agent-sdk/overview.md), en lugar de provenir de Claude Code en sí.5842Estos errores provienen del programa que inició Claude Code para usted, como una extensión de IDE o una aplicación del [Agent SDK](https://code.claude.com/docs/es/agent-sdk/overview.md), en lugar de provenir de Claude Code en sí.
5782 5843
5844### Subprocess initialization did not complete within 60000ms
5845
5846Este error significa que un proceso de Claude Code que la [extensión de VS Code](https://code.claude.com/docs/es/vs-code.md) o una aplicación del Agent SDK inició no informó a tiempo que estaba listo. La extensión o la aplicación entonces lo detuvo. En una conversación de VS Code, el error comienza con `Claude Code did not finish starting`, por ejemplo:
5847
5848```text theme={null}
5849Claude Code did not finish starting: it did not answer in time. The output logs ("View output logs") show how far it got. Slow plugins, MCP servers, hooks, disks or network can each cause this.
5850```
5851
5852En los registros de salida de la extensión, en su pantalla de inicio de sesión y en una aplicación del Agent SDK, el error se lee de otra forma. Comienza con `Subprocess initialization did not complete within` y el límite de tiempo, y luego indica lo que Claude Code informó, por ejemplo:
5853
5854```text theme={null}
5855Subprocess initialization did not complete within 60000ms. Claude Code did not answer the initialize request and reported no SessionStart or Setup hook running. Slow plugins, MCP servers, hooks that Claude Code does not report, disks or network can each cause this.
5856```
5857
5858**Qué hacer:**
5859
5860* Para volver a intentarlo en VS Code, envía un mensaje. Si el error apareció mientras iniciabas sesión, selecciona de nuevo el método de inicio de sesión.
5861* Para ver hasta dónde llegó Claude Code, haz clic en **View output logs** debajo del error de una conversación, o ejecuta **Claude Code: Show Logs** desde la Command Palette. Incluye las entradas alrededor de la línea `Subprocess initialization` al [informar el problema](https://github.com/anthropics/claude-code/issues).
5862* Para revisar tu red, consulta [Configuración de red](https://code.claude.com/docs/es/network-config.md). Si el mensaje te indica que revises tu inicio de sesión o autenticación, consulta [Inicio de sesión y autenticación](https://code.claude.com/docs/es/troubleshoot-install.md#login-and-authentication).
5863* Si el mensaje dice que los hooks [SessionStart](https://code.claude.com/docs/es/hooks.md#sessionstart) o [Setup](https://code.claude.com/docs/es/hooks.md#setup) no habían terminado, [comprueba cuánto tardan los tuyos](https://code.claude.com/docs/es/hooks.md#debug-hooks). En VS Code, los primeros 10 minutos en los que Claude Code informa que estos hooks se están ejecutando no cuentan para el límite de 60 segundos. Haz que un hook lento termine antes, reduce el [`timeout`](https://code.claude.com/docs/es/hooks#common-fields) de un hook no asíncrono o [elimina el hook](https://code.claude.com/docs/es/hooks.md#disable-or-remove-hooks).
5864* Si tu aplicación del Agent SDK llama a [`startup()`](https://code.claude.com/docs/es/agent-sdk/typescript#startup), establece `initializeTimeoutMs` con un valor suficiente para todo el inicio, o déjalo sin establecer para que no cuenten hasta 10 minutos de tiempo de hooks informado.
5865
5866Antes de la extensión de VS Code v2.1.304 y del Agent SDK de TypeScript v0.3.304, todo el tiempo de los hooks contaba para el límite. Con el límite predeterminado, el mensaje contenía `Subprocess initialization did not complete within 60000ms — check authentication and network connectivity`. Si ves ese texto, actualiza la extensión o el SDK.
5867
5783### El proceso de Claude Code salió con código N5868### El proceso de Claude Code salió con código N
5784 5869
5785El proceso `claude` subyacente salió con un código distinto de cero. El código de salida por sí solo no indica qué falló: el error real está en la propia salida del proceso, que el wrapper añade cuando la capturó y de lo contrario mantiene en sus registros.5870El proceso `claude` subyacente salió con un código distinto de cero. El código de salida por sí solo no indica qué falló: el error real está en la propia salida del proceso, que el wrapper añade cuando la capturó y de lo contrario mantiene en sus registros.