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) |
251| `Ultrareview did not start` | [Errores de línea de comandos](#ultrareview-did-not-start) |252| `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) |253| `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) |254| `` `<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) |
255| `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) |
256| `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) |257| `--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) |258| `` `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) |259| `Could not read Claude Code config` | [Errores de línea de comandos](#could-not-read-claude-code-config) |
825Las llamadas posteriores en la misma respuesta de Claude pueden denegarse con este motivo:828Las llamadas posteriores en la misma respuesta de Claude pueden denegarse con este motivo:
826 829
827```text theme={null}830```text theme={null}
828another call in this response was changed by a hook after auto mode reviewed it, or could not be confirmed unchanged831another call in this response was changed after auto mode reviewed it, or could not be confirmed unchanged
829```832```
830 833
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:834Claude 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:
1822 1825
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`.1826Antes 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 1827
1828### Stopped an OAuth request
1829
1830Este 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:
1831
1832```text theme={null}
1833Stopped 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.
1834Stopped 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.
1835```
1836
1837**Qué hacer:**
1838
1839* 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`.
1840
1825### Se rechaza enviar credenciales a un endpoint de token que no es https1841### Se rechaza enviar credenciales a un endpoint de token que no es https
1826 1842
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.1843En 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 2223
2208### Host no permitido en una sesión en la nube2224### Host no permitido en una sesión en la nube
2209 2225
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.2226En 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 2227
2212```text theme={null}2228```text theme={null}
2213HTTP 4032229HTTP 403
2565 2581
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.2582Claude 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 2583
2584El error que ves puede nombrar un límite de píxeles diferente, como `2576x2576px` donde estos ejemplos dicen `2000x2000px`.
2585
2568**Qué hacer:**2586**Qué hacer:**
2569 2587
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.2588* 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.2891* **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.2892* **`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.2893* **`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.2894* **`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.2895* **`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 2896
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.2897Antes 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:3540Iniciaste [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 3541
3524```text theme={null}3542```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`).3543Error: `--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```3544```
3527 3545
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.3546Claude 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 3554
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`.3555Antes 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 3556
3557### Remote Control no se inició por el archivo de `--settings`
3558
3559El archivo que pasaste a [`claude remote-control --settings`](https://code.claude.com/docs/es/remote-control#start-a-remote-control-session) tiene un problema:
3560
3561```text theme={null}
3562Error: Remote Control did not start, because sessions would skip part or all of the --settings file ./rc-settings.json: Invalid or malformed JSON
3563```
3564
3565**Qué hacer:**
3566
3567* Corrige el problema que indica el mensaje y luego vuelve a ejecutar tu comando `claude remote-control`
3568
3569### The settings file has changed since Remote Control started
3570
3571Este 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:
3572
3573```text theme={null}
3574Session 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.
3575```
3576
3577**Qué hacer:**
3578
3579* 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).
3580* 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
3581
3539### `--sandbox` or `--no-sandbox` is not supported by claude remote-control3582### `--sandbox` or `--no-sandbox` is not supported by claude remote-control
3540 3583
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:3584Este 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:
3960 4003
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 anterior4004* **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>`)``4005* **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`.4006* **Pasaste una rama base que no estaba en tu clon**: Claude Code la obtuvo de origin antes de comparar. La sugerencia dice ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; cuando Claude Code no puede determinar si tu clon es superficial (shallow), sugiere `git fetch --unshallow origin` en su lugar. Antes de la v2.1.221, la sugerencia proponía `git fetch --unshallow origin` para cada rama base obtenida, y en un clon completo ese comando falla con `fatal: --unshallow on a complete repository does not make sense`.
3964 4007
3965**Qué hacer:**4008**Qué hacer:**
3966 4009