4 4
5# Referencia de errores5# Referencia de errores
6 6
7> Busque mensajes de error en tiempo de ejecución de Claude Code con lo que cada uno significa y cómo solucionarlo.7> Busca mensajes de error en tiempo de ejecución de Claude Code con lo que cada uno significa y cómo solucionarlo.
8 8
9Esta página enumera los errores en tiempo de ejecución que Claude Code muestra y cómo recuperarse de cada uno, además de qué verificar cuando las respuestas parecen estar mal sin un error. Para errores de instalación como `command not found` o fallos de TLS durante la configuración, consulte [Solucionar problemas de instalación e inicio de sesión](/docs/es/troubleshoot-install).9Esta página enumera los errores en tiempo de ejecución que Claude Code muestra y cómo recuperarte de cada uno, además de qué verificar cuando las respuestas parecen estar mal sin un error. Para errores de instalación como `command not found` o fallos de TLS durante la configuración, consulta [Solucionar problemas de instalación e inicio de sesión](/docs/es/troubleshoot-install).
10 10
11Excepto por [errores de Wrapper e IDE](#wrapper-and-ide-errors), que el programa de lanzamiento imprime en lugar de Claude Code mismo, estos errores y comandos de recuperación se aplican en toda la CLI, la [aplicación de escritorio](/docs/es/desktop) y [sesiones en la nube](/docs/es/claude-code-on-the-web), ya que los tres envuelven la misma CLI de Claude Code. Para otros problemas específicos de la superficie, consulte la sección de solución de problemas en la página de esa superficie.11Excepto por [errores de Wrapper e IDE](#wrapper-and-ide-errors), que el programa de lanzamiento imprime en lugar de Claude Code mismo, estos errores y comandos de recuperación se aplican en toda la CLI, la [aplicación de escritorio](/docs/es/desktop) y [sesiones en la nube](/docs/es/claude-code-on-the-web), ya que las tres envuelven la misma CLI de Claude Code. Para otros problemas específicos de la superficie, consulta la sección de solución de problemas en la página de esa superficie.
12 12
13<Note>13<Note>
14 Claude Code llama a la API de Claude para respuestas del modelo, por lo que la mayoría de los errores en tiempo de ejecución se asignan a un código de error de API subyacente. Esta página cubre lo que cada error significa dentro de Claude Code y cómo recuperarse. Para las definiciones de código de estado HTTP sin procesar, consulte la [referencia de errores de la plataforma Claude](https://platform.claude.com/docs/en/api/errors).14 Claude Code llama a la API de Claude para respuestas del modelo, por lo que la mayoría de los errores en tiempo de ejecución se asignan a un código de error de API subyacente. Esta página cubre lo que cada error significa dentro de Claude Code y cómo recuperarte. Para las definiciones de código de estado HTTP sin procesar, consulta la [referencia de errores de la plataforma Claude](https://platform.claude.com/docs/en/api/errors).
15</Note>15</Note>
16 16
17<h2 id="find-your-error">17<h2 id="find-your-error">
18 Encuentre su error18 Encuentra tu error
19</h2>19</h2>
20 20
21Haga coincidir el mensaje que ve con una sección a continuación.21Busca el mensaje que ves en la tabla y ve a la sección correspondiente.
22 22
23| Mensaje | Sección |23| Mensaje | Sección |
24| :- | :- |24| :- | :- |
25| `API Error: 500 Internal server error` | [Errores del servidor](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [Errores del servidor](#api-error-500-internal-server-error) |
26| `API Error: Repeated 529 Overloaded errors` | [Errores del servidor](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [Errores del servidor](#api-error-repeated-529-overloaded-errors) |
27| `Opus is experiencing high load` / `Fable is experiencing high load` | [Errores del servidor](#api-error-repeated-529-overloaded-errors) |27| `Opus is experiencing high load` / `Fable is experiencing high load` | [Errores del servidor](#api-error-repeated-529-overloaded-errors) |
28| `Request timed out` | [Errores del servidor](#request-timed-out), o [Red](#unable-to-connect-to-api) si el mensaje menciona su conexión a internet |28| `Request timed out` | [Errores del servidor](#request-timed-out), o [Red](#unable-to-connect-to-api) si el mensaje menciona tu conexión a internet |
29| `API Error: No response from API` | [Errores del servidor](#no-response-from-api) |29| `API Error: No response from API` | [Errores del servidor](#no-response-from-api) |
30| `Server error mid-response. The response above may be incomplete.` | [Errores del servidor](#the-response-above-may-be-incomplete) |30| `Server error mid-response. The response above may be incomplete.` | [Errores del servidor](#the-response-above-may-be-incomplete) |
31| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Errores del servidor](#the-response-above-may-be-incomplete) |31| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Errores del servidor](#the-response-above-may-be-incomplete) |
112| `AWS default-chain credential resolve timed out` | [Autenticación](#aws-default-chain-credential-resolve-timed-out) |112| `AWS default-chain credential resolve timed out` | [Autenticación](#aws-default-chain-credential-resolve-timed-out) |
113| `Timed out after 60s waiting for AWS` | [Autenticación](#bedrock-setup-verification-timed-out-waiting-for-aws) |113| `Timed out after 60s waiting for AWS` | [Autenticación](#bedrock-setup-verification-timed-out-waiting-for-aws) |
114| `A request to AWS timed out. Check your network and proxy settings, then try again.` | [Autenticación](#bedrock-setup-verification-timed-out-waiting-for-aws) |114| `A request to AWS timed out. Check your network and proxy settings, then try again.` | [Autenticación](#bedrock-setup-verification-timed-out-waiting-for-aws) |
115| `Could not load the default credentials` on Google Cloud's Agent Platform | [Autenticación](#could-not-load-aws-or-google-cloud-credentials) |115| `Could not load the default credentials` en Agent Platform de Google Cloud | [Autenticación](#could-not-load-aws-or-google-cloud-credentials) |
116| `Unable to connect to API` | [Red](#unable-to-connect-to-api) |116| `Unable to connect to API` | [Red](#unable-to-connect-to-api) |
117| `Connection refused —` / `Can't reach the API server —` / `No internet route —` / `Couldn't connect through your proxy` / `Connection dropped`, each with an error code in parentheses | [Red](#unable-to-connect-to-api) |117| `Connection refused —` / `Can't reach the API server —` / `No internet route —` / `Couldn't connect through your proxy` / `Connection dropped`, cada uno con un código de error entre paréntesis | [Red](#unable-to-connect-to-api) |
118| `Unable to connect to Anthropic services` during setup | [Red](#unable-to-connect-to-anthropic-services) |118| `Unable to connect to Anthropic services` durante la configuración | [Red](#unable-to-connect-to-anthropic-services) |
119| `Socket is closed` | [Red](#socket-is-closed) |119| `Socket is closed` | [Red](#socket-is-closed) |
120| `Waiting for API response · will retry in` | [Reintentos automáticos](#automatic-retries), o [Red](#unable-to-connect-to-api) si persiste |120| `Waiting for API response · will retry in` | [Reintentos automáticos](#automatic-retries), o [Red](#unable-to-connect-to-api) si persiste |
121| `API returned an empty or malformed response` | [Red](#api-returned-an-empty-or-malformed-response) |121| `API returned an empty or malformed response` | [Red](#api-returned-an-empty-or-malformed-response) |
122| `Streaming response ended before any complete data was received` | [Red](#streaming-response-ended-before-any-complete-data-was-received) |122| `Streaming response ended before any complete data was received` | [Red](#streaming-response-ended-before-any-complete-data-was-received) |
123| `Bedrock streaming response has content-type "..."; expected "application/vnd.amazon.eventstream"` | [Red](#bedrock-streaming-response-has-an-unexpected-content-type) |123| `Bedrock streaming response has content-type "..."; expected "application/vnd.amazon.eventstream"` | [Red](#bedrock-streaming-response-has-an-unexpected-content-type) |
124| `SSL certificate verification failed` | [Red](#ssl-certificate-errors) |124| `SSL certificate verification failed` | [Red](#ssl-certificate-errors) |
125| `SSL certificate error (...)` during login or startup | [Red](#ssl-certificate-errors) |125| `SSL certificate error (...)` durante el inicio de sesión o el arranque | [Red](#ssl-certificate-errors) |
126| `unable to get local issuer certificate` | [Red](#ssl-certificate-errors) |126| `unable to get local issuer certificate` | [Red](#ssl-certificate-errors) |
127| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Red](#host-not-allowed-in-a-cloud-session) |127| `403` con `x-deny-reason: host_not_allowed` en una sesión en la nube o de rutina | [Red](#host-not-allowed-in-a-cloud-session) |
128| `proxy refused the connection` | [Red](#the-proxy-refused-the-connection) |128| `proxy refused the connection` | [Red](#the-proxy-refused-the-connection) |
129| `403` with `This GraphQL query is not enabled for this session` in a cloud session | [GitHub proxy](/docs/es/cloud-environments#github-proxy) |129| `403` con `This GraphQL query is not enabled for this session` en una sesión en la nube | [Proxy de GitHub](/docs/es/cloud-environments#github-proxy) |
130| `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) |130| `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) |
131| `Couldn't reconnect to your Remote Control session` | [Red](#couldnt-reconnect-to-your-remote-control-session) |131| `Couldn't reconnect to your Remote Control session` | [Red](#couldnt-reconnect-to-your-remote-control-session) |
132| `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) |132| `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) |
137| `Prompt is too long · this conversation is a single exchange` / `A single-exchange conversation cannot be compacted` | [Errores de solicitud](#prompt-is-too-long) |137| `Prompt is too long · this conversation is a single exchange` / `A single-exchange conversation cannot be compacted` | [Errores de solicitud](#prompt-is-too-long) |
138| `Context limit reached · /compact or /clear to continue` | [Errores de solicitud](#prompt-is-too-long) |138| `Context limit reached · /compact or /clear to continue` | [Errores de solicitud](#prompt-is-too-long) |
139| `Context limit reached · /clear to continue` | [Errores de solicitud](#prompt-is-too-long) |139| `Context limit reached · /clear to continue` | [Errores de solicitud](#prompt-is-too-long) |
140| `capability_rejected: prompt_too_long` on a Claude apps gateway session | [Errores de solicitud](#prompt-is-too-long) |140| `capability_rejected: prompt_too_long` en una sesión del gateway de aplicaciones de Claude | [Errores de solicitud](#prompt-is-too-long) |
141| `upstream rejected the request` / `request too large for this upstream` on a Claude apps gateway session | [Mensajes de error ascendentes](/docs/es/claude-apps-gateway-config#upstream-error-messages) |141| `upstream rejected the request` / `request too large for this upstream` en una sesión del gateway de aplicaciones de Claude | [Mensajes de error ascendentes](/docs/es/claude-apps-gateway-config#upstream-error-messages) |
142| `upstream rate limit exceeded` on a Claude apps gateway session | [Mensajes de error ascendentes](/docs/es/claude-apps-gateway-config#upstream-error-messages) |142| `upstream rate limit exceeded` en una sesión del gateway de aplicaciones de Claude | [Mensajes de error ascendentes](/docs/es/claude-apps-gateway-config#upstream-error-messages) |
143| `all upstreams failed (N attempted)` on a Claude apps gateway session | [Mensajes de error ascendentes](/docs/es/claude-apps-gateway-config#upstream-error-messages) |143| `all upstreams failed (N attempted)` en una sesión del gateway de aplicaciones de Claude | [Mensajes de error ascendentes](/docs/es/claude-apps-gateway-config#upstream-error-messages) |
144| `Claude Code may not be enabled for your organization` after a Claude apps gateway sign-in | [Solución de problemas de la puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway-deploy#troubleshooting) |144| `Claude Code may not be enabled for your organization` después de iniciar sesión en el gateway de aplicaciones de Claude | [Solución de problemas del gateway de aplicaciones de Claude](/docs/es/claude-apps-gateway-deploy#troubleshooting) |
145| `Context exceeds the ...-token limit by ... tokens` in `/context` output | [Errores de solicitud](#context-exceeds-the-token-limit) |145| `Context exceeds the ...-token limit by ... tokens` en la salida de `/context` | [Errores de solicitud](#context-exceeds-the-token-limit) |
146| `Request too large` | [Errores de solicitud](#request-too-large) |146| `Request too large` | [Errores de solicitud](#request-too-large) |
147| `Request too large for the API's 32MB request limit` | [Errores de solicitud](#request-too-large) |147| `Request too large for the API's 32MB request limit` | [Errores de solicitud](#request-too-large) |
148| `Image was too large` | [Errores de solicitud](#image-was-too-large) |148| `Image was too large` | [Errores de solicitud](#image-was-too-large) |
176| `role 'system' must precede an 'assistant' message` | [Errores de solicitud](#role-system-must-precede-an-assistant-message) |176| `role 'system' must precede an 'assistant' message` | [Errores de solicitud](#role-system-must-precede-an-assistant-message) |
177| `Invalid encrypted_content in search_result block` / `Invalid encrypted_index in text block` / `Failed to decrypt web search result content` | [Errores de solicitud](#invalid-encrypted-content-in-search-result-block) |177| `Invalid encrypted_content in search_result block` / `Invalid encrypted_index in text block` / `Failed to decrypt web search result content` | [Errores de solicitud](#invalid-encrypted-content-in-search-result-block) |
178| `Invalid encrypted_stdout in encrypted_code_execution_result block` | [Errores de solicitud](#invalid-encrypted-content-in-search-result-block) |178| `Invalid encrypted_stdout in encrypted_code_execution_result block` | [Errores de solicitud](#invalid-encrypted-content-in-search-result-block) |
179| `server_tool_use.name: Input should be` on every turn of a resumed session | [Errores de solicitud](#unsupported-tool-content-removed) |179| `server_tool_use.name: Input should be` en cada turno de una sesión reanudada | [Errores de solicitud](#unsupported-tool-content-removed) |
180| `<model> can't help with this. Start a new session to continue` | [Errores de solicitud](#usage-policy-refusal) |180| `<model> can't help with this. Start a new session to continue` | [Errores de solicitud](#usage-policy-refusal) |
181| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Errores de solicitud](#usage-policy-refusal) |181| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Errores de solicitud](#usage-policy-refusal) |
182| `<model>'s safeguards flagged this message` | [Errores de solicitud](#safety-measures-flagged-a-cybersecurity-topic) |182| `<model>'s safeguards flagged this message` | [Errores de solicitud](#safety-measures-flagged-a-cybersecurity-topic) |
186| `The connection dropped while downloading the update` | [Errores de instalación](#the-connection-dropped-while-downloading-the-update) |186| `The connection dropped while downloading the update` | [Errores de instalación](#the-connection-dropped-while-downloading-the-update) |
187| `Download timed out: exceeded the total deadline` | [Errores de instalación](#the-connection-dropped-while-downloading-the-update) |187| `Download timed out: exceeded the total deadline` | [Errores de instalación](#the-connection-dropped-while-downloading-the-update) |
188| `--bg and --print conflict` | [Errores de línea de comandos](#conflict-between-bg-and-print) |188| `--bg and --print conflict` | [Errores de línea de comandos](#conflict-between-bg-and-print) |
189| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Errores de línea de comandos](#conflict-between-a-system-prompt-flag-and-its-file-form) |
189| `Cloud sessions cannot be created from a --restricted session` | [Errores de línea de comandos](#cloud-sessions-cannot-be-created-from-a-restricted-session) |190| `Cloud sessions cannot be created from a --restricted session` | [Errores de línea de comandos](#cloud-sessions-cannot-be-created-from-a-restricted-session) |
190| `Cloud sessions are disabled by your organization's policy` | [Errores de línea de comandos](#cloud-sessions-are-disabled-by-your-organizations-policy) |191| `Cloud sessions are disabled by your organization's policy` | [Errores de línea de comandos](#cloud-sessions-are-disabled-by-your-organizations-policy) |
191| `Couldn't verify your organization's policy for cloud sessions` | [Errores de línea de comandos](#cloud-sessions-are-disabled-by-your-organizations-policy) |192| `Couldn't verify your organization's policy for cloud sessions` | [Errores de línea de comandos](#cloud-sessions-are-disabled-by-your-organizations-policy) |
197| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Errores de línea de comandos](#the-current-directory-no-longer-exists) |198| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Errores de línea de comandos](#the-current-directory-no-longer-exists) |
198| `Temp directory <dir> ... Refusing to use it` / `ENOSPC: no space left on device, mkdir '<dir>'` | [Errores de línea de comandos](#temp-directory-refused-or-cannot-be-created) |199| `Temp directory <dir> ... Refusing to use it` / `ENOSPC: no space left on device, mkdir '<dir>'` | [Errores de línea de comandos](#temp-directory-refused-or-cannot-be-created) |
199| `couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded` | [Errores de línea de comandos](#directory-couldnt-be-resolved-to-a-real-location) |200| `couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded` | [Errores de línea de comandos](#directory-couldnt-be-resolved-to-a-real-location) |
200| `Error: Workspace not trusted` when starting Remote Control | [Errores de línea de comandos](#workspace-not-trusted-when-starting-remote-control) |201| `Error: Workspace not trusted` al iniciar Remote Control | [Errores de línea de comandos](#workspace-not-trusted-when-starting-remote-control) |
201| `` `<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) |202| `` `<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) |
202| `` `claude import` is not yet available in this build `` | [Errores de línea de comandos](#claude-import-is-not-yet-available-in-this-build) |203| `` `claude import` is not yet available in this build `` | [Errores de línea de comandos](#claude-import-is-not-yet-available-in-this-build) |
203| `Could not read Claude Code config` | [Errores de línea de comandos](#could-not-read-claude-code-config) |204| `Could not read Claude Code config` | [Errores de línea de comandos](#could-not-read-claude-code-config) |
211| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Errores de línea de comandos](#mcp-permission-prompt-tool-not-found) |212| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Errores de línea de comandos](#mcp-permission-prompt-tool-not-found) |
212| `OAuth callback port <port> is already in use — another process may be holding it` | [Errores de línea de comandos](#oauth-callback-port-is-already-in-use) |213| `OAuth callback port <port> is already in use — another process may be holding it` | [Errores de línea de comandos](#oauth-callback-port-is-already-in-use) |
213| `No available ports for OAuth redirect` | [Errores de línea de comandos](#no-available-ports-for-oauth-redirect) |214| `No available ports for OAuth redirect` | [Errores de línea de comandos](#no-available-ports-for-oauth-redirect) |
214| `Shell command failed for pattern "..."`, from `/security-review` or any skill that injects dynamic context | [Errores de línea de comandos](#security-review-fails-without-origin-head) |215| `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) |
215| `Shell command permission check failed for pattern "..."`, from a skill that injects dynamic context | [Errores de línea de comandos](#security-review-fails-without-origin-head) |216| `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) |
216| ``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) |217| ``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) |
217| `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) |218| `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) |
218| `Error: Input contained only whitespace` | [Errores de línea de comandos](#input-contained-only-whitespace) |219| `Error: Input contained only whitespace` | [Errores de línea de comandos](#input-contained-only-whitespace) |
219| `Blank prompt — the message was only whitespace, so nothing was sent to the model.` | [Errores de línea de comandos](#input-contained-only-whitespace) |220| `Blank prompt — the message was only whitespace, so nothing was sent to the model.` | [Errores de línea de comandos](#input-contained-only-whitespace) |
220| `Error: stream-json input carried over 256M characters with no newline` | [Errores de línea de comandos](#stream-json-input-carried-over-256m-characters-with-no-newline) |221| `Error: stream-json input carried over 256M characters with no newline` | [Errores de línea de comandos](#stream-json-input-carried-over-256m-characters-with-no-newline) |
221| `Unknown command: /<name>`, with or without a `Did you mean` suggestion | [Errores de línea de comandos](#unknown-command) |222| `Unknown command: /<name>`, con o sin una sugerencia `Did you mean` | [Errores de línea de comandos](#unknown-command) |
222| `Diff is too large for ultrareview` / `PR #<N> is too large for ultrareview` | [Errores de línea de comandos](#diff-is-too-large-for-ultrareview) |223| `Diff is too large for ultrareview` / `PR #<N> is too large for ultrareview` | [Errores de línea de comandos](#diff-is-too-large-for-ultrareview) |
223| `Could not find merge-base with <branch>` | [Errores de línea de comandos](#could-not-find-merge-base-with-the-base-branch) |224| `Could not find merge-base with <branch>` | [Errores de línea de comandos](#could-not-find-merge-base-with-the-base-branch) |
224| `Your checkout has no branches (detached HEAD only)` | [Errores de línea de comandos](#your-checkout-has-no-branches) |225| `Your checkout has no branches (detached HEAD only)` | [Errores de línea de comandos](#your-checkout-has-no-branches) |
225| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Errores de línea de comandos](#no-github-account-is-connected-to-your-claude-account) |226| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Errores de línea de comandos](#no-github-account-is-connected-to-your-claude-account) |
226| `Your connected GitHub account can't see <owner>/<repo>` | [Errores de línea de comandos](#your-connected-github-account-cant-see-the-repository) |227| `Your connected GitHub account can't see <owner>/<repo>` | [Errores de línea de comandos](#your-connected-github-account-cant-see-the-repository) |
227| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Errores de línea de comandos](#the-github-app-preflight-failed-transiently) |228| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Errores de línea de comandos](#the-github-app-preflight-failed-transiently) |
228| `Not uploading this working tree` with `the upload cannot follow that setting` | [Errores de línea de comandos](#the-repository-upload-cant-follow-a-git-setting) |229| `Not uploading this working tree` con `the upload cannot follow that setting` | [Errores de línea de comandos](#the-repository-upload-cant-follow-a-git-setting) |
229| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Errores de línea de comandos](#github-isnt-connected-to-your-claude-account) |230| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Errores de línea de comandos](#github-isnt-connected-to-your-claude-account) |
230| `Single sign-on authorization needed` | [Errores de línea de comandos](#single-sign-on-authorization-needed) |231| `Single sign-on authorization needed` | [Errores de línea de comandos](#single-sign-on-authorization-needed) |
231| `Failed to resume the conversation` | [Errores de línea de comandos](#failed-to-resume-the-conversation) |232| `Failed to resume the conversation` | [Errores de línea de comandos](#failed-to-resume-the-conversation) |
236| `Couldn't open Claude Desktop` | [Errores de línea de comandos](#couldnt-open-claude-desktop) |237| `Couldn't open Claude Desktop` | [Errores de línea de comandos](#couldnt-open-claude-desktop) |
237| `Failed to open Claude Desktop. Please try opening it manually.` | [Errores de línea de comandos](#couldnt-open-claude-desktop) |238| `Failed to open Claude Desktop. Please try opening it manually.` | [Errores de línea de comandos](#couldnt-open-claude-desktop) |
238| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [Errores de línea de comandos](#terminal-setup-left-your-zed-keymap-unchanged) |239| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [Errores de línea de comandos](#terminal-setup-left-your-zed-keymap-unchanged) |
239| `Your Zed keymap isn't a readable list of atajos de teclado` | [Errores de línea de comandos](#terminal-setup-left-your-zed-keymap-unchanged) |240| `Your Zed keymap isn't a readable list of keybindings` | [Errores de línea de comandos](#terminal-setup-left-your-zed-keymap-unchanged) |
240| `Skill usage reports are not available on this connection.` | [Errores de línea de comandos](#skill-usage-reports-are-not-available-on-this-connection) |241| `Skill usage reports are not available on this connection.` | [Errores de línea de comandos](#skill-usage-reports-are-not-available-on-this-connection) |
241| `Custom output styles can't be selected over Remote Control or from a relayed message` | [Errores de línea de comandos](#custom-output-styles-cant-be-selected-over-remote-control) |242| `Custom output styles can't be selected over Remote Control or from a relayed message` | [Errores de línea de comandos](#custom-output-styles-cant-be-selected-over-remote-control) |
242| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Errores de línea de comandos](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |243| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Errores de línea de comandos](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |
250| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Errores de plugins](#plugin-command-references-user-config) |251| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Errores de plugins](#plugin-command-references-user-config) |
251| `headersHelper for MCP server '<name>' references ${user_config.*}` | [Errores de plugins](#plugin-command-references-user-config) |252| `headersHelper for MCP server '<name>' references ${user_config.*}` | [Errores de plugins](#plugin-command-references-user-config) |
252| `Plugin archive integrity check failed` | [Errores de plugins](#plugin-archive-integrity-check-failed) |253| `Plugin archive integrity check failed` | [Errores de plugins](#plugin-archive-integrity-check-failed) |
254| `An npm plugin source must name a registry package` | [Solución de problemas de plugins](/docs/es/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |
253| `path escapes plugin directory` | [Errores de plugins](#path-escapes-plugin-directory) |255| `path escapes plugin directory` | [Errores de plugins](#path-escapes-plugin-directory) |
254| `path could not be checked` | [Errores de plugins](#path-could-not-be-checked) |256| `path could not be checked` | [Errores de plugins](#path-could-not-be-checked) |
255| `its marketplace entry path does not stay inside the marketplace directory` | [Errores de plugins](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |257| `its marketplace entry path does not stay inside the marketplace directory` | [Errores de plugins](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |
315| `EACCES: permission denied, posix_spawn` | [Errores de sesión en segundo plano](#eacces-when-starting-a-background-session) |317| `EACCES: permission denied, posix_spawn` | [Errores de sesión en segundo plano](#eacces-when-starting-a-background-session) |
316| `exited before it became reachable` | [Errores de sesión en segundo plano](#background-service-exited-before-it-became-reachable) |318| `exited before it became reachable` | [Errores de sesión en segundo plano](#background-service-exited-before-it-became-reachable) |
317| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Errores de sesión en segundo plano](#working-directory-no-longer-exists-when-starting-a-background-session) |319| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [Errores de sesión en segundo plano](#working-directory-no-longer-exists-when-starting-a-background-session) |
318| `Workspace not trusted.` when starting or restarting a background session | [Errores de sesión en segundo plano](#workspace-not-trusted-when-dispatching-a-background-session) |320| `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) |
319| `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) |321| `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) |
320| `Claude Code process exited with code N` | [Errores de contenedor e IDE](#claude-code-process-exited-with-code-n) |322| `Claude Code process exited with code N` | [Errores de contenedor e IDE](#claude-code-process-exited-with-code-n) |
321| `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) |323| `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) |
418 Errores del servidor420 Errores del servidor
419</h2>421</h2>
420 422
421La mayoría de estos errores provienen del proveedor de inferencia: el servicio de Anthropic en la API de Anthropic, y el servicio detrás del punto de conexión de ese proveedor en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, o una puerta de enlace personalizada. [Auto mode cannot determine the safety of an action](#auto-mode-cannot-determine-the-safety-of-an-action) y [Agent terminated early due to an API error](#agent-terminated-early-due-to-an-api-error) también cubren causas de su lado, como una cuenta de Amazon Bedrock que no puede invocar el modelo clasificador o un subagente que alcanzó un límite de uso.423La mayoría de estos errores provienen del proveedor de inferencia: el servicio de Anthropic en la API de Anthropic, y el servicio detrás del endpoint de ese proveedor en Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry o un gateway personalizado. [Auto mode cannot determine the safety of an action](#auto-mode-cannot-determine-the-safety-of-an-action) y [Agent terminated early due to an API error](#agent-terminated-early-due-to-an-api-error) también cubren causas de tu lado, como una cuenta de Amazon Bedrock que no puede invocar el modelo clasificador o un subagente que alcanzó un límite de uso.
422 424
423<h3 id="api-error-500-internal-server-error">425<h3 id="api-error-500-internal-server-error">
424 API Error: 500 Internal server error426 API Error: 500 Internal server error
430API Error: 500 Internal server error. This is a server-side issue, usually temporary — try again in a moment. If it persists, check https://status.claude.com.432API Error: 500 Internal server error. This is a server-side issue, usually temporary — try again in a moment. If it persists, check https://status.claude.com.
431```433```
432 434
433La oración final indica dónde verificar la salud del servicio y varía según el proveedor. Las configuraciones de Amazon Bedrock, Google Cloud's Agent Platform y Microsoft Foundry nombran el estado del servicio de ese proveedor. Un `ANTHROPIC_BASE_URL` personalizado nombra el host de la puerta de enlace.435La oración final indica dónde verificar el estado del servicio y varía según el proveedor. Las configuraciones de Amazon Bedrock, Google Cloud's Agent Platform y Microsoft Foundry nombran el estado del servicio de ese proveedor. Un `ANTHROPIC_BASE_URL` personalizado nombra el host del gateway.
434 436
435Un 5xx de la API en sí indica un fallo inesperado dentro de la API. No es causado por su prompt, configuración o cuenta.437Un 5xx de la propia API indica un fallo inesperado dentro de la API. No lo causa tu prompt, tu configuración ni tu cuenta.
436 438
437Cuando un proxy, equilibrador de carga o puerta de enlace responde con una página de error HTML, el mensaje muestra el código de estado y el título de la página, como `API Error: 502 Bad Gateway`. Para una página sin título, el mensaje muestra el código de estado y su nombre estándar en su lugar. Antes de v2.1.281, el código de estado se eliminaba cuando la página tenía un título, y el marcado sin procesar de la página se imprimía cuando no tenía ninguno.439Cuando un proxy, balanceador de carga o gateway responde con una página de error HTML, el mensaje muestra el código de estado y el título de la página, como `API Error: 502 Bad Gateway`. Para una página sin título, el mensaje muestra en su lugar el código de estado y su nombre estándar. Antes de v2.1.281, el código de estado se omitía cuando la página tenía un título, y el marcado sin procesar de la página se imprimía cuando no tenía ninguno.
438 440
439**Qué hacer:**441**Qué hacer:**
440 442
441* Verifique [status.claude.com](https://status.claude.com), o la página de estado del proveedor nombrada en el mensaje, para incidentes activos443* Consulta [status.claude.com](https://status.claude.com), o la página de estado del proveedor nombrada en el mensaje, para ver si hay incidentes activos
442* Espere un minuto y luego envíe su mensaje nuevamente. Su mensaje original sigue en la conversación, así que para un prompt largo puede escribir `try again` en lugar de pegar todo de nuevo.444* Espera un minuto y luego envía tu mensaje de nuevo. Tu mensaje original sigue en la conversación, así que para un prompt largo puedes escribir `try again` en lugar de pegarlo completo.
443* Si el error persiste sin incidente publicado, ejecute `/feedback` para que Anthropic pueda investigar con los detalles de su solicitud. Consulte [Report an error](#report-an-error) si `/feedback` no está disponible en su entorno.445* Si el error persiste sin ningún incidente publicado, ejecuta `/feedback` para que Anthropic pueda investigar con los detalles de tu solicitud. Consulta [Informar un error](#report-an-error) si `/feedback` no está disponible en tu entorno.
444 446
445<h3 id="api-error-repeated-529-overloaded-errors">447<h3 id="api-error-repeated-529-overloaded-errors">
446 API Error: Repeated 529 Overloaded errors448 API Error: Repeated 529 Overloaded errors
447</h3>449</h3>
448 450
449La API está temporalmente a capacidad en todos los usuarios. Claude Code ya ha reintentado varias veces antes de mostrar este mensaje:451La API está temporalmente al límite de su capacidad para todos los usuarios. Claude Code ya reintentó varias veces antes de mostrar este mensaje:
450 452
451```text theme={null}453```text theme={null}
452API Error: Repeated 529 Overloaded errors. The API is at capacity — this is usually temporary. Try again in a moment. If it persists, check https://status.claude.com.454API Error: Repeated 529 Overloaded errors. The API is at capacity — this is usually temporary. Try again in a moment. If it persists, check https://status.claude.com.
453```455```
454 456
455La oración final varía según el proveedor de la misma manera que el error 500 anterior.457La oración final varía según el proveedor de la misma manera que en el error 500 anterior.
456 458
457Un 529 no es su límite de uso y no cuenta contra su cuota.459Un 529 no es tu límite de uso y no cuenta contra tu cuota.
458 460
459**Qué hacer:**461**Qué hacer:**
460 462
461* Verifique [status.claude.com](https://status.claude.com), o la página de estado del proveedor nombrada en el mensaje, para avisos de capacidad463* Consulta [status.claude.com](https://status.claude.com), o la página de estado del proveedor nombrada en el mensaje, para ver si hay avisos de capacidad
462* Intente de nuevo en unos minutos464* Vuelve a intentarlo en unos minutos
463* Ejecute `/model` y cambie a un modelo diferente para continuar trabajando, ya que la capacidad se rastrea por modelo. Claude Code le solicita que haga esto cuando un modelo está bajo una carga particularmente alta, por ejemplo `Opus is experiencing high load, please use /model to switch to Sonnet`. En modelos Fable el mensaje nombra Fable.465* Ejecuta `/model` y cambia a un modelo diferente para seguir trabajando, ya que la capacidad se controla por modelo. Claude Code te pide que hagas esto cuando un modelo está bajo una carga particularmente alta, por ejemplo `Opus is experiencing high load, please use /model to switch to Sonnet`. En los modelos Fable, el mensaje nombra Fable.
464 466
465 En una sesión que ejecuta la aplicación Claude Desktop, como la pestaña Code o Cowork, el mensaje dice `Opus is experiencing high load. Switch to Sonnet.` y cambia modelos con el selector de modelos de la aplicación.467 En una sesión que ejecuta la aplicación Claude Desktop, como la pestaña Code o Cowork, el mensaje dice `Opus is experiencing high load. Switch to Sonnet.` y cambias de modelo con el selector de modelos de la aplicación.
466 468
467<h3 id="request-timed-out">469<h3 id="request-timed-out">
468 Request timed out470 Request timed out
474Request timed out476Request timed out
475```477```
476 478
477Esto puede suceder durante períodos de alta carga o cuando el modelo está generando una respuesta muy grande. El tiempo de espera de solicitud predeterminado es de 10 minutos.479Esto puede ocurrir durante períodos de alta carga o cuando el modelo está generando una respuesta muy grande. El tiempo de espera predeterminado de la solicitud es de 10 minutos.
478 480
479**Qué hacer:**481**Qué hacer:**
480 482
481* Reintente la solicitud483* Reintenta la solicitud
482* Si la causa es una red lenta o un proxy, aumente `API_TIMEOUT_MS` como se describe en [Automatic retries](#automatic-retries)484* Si la causa es una red lenta o un proxy, aumenta `API_TIMEOUT_MS` como se describe en [Reintentos automáticos](#automatic-retries)
483* Si los tiempos de espera son frecuentes y su red es de otra manera saludable, consulte [Network and connection errors](#network-and-connection-errors) a continuación485* Si se agota el tiempo de espera con frecuencia y tu red por lo demás funciona bien, consulta [Errores de red y de conexión](#network-and-connection-errors) más abajo
484 486
485<h3 id="no-response-from-api">487<h3 id="no-response-from-api">
486 No response from API488 No response from API
487</h3>489</h3>
488 490
489Claude Code envió una solicitud de transmisión y la API no devolvió encabezados de respuesta dentro del plazo para el primer byte, por lo que Claude Code abortó la solicitud en lugar de esperar el tiempo de espera de solicitud completo `API_TIMEOUT_MS`, 10 minutos por defecto. Claude Code envía la solicitud nuevamente como máximo una vez, si el [retry budget](#tune-retry-behavior) lo permite. Cuando el reintento tampoco recibe respuesta, el turno termina con este mensaje, que muestra cuánto tiempo esperó cada intento. Cuando establece [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/es/env-vars), el límite de un reintento no se aplica y Claude Code reintenta bajo el presupuesto descrito en [Tune retry behavior](#tune-retry-behavior).491Claude Code envió una solicitud en streaming y la API no devolvió encabezados de respuesta dentro del plazo para el primer byte, así que Claude Code abortó la solicitud en lugar de esperar el tiempo de espera completo de la solicitud, `API_TIMEOUT_MS`, de 10 minutos por defecto. Claude Code envía la solicitud de nuevo como máximo una vez, si el [presupuesto de reintentos](#tune-retry-behavior) lo permite. Cuando el reintento tampoco recibe respuesta, el turno termina con este mensaje, que muestra cuánto tiempo esperó cada intento. Cuando estableces [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/es/env-vars), el límite de un solo reintento no se aplica y Claude Code reintenta según el presupuesto descrito en [Ajustar el comportamiento de los reintentos](#tune-retry-behavior).
490 492
491```text theme={null}493```text theme={null}
492API Error: No response from API (waited 3m, then 10m on the retry). If a proxy or gateway on your network holds responses until they complete, raise API_TIMEOUT_MS or CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS to wait longer.494API Error: No response from API (waited 3m, then 10m on the retry). If a proxy or gateway on your network holds responses until they complete, raise API_TIMEOUT_MS or CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS to wait longer.
493```495```
494 496
495Claude Code establece el tiempo de espera para los encabezados de respuesta del primer intento y el reintento por separado:497Claude Code establece por separado la espera de los encabezados de respuesta del primer intento y la del reintento:
496 498
497* **First attempt**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/es/env-vars) cuando lo establece en 1 o más, limitado entre 10 segundos y 30 minutos. De lo contrario, Claude Code utiliza el tiempo de espera del vigilante a nivel de byte enumerado en [Streaming idle watchdogs](/docs/es/network-config#streaming-idle-watchdogs), por lo que las variables que cambian ese tiempo de espera cambian este tiempo de espera también. De cualquier manera, Claude Code agrega un segundo por cada 32KB del cuerpo de la solicitud.499* **Primer intento**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/es/env-vars) cuando lo estableces en 1 o más, limitado a un valor entre 10 segundos y 30 minutos. De lo contrario, Claude Code usa el tiempo de espera del watchdog a nivel de bytes indicado en [Watchdogs de inactividad del streaming](/docs/es/network-config#streaming-idle-watchdogs), así que las variables que cambian ese tiempo de espera también cambian esta espera. En cualquier caso, Claude Code agrega un segundo por cada 32KB del cuerpo de la solicitud.
498* **Retry**: un segundo menos que `API_TIMEOUT_MS`, justo bajo 10 minutos por defecto, para que el reintento pueda superar un proxy o puerta de enlace que mantiene la respuesta hasta que se completa la generación. En Amazon Bedrock, el reintento utiliza el mismo plazo que el primer intento, y el mensaje muestra una duración en lugar de dos.500* **Reintento**: un segundo menos que `API_TIMEOUT_MS`, poco menos de 10 minutos por defecto, para que el reintento pueda durar más que un proxy o gateway que retiene la respuesta hasta que termina la generación. En Amazon Bedrock, el reintento usa el mismo plazo que el primer intento, y el mensaje muestra una duración en lugar de dos.
499 501
500Ningún tiempo de espera excede un segundo menos que un `API_TIMEOUT_MS` positivo, y un `API_TIMEOUT_MS` positivo bajo 11 segundos desactiva el plazo. El vigilante a nivel de byte comienza solo una vez que llegan los encabezados de respuesta, por lo que una respuesta que deja de enviar bytes después de eso sigue las [stalled-stream rules](#automatic-retries) en su lugar.502Ninguna de las dos esperas supera un segundo menos que un `API_TIMEOUT_MS` positivo, y un `API_TIMEOUT_MS` positivo inferior a 11 segundos desactiva el plazo. El watchdog a nivel de bytes se inicia solo cuando llegan los encabezados de respuesta, así que una respuesta que deja de enviar bytes después de eso sigue las [reglas de streaming detenido](#automatic-retries) en lugar de este plazo.
501 503
502**Qué hacer:**504**Qué hacer:**
503 505
504* Envíe su mensaje nuevamente. Su mensaje original sigue en la conversación, así que para un prompt largo puede escribir `try again` en lugar de pegar todo de nuevo.506* Envía tu mensaje de nuevo. Tu mensaje original sigue en la conversación, así que para un prompt largo puedes escribir `try again` en lugar de pegarlo completo.
505* Si se repite, trátelo como un [network or proxy problem](#unable-to-connect-to-api).507* Si se repite, trátalo como un [problema de red o de proxy](#unable-to-connect-to-api).
506* Si un proxy o puerta de enlace en su red mantiene respuestas hasta que se completan, aumente `API_TIMEOUT_MS` para que el reintento espere más tiempo. En Amazon Bedrock, aumente `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` también.508* Si un proxy o gateway de tu red retiene las respuestas hasta que se completan, aumenta `API_TIMEOUT_MS` para que el reintento espere más. En Amazon Bedrock, aumenta también `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`.
507* Si el primer intento sigue agotando el tiempo de espera y el reintento luego tiene éxito, aumente `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` para que el primer intento también espere lo suficiente.509* Si al primer intento se le sigue agotando el tiempo de espera y luego el reintento tiene éxito, aumenta `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` para que el primer intento también espere lo suficiente.
508 510
509Antes de v2.1.242, Claude Code esperaba el tiempo de espera de solicitud completo `API_TIMEOUT_MS`, 10 minutos por defecto, antes de fallar una solicitud de transmisión sin respuesta. Antes de v2.1.261, el reintento esperaba el mismo plazo que el primer intento y el mensaje no mostraba duraciones.511Antes de v2.1.242, Claude Code esperaba el tiempo de espera completo de la solicitud, `API_TIMEOUT_MS`, de 10 minutos por defecto, antes de dar por fallida una solicitud en streaming sin respuesta. Antes de v2.1.261, el reintento esperaba el mismo plazo que el primer intento y el mensaje no mostraba duraciones.
510 512
511<h3 id="the-response-above-may-be-incomplete">513<h3 id="the-response-above-may-be-incomplete">
512 The response above may be incomplete514 The response above may be incomplete
513</h3>515</h3>
514 516
515Una solicitud de transmisión falló mientras la respuesta aún estaba en progreso, después de que Claude completó un bloque de texto o una llamada de herramienta, o había comenzado uno después de terminar su pensamiento. Reenviar la solicitud podría ejecutar las mismas llamadas de herramienta dos veces, por lo que Claude Code mantiene la salida que Claude completó y agrega este aviso en lugar de descartar el turno. Qué variante ve nombra la causa:517Una solicitud en streaming falló mientras la respuesta aún estaba en curso, después de que Claude completó un bloque de texto o una llamada a herramienta, o de que empezó uno tras terminar su pensamiento. Reenviar la solicitud podría ejecutar las mismas llamadas a herramientas dos veces, así que Claude Code conserva la salida que Claude completó y agrega este aviso en lugar de descartar el turno. La variante que ves indica la causa:
516 518
517```text theme={null}519```text theme={null}
518API Error: Server error mid-response. The response above may be incomplete.520API Error: Server error mid-response. The response above may be incomplete.
523API Error: The response stream was malformed. The response above may be incomplete.525API Error: The response stream was malformed. The response above may be incomplete.
524```526```
525 527
526* `Server error mid-response`: un error de servidor sobrecargado o 5xx a mitad de la transmisión. Esta variante requiere Claude Code v2.1.199 o posterior; antes de eso, ese caso descartaba la salida parcial e informaba todo el turno como un error.528* `Server error mid-response`: un error de sobrecarga o un error de servidor 5xx a mitad del streaming. Esta variante requiere Claude Code v2.1.199 o posterior; antes, en ese caso se descartaba la salida parcial y se informaba todo el turno como un error.
527* `Connection lost mid-response`: la conexión se perdió. También ve esta variante cuando un proxy o puerta de enlace termina el cuerpo de la respuesta limpiamente antes de que la respuesta haya terminado.529* `Connection lost mid-response`: la conexión se perdió. También ves esta variante cuando un proxy o gateway cierra limpiamente el cuerpo de la respuesta antes de que la respuesta haya terminado.
528* `Your computer went to sleep mid-response`: Claude Code detectó que su computadora se durmió mientras la respuesta se transmitía. Una vez que su computadora se despierte, Claude Code trata la conexión como rota y deja de leer de ella.530* `Your computer went to sleep mid-response`: Claude Code detectó que tu computadora entró en suspensión mientras la respuesta se transmitía en streaming. Cuando tu computadora se reactiva, Claude Code trata la conexión como rota y deja de leer de ella.
529* `Part of the response never arrived`: un evento de transmisión se perdió entre la API y Claude Code, por lo que un evento posterior hizo referencia a contenido que nunca llegó. Antes de v2.1.281, este caso terminaba el turno con `API Error: Content block not found`.531* `Part of the response never arrived`: un evento del streaming se perdió entre la API y Claude Code, así que un evento posterior hizo referencia a contenido que nunca llegó. Antes de v2.1.281, en este caso el turno terminaba con `API Error: Content block not found`.
530* `The response stream was malformed`: un evento llegó para un bloque de contenido que ya había terminado, o un evento llegó dañado. Un evento dañado es uno cuyos datos no son JSON válido, cuyo contenido falta, o cuyo contenido no coincide con el tipo del evento. Antes de v2.1.284, el error sin procesar del analizador, como uno que comienza con `API Error: JSON Parse error`, aparecía en su lugar cuando un evento con JSON inválido llegaba después de que Claude había completado su pensamiento, un bloque de texto, o una llamada de herramienta.532* `The response stream was malformed`: llegó un evento para un bloque de contenido que ya había terminado, o llegó un evento dañado. Un evento dañado es aquel cuyos datos no son JSON válido, cuyo contenido falta o cuyo contenido no coincide con el tipo del evento. Antes de v2.1.284, en su lugar aparecía el error sin procesar del analizador, como uno que empieza con `API Error: JSON Parse error`, cuando un evento con JSON no válido llegaba después de que Claude había completado su pensamiento, un bloque de texto o una llamada a herramienta. Antes de v2.1.287, cuando un [guardrail de Amazon Bedrock](/docs/es/amazon-bedrock#aws-guardrails) bloqueaba una respuesta que ya había transmitido pensamiento y algo de texto, esta variante aparecía en lugar del mensaje del guardrail.
531* `The response stopped arriving`: la conexión se mantuvo abierta pero dejó de entregar datos, por lo que el vigilante de inactividad de transmisión la abortó. Antes de v2.1.222, Claude Code también podría informar este fallo en conexiones de [gateway](/docs/es/gateways) alcanzadas a través de `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL` mientras los pings de keep-alive del servidor aún llegaban, porque contaba solo eventos de respuesta analizados allí; actualizar detiene esos tiempos de espera espurios en esas rutas. Las puertas de enlace alcanzadas a través de una URL base de proveedor como `ANTHROPIC_BEDROCK_BASE_URL` no están envueltas por el vigilante de bytes; consulte [Streaming idle watchdogs](/docs/es/network-config#streaming-idle-watchdogs).533* `The response stopped arriving`: la conexión siguió abierta pero dejó de entregar datos, así que el watchdog de inactividad del streaming la abortó. Antes de v2.1.222, Claude Code también podía informar este fallo en conexiones a un [gateway](/docs/es/gateways) a través de `ANTHROPIC_BASE_URL` o `ANTHROPIC_AWS_BASE_URL` mientras aún llegaban los pings de keep-alive del servidor, porque allí solo contaba los eventos de respuesta analizados; actualizar elimina esos tiempos de espera agotados falsos en esas rutas. Los gateways a los que se accede mediante una URL base de proveedor como `ANTHROPIC_BEDROCK_BASE_URL` no están cubiertos por el watchdog de bytes; consulta [Watchdogs de inactividad del streaming](/docs/es/network-config#streaming-idle-watchdogs).
532 534
533Antes de v2.1.227, `Connection lost mid-response` decía `Connection closed mid-response` y `The response stopped arriving` decía `Response stalled mid-stream`.535Antes de v2.1.227, `Connection lost mid-response` decía `Connection closed mid-response` y `The response stopped arriving` decía `Response stalled mid-stream`.
534 536
535Cuando un evento de transmisión perdido, duplicado o dañado llega antes de que Claude haya comenzado cualquier texto o llamada de herramienta, no ve este aviso:537Cuando un evento del streaming perdido, duplicado o dañado llega antes de que Claude haya empezado cualquier texto o llamada a herramienta, no ves este aviso:
536 538
537* Si Claude había completado solo su pensamiento, Claude Code reemite la solicitud. Cuando los reemitidos se rompen de la misma manera, el turno termina con `Part of the response never arrived and no response was produced. Try again.` o `The response stream was malformed and no response was produced. Try again.`539* Si Claude solo había completado su pensamiento, Claude Code vuelve a emitir la solicitud. Cuando los streamings reemitidos fallan de la misma manera, el turno termina con `Part of the response never arrived and no response was produced. Try again.` o `The response stream was malformed and no response was produced. Try again.`
538* Si nada había completado, Claude Code reenvía la solicitud sin transmisión en su lugar. Si desactivó ese respaldo con [`CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK`](/docs/es/env-vars), el turno termina con `API Error: Content block not found` para un evento perdido o `API Error: Content block already closed` para uno duplicado. Para un evento dañado con el respaldo desactivado, el turno termina con `API Error: Stream event unreadable` o el error sin procesar del analizador.540* Si no se había completado nada, Claude Code reenvía en su lugar la solicitud sin streaming. Si desactivaste ese respaldo con [`CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK`](/docs/es/env-vars), el turno termina con `API Error: Content block not found` para un evento perdido o `API Error: Content block already closed` para uno duplicado. Para un evento dañado con el respaldo desactivado, el turno termina con `API Error: Stream event unreadable` o con el error sin procesar del analizador.
539 541
540En cuatro casos, Claude Code maneja el fallo sin mostrar este aviso de inmediato:542En cuatro casos, Claude Code maneja el fallo sin mostrar este aviso de inmediato:
541 543
542* Anteriormente en la respuesta, Claude Code reintenta el fallo o termina el turno con un error diferente. Consulte [Automatic retries](#automatic-retries).544* Si ocurre antes en la respuesta, Claude Code reintenta el fallo o termina el turno con un error diferente. Consulta [Reintentos automáticos](#automatic-retries).
543* Cuando uno de estos fallos llega después de que Claude ha terminado la respuesta, Claude Code mantiene la respuesta completa y termina el turno normalmente, sin este aviso. Antes de v2.1.222, Claude Code mostraba este aviso cuando la conexión se perdía o se estancaba después de que la respuesta terminaba, e informaba el turno como un error aunque la respuesta fuera completa.545* Cuando uno de estos fallos llega después de que Claude terminó la respuesta, Claude Code conserva la respuesta completa y termina el turno normalmente, sin este aviso. Antes de v2.1.222, Claude Code mostraba este aviso cuando la conexión se perdía o se detenía después de que la respuesta terminaba, e informaba el turno como un error aunque la respuesta estuviera completa.
544* En una [non-interactive session](/docs/es/headless), como una ejecución `-p`, una ejecución de [Agent SDK](/docs/es/agent-sdk/overview), o una [cloud session](/docs/es/claude-code-on-the-web), no tiene que enviar `continue` usted mismo cuando la respuesta cortada está en la conversación principal y contiene texto pero sin llamadas de herramienta: Claude Code mantiene la salida parcial e invita a Claude a continuar desde donde se detuvo, hasta tres veces seguidas. Ve este aviso para tal respuesta solo una vez que Claude Code ha agotado esas continuaciones. Antes de v2.1.246, Claude Code terminaba un turno no interactivo con este aviso en el primer corte.546* En una [sesión no interactiva](/docs/es/headless), como una ejecución con `-p`, una ejecución del [Agent SDK](/docs/es/agent-sdk/overview) o una [sesión en la nube](/docs/es/claude-code-on-the-web), no tienes que enviar `continue` tú mismo cuando la respuesta cortada está en la conversación principal y contiene texto pero ninguna llamada a herramienta: Claude Code conserva la salida parcial y le pide a Claude que continúe desde donde se detuvo, hasta tres veces seguidas. Solo ves este aviso para una respuesta así cuando Claude Code agotó esas continuaciones. Antes de v2.1.246, Claude Code terminaba un turno no interactivo con este aviso en el primer corte.
545* En un [subagent](/docs/es/sub-agents#api-errors-in-subagents), ya sea que la sesión sea interactiva o no: cuando su respuesta cortada contiene texto pero sin llamadas de herramienta, Claude Code invita al subagente a continuar. El aviso se convierte en el último mensaje del subagente solo una vez que esas continuaciones se agotan. Antes de v2.1.257, un subagente mostraba este aviso en el primer corte.547* En un [subagente](/docs/es/sub-agents#api-errors-in-subagents), sea la sesión interactiva o no: cuando su respuesta cortada contiene texto pero ninguna llamada a herramienta, Claude Code le pide al subagente que continúe. El aviso se convierte en el último mensaje del subagente solo cuando esas continuaciones se agotan. Antes de v2.1.257, un subagente mostraba este aviso en el primer corte.
546 548
547**Qué hacer:**549**Qué hacer:**
548 550
549* En una sesión interactiva, lea la respuesta que permanece en la pantalla: Claude Code mantiene cada bloque que Claude completó antes del error, pero descarta un bloque final interrumpido cuando el turno termina, por lo que las oraciones finales o llamadas de herramienta pueden faltar. Responda con `continue` para que Claude continúe desde su último bloque completado.551* En una sesión interactiva, lee la respuesta que queda en pantalla: Claude Code conserva cada bloque que Claude completó antes del error, pero descarta un bloque final interrumpido cuando termina el turno, así que es posible que falten las últimas oraciones o llamadas a herramientas. Responde con `continue` para que Claude retome desde su último bloque completado.
550* En [non-interactive mode](/docs/es/headless) (`-p`):552* En [modo no interactivo](/docs/es/headless) (`-p`):
551 * Con la salida de texto predeterminada, Claude Code imprime el último bloque de texto completado que aún mantiene de anteriormente en el turno, seguido de este mensaje. Cuando no mantiene ninguno, Claude Code imprime solo este mensaje, por ejemplo porque Claude Code compactó la conversación a mitad del turno y borró ese texto. Antes de v2.1.219, Claude Code imprimía solo este mensaje en la salida de texto `-p` y descartaba la respuesta que ya había producido.553 * Con la salida de texto predeterminada, Claude Code imprime el último bloque de texto completado que aún conserva de antes en el turno, seguido de este mensaje. Cuando no conserva ninguno, Claude Code imprime solo este mensaje, por ejemplo porque Claude Code compactó la conversación a mitad del turno y borró ese texto. Antes de v2.1.219, Claude Code imprimía solo este mensaje en la salida de texto de `-p` y descartaba la respuesta que ya había producido.
552 * Con `--output-format json` o `stream-json`, Claude Code informa este mensaje en el campo `result`.554 * Con `--output-format json` o `stream-json`, Claude Code informa este mensaje en el campo `result`.
553 * Para continuar el turno una vez que la conexión sea estable, reanude la sesión y envíe `continue` como se describe en [Continue conversations](/docs/es/headless#continue-conversations).555 * Para continuar el turno cuando la conexión sea estable, reanuda la sesión y envía `continue` como se describe en [Continuar conversaciones](/docs/es/headless#continue-conversations).
554 556
555<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">557<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">
556 Auto mode cannot determine the safety of an action558 Auto mode cannot determine the safety of an action
557</h3>559</h3>
558 560
559El modelo que [auto mode](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) utiliza para clasificar acciones no pudo producir una decisión, por lo que auto mode no aprobó la acción automáticamente. El mensaje que ve depende de cómo falló el clasificador.561El modelo que usa el [modo automático](/docs/es/permission-modes#eliminate-prompts-with-auto-mode) para clasificar acciones no pudo producir una decisión, así que el modo automático no aprobó la acción automáticamente. El mensaje que ves depende de cómo falló el clasificador.
560 562
561Las lecturas, búsquedas y ediciones dentro de su directorio de trabajo omiten el clasificador, por lo que continúan funcionando en todos estos casos.563Las lecturas, búsquedas y ediciones dentro de tu directorio de trabajo omiten el clasificador, así que siguen funcionando en todos estos casos.
562 564
563Cuando el modelo clasificador no está disponible:565Cuando el modelo clasificador no está disponible:
564 566
566<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.568<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.
567```569```
568 570
569Cuando Claude Code puede determinar la categoría de fallo, nombra la categoría entre paréntesis después de `temporarily unavailable`, por ejemplo `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Las categorías son `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)`, y `(connection failed)`. Si `(timed out)` o `(connection failed)` se repite, verifique su conexión; consulte [Unable to connect to API](#unable-to-connect-to-api). Antes de v2.1.229, el mensaje nunca nombraba una categoría y decía `Wait briefly and then try this action again`.571Cuando Claude Code puede determinar la categoría del fallo, la nombra entre paréntesis después de `temporarily unavailable`, por ejemplo `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Las categorías son `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` y `(connection failed)`. Si `(timed out)` o `(connection failed)` se repite, revisa tu conexión; consulta [Unable to connect to API](#unable-to-connect-to-api). Antes de v2.1.229, el mensaje nunca nombraba una categoría y decía `Wait briefly and then try this action again`.
570 572
571Cuando ninguna categoría encaja, el mensaje aparece sin categoría entre paréntesis; más de un fallo produce esa forma. En [Amazon Bedrock](/docs/es/amazon-bedrock), incluyendo el [Mantle endpoint](/docs/es/amazon-bedrock#use-the-mantle-endpoint), también aparece cuando su cuenta de AWS no puede invocar el modelo nombrado en el mensaje, y ese fallo se repite en cada reintento hasta que su cuenta tenga acceso al modelo.573Cuando ninguna categoría encaja, el mensaje aparece sin categoría entre paréntesis; más de un fallo produce esa forma. En [Amazon Bedrock](/docs/es/amazon-bedrock), incluido el [endpoint de Mantle](/docs/es/amazon-bedrock#use-the-mantle-endpoint), también aparece cuando tu cuenta de AWS no puede invocar el modelo nombrado en el mensaje, y ese fallo se repite en cada reintento hasta que tu cuenta obtenga acceso al modelo.
572 574
573**Qué hacer:**575**Qué hacer:**
574 576
575* Reintente después de unos segundos; Claude ve el mismo mensaje y generalmente reintenta por su cuenta. Un fallo transitorio no está relacionado con [auto mode eligibility](/docs/es/permission-modes#eliminate-prompts-with-auto-mode); no necesita cambiar la configuración577* Reintenta después de unos segundos; Claude ve el mismo mensaje y normalmente reintenta por su cuenta. Un fallo transitorio no tiene relación con los [requisitos del modo automático](/docs/es/permission-modes#eliminate-prompts-with-auto-mode); no necesitas cambiar la configuración
576* Si los reintentos siguen fallando, continúe con tareas de solo lectura y vuelva a la acción bloqueada más tarde578* Si los reintentos siguen fallando, continúa con tareas de solo lectura y vuelve más tarde a la acción bloqueada
577* En Amazon Bedrock, si el mensaje regresa en cada reintento, verifique que su cuenta pueda invocar el modelo que nombra: para modelos estándar de Amazon Bedrock, confirme que su [IAM policy](/docs/es/amazon-bedrock#iam-configuration) permite invocarlo; para IDs de modelo de Mantle, [contact your AWS account team](/docs/es/amazon-bedrock#mantle-endpoint-errors)579* En Amazon Bedrock, si el mensaje reaparece en cada reintento, comprueba que tu cuenta pueda invocar el modelo que nombra: para los modelos estándar de Amazon Bedrock, confirma que tu [política de IAM](/docs/es/amazon-bedrock#iam-configuration) permite invocarlo; para los IDs de modelo de Mantle, [contacta al equipo de tu cuenta de AWS](/docs/es/amazon-bedrock#mantle-endpoint-errors)
578 580
579Cuando una solicitud de clasificador falla porque su token OAuth expiró o fue rotado por otra sesión, Claude Code actualiza el token e reintenta la solicitud una vez, por lo que una expiración de token rutinaria no aparece como este mensaje. Antes de v2.1.216, un token expirado o rotado fallaba en cada solicitud de clasificador, y auto mode negaba cada acción verificada con este mensaje hasta que el token se actualizara.581Cuando una solicitud al clasificador falla porque tu token de OAuth expiró o fue rotado por otra sesión, Claude Code actualiza el token y reintenta la solicitud una vez, así que una expiración habitual del token no aparece como este mensaje. Antes de v2.1.216, un token expirado o rotado hacía fallar cada solicitud al clasificador, y el modo automático denegaba cada acción verificada con este mensaje hasta que se actualizaba el token.
580 582
581Cuando el clasificador devolvió una respuesta no analizable:583Cuando el clasificador devolvió una respuesta que no se pudo analizar:
582 584
583```text theme={null}585```text theme={null}
584Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details586Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details
586 588
587**Qué hacer:**589**Qué hacer:**
588 590
589* Reintente la acción; esto generalmente tiene éxito en el siguiente intento591* Reintenta la acción; normalmente funciona en el siguiente intento
590* Ejecute `claude --debug` y repita la acción para ver la respuesta del clasificador subyacente en el registro de depuración592* Ejecuta `claude --debug` y repite la acción para ver los detalles en el registro de depuración
591 593
592Cuando una verificación de seguridad de API separada bloqueó la solicitud del clasificador debido al contenido de la conversación anterior:594Cuando una verificación de seguridad de la API independiente bloqueó la solicitud al clasificador debido a contenido anterior de la conversación:
593 595
594```text theme={null}596```text theme={null}
595Auto mode could not evaluate this action and is blocking it for safety — a safety check separate from auto mode blocked this request because of earlier conversation content — it isn't about the action itself — run with --debug for details597Auto mode could not evaluate this action and is blocking it for safety — a safety check separate from auto mode blocked this request because of earlier conversation content — it isn't about the action itself — run with --debug for details
596```598```
597 599
598Claude Code niega la acción pero le dice a Claude que esto no es un juicio de que la acción sea insegura, y que continúe con otras tareas en lugar de reintentar. Estas denegaciones no cuentan hacia [auto mode's pause thresholds](/docs/es/permission-modes#when-auto-mode-falls-back). En una ejecución `-p` [non-interactive](/docs/es/headless), Claude Code no detiene la ejecución. Lo que Claude recibe depende de dónde solicitó la acción:600Claude Code deniega la acción, pero le indica a Claude que esto no es un juicio de que la acción sea insegura y que continúe con otras tareas en lugar de reintentar. Estas denegaciones no cuentan para los [umbrales de pausa del modo automático](/docs/es/permission-modes#when-auto-mode-falls-back). En una ejecución [no interactiva](/docs/es/headless) con `-p`, Claude Code no detiene la ejecución. Lo que recibe Claude depende de dónde solicitó la acción:
599 601
600* A un [background subagent](/docs/es/sub-agents#run-subagents-in-foreground-or-background) en una ejecución `-p` sin `--input-format stream-json`, Claude Code devuelve un resultado de error que contiene `Agent aborted: auto mode classifier request refused by the safety safeguard in headless mode`602* A un [subagente en segundo plano](/docs/es/sub-agents#run-subagents-in-foreground-or-background) en una ejecución con `-p` sin `--input-format stream-json`, Claude Code le devuelve un resultado de error que contiene `Agent aborted: auto mode classifier request refused by the safety safeguard in headless mode`
601* En todos los demás lugares, incluyendo sesiones interactivas y la conversación principal de una ejecución `-p`, Claude Code devuelve esa denegación a Claude603* En todos los demás casos, incluidas las sesiones interactivas y la conversación principal de una ejecución con `-p`, Claude Code le devuelve esa denegación a Claude
602 604
603Antes de v2.1.225, Claude Code contaba estas denegaciones hacia los umbrales de pausa y devolvía el mismo mensaje de rechazo que un bloque de clasificador genuino.605Antes de v2.1.225, Claude Code contaba estos rechazos para los umbrales de pausa y devolvía el mismo mensaje de rechazo que un bloqueo real del clasificador.
604 606
605**Qué hacer:**607**Qué hacer:**
606 608
607* Esto no es una decisión sobre su acción. El contenido ya en su conversación activó un filtro de seguridad en la API cuando auto mode envió la conversación al clasificador609* Esto no es una decisión sobre tu acción. Contenido que ya estaba en tu conversación activó un filtro de seguridad en la API cuando el modo automático envió la conversación al clasificador
608* Reintentar no ayudará; el mismo contenido de conversación activará el filtro nuevamente610* Reintentar no servirá; el mismo contenido de la conversación volverá a activar el filtro
609* En una sesión interactiva, cambie a un [permission mode](/docs/es/permission-modes) diferente para que pueda aprobar la acción cuando se le solicite611* En una sesión interactiva, cambia a otro [modo de permisos](/docs/es/permission-modes) para poder aprobar la acción cuando se te solicite
610* Inicie una conversación nueva sin el contenido que activa612* Inicia una conversación nueva sin el contenido que activa el filtro
611 613
612Cuando la conversación ha crecido más que la ventana de contexto del clasificador:614Cuando la conversación superó el tamaño de la ventana de contexto del clasificador:
613 615
614```text theme={null}616```text theme={null}
615Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)617Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)
616```618```
617 619
618Lo que sucede con la acción depende de dónde Claude la solicitó:620Lo que sucede con la acción depende de dónde la solicitó Claude:
619 621
620* En una sesión interactiva, auto mode vuelve a un prompt de permiso normal para esa acción para que pueda aprobarla o negarla manualmente622* En una sesión interactiva, el modo automático recurre a una solicitud de permiso normal para esa acción, para que puedas aprobarla o denegarla manualmente
621* A un [background subagent](/docs/es/sub-agents#run-subagents-in-foreground-or-background) en una ejecución `-p` [non-interactive](/docs/es/headless) sin `--input-format stream-json`, Claude Code devuelve un resultado de error que contiene `Agent aborted: auto mode classifier transcript exceeded context window in headless mode`, y la ejecución continúa623* A un [subagente en segundo plano](/docs/es/sub-agents#run-subagents-in-foreground-or-background) en una ejecución [no interactiva](/docs/es/headless) con `-p` sin `--input-format stream-json`, Claude Code le devuelve un resultado de error que contiene `Agent aborted: auto mode classifier transcript exceeded context window in headless mode`, y la ejecución continúa
622* En otro lugar en una ejecución `-p` sin un [`--permission-prompt-tool`](/docs/es/cli-reference#cli-flags), no hay prompt para volver, por lo que la acción no se ejecuta y la ejecución continúa624* En cualquier otro punto de una ejecución con `-p` sin [`--permission-prompt-tool`](/docs/es/cli-reference#cli-flags), no hay ninguna solicitud a la que recurrir, así que la acción no se ejecuta y la ejecución continúa
623 625
624**Qué hacer:**626**Qué hacer:**
625 627
626* En una sesión interactiva, apruebe o niegue la acción en el prompt que aparece628* En una sesión interactiva, aprueba o deniega la acción en la solicitud que aparece
627* En una sesión interactiva, ejecute `/compact` para reducir el tamaño de la conversación para que las acciones posteriores se ajusten nuevamente dentro de la ventana del clasificador629* En una sesión interactiva, ejecuta `/compact` para reducir el tamaño de la conversación y que las acciones siguientes vuelvan a caber en la ventana del clasificador
628 630
629<h3 id="the-server-returned-no-safety-verdict">631<h3 id="the-server-returned-no-safety-verdict">
630 The server returned no safety verdict632 The server returned no safety verdict
631</h3>633</h3>
632 634
633Bajo [server-side classifier review](/docs/es/permission-modes#server-side-classifier-review), auto mode niega una acción cuando el servidor no da un veredicto para ella. La denegación nombra una categoría entre paréntesis cuando Claude Code puede determinar una, como `(timed out)`:635Con la [revisión del clasificador en el servidor](/docs/es/permission-modes#server-side-classifier-review), el modo automático deniega una acción cuando el servidor no da ningún veredicto sobre ella. La denegación nombra una categoría entre paréntesis cuando Claude Code puede determinarla, como `(timed out)`:
634 636
635```text theme={null}637```text theme={null}
636The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.638The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.
637```639```
638 640
639El resto del mensaje le dice a Claude si un reintento puede ayudar. Antes de algunas de estas denegaciones, Claude Code espera para que el siguiente intento de Claude no siga de inmediato. Durante la espera en una sesión interactiva, el spinner muestra `Auto mode check unavailable` con una cuenta regresiva, y presionar `Esc` interrumpe el turno.641El resto del mensaje le indica a Claude si un reintento puede ayudar. Antes de algunas de estas denegaciones, Claude Code espera para que el siguiente intento de Claude no llegue de inmediato. Durante la espera en una sesión interactiva, el spinner muestra `Auto mode check unavailable` con una cuenta regresiva, y al presionar `Esc` se interrumpe el turno.
640 642
641Después de diez respuestas seguidas sin veredicto, auto mode detiene el turno:643Después de diez respuestas seguidas sin veredicto, el modo automático detiene el turno:
642 644
643```text theme={null}645```text theme={null}
644Auto mode is unavailable — the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode.646Auto mode is unavailable — the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode.
645```647```
646 648
647El mensaje de parada aparece en un lugar diferente en cada tipo de sesión:649El mensaje de detención aparece en un lugar distinto en cada tipo de sesión:
648 650
649* En una sesión interactiva, el mensaje aparece como una advertencia en la transcripción y el turno termina651* En una sesión interactiva, el mensaje aparece como advertencia en la transcripción y el turno termina
650* En una ejecución `-p` [non-interactive](/docs/es/headless), la ejecución termina e informa un error de ejecución. Con la salida de texto predeterminada, el mensaje se imprime en stderr.652* En una ejecución [no interactiva](/docs/es/headless) con `-p`, la ejecución termina e informa un error de ejecución. Con la salida de texto predeterminada, el mensaje se imprime en stderr.
651* Cuando un [subagent](/docs/es/sub-agents) alcanzó el límite, el subagente se detiene antes de terminar, y Claude recibe lo que produjo con una nota de que auto mode lo detuvo653* Cuando un [subagente](/docs/es/sub-agents) alcanzó el límite, el subagente se detiene antes de terminar, y Claude recibe lo que haya producido junto con una nota de que el modo automático lo detuvo
652 654
653**Qué hacer:**655**Qué hacer:**
654 656
655* Envíe otro mensaje para que Claude intente de nuevo. El recuento de respuestas comienza de nuevo.657* Envía otro mensaje para que Claude lo intente de nuevo. El recuento de respuestas se reinicia.
656* Si la parada se repite y sus solicitudes pasan a través de una [LLM gateway or proxy](/docs/es/llm-gateway), verifique si corta respuestas de transmisión o las reescribe. [Server-side classifier review](/docs/es/permission-modes#server-side-classifier-review) dice qué comportamiento de puerta de enlace causa denegaciones, y la [gateway compatibility guide](/docs/es/llm-gateway-protocol#feature-pass-through) enumera qué pasar sin cambios.658* Si la detención se repite y tus solicitudes pasan por un [gateway de LLM o proxy](/docs/es/llm-gateway), comprueba si corta las respuestas en streaming o las reescribe. [Revisión del clasificador en el servidor](/docs/es/permission-modes#server-side-classifier-review) indica qué comportamiento del gateway causa denegaciones, y la [guía de compatibilidad de gateways](/docs/es/llm-gateway-protocol#feature-pass-through) enumera lo que debe pasar sin cambios.
657* Establezca `CLAUDE_CODE_AUTO_MODE_SERVER=0` antes de iniciar Claude Code para usar sus propias solicitudes de clasificador en su lugar. Antes de v2.1.281, Claude Code no leía la variable en una conexión directa a la API de Anthropic.659* Establece `CLAUDE_CODE_AUTO_MODE_SERVER=0` antes de iniciar Claude Code para que use en su lugar sus propias solicitudes al clasificador. Antes de v2.1.281, Claude Code no leía la variable en una conexión directa a la API de Anthropic.
658* Para aprobar las acciones usted mismo en su lugar, [switch out of auto mode](/docs/es/permission-modes#switch-permission-modes)660* Para aprobar tú mismo las acciones, [sal del modo automático](/docs/es/permission-modes#switch-permission-modes)
659 661
660Antes de v2.1.280, Claude Code negaba cada acción de una respuesta sin veredicto de inmediato y nunca detenía el turno.662Antes de v2.1.280, Claude Code denegaba de inmediato cada acción de una respuesta sin veredicto y nunca detenía el turno.
661 663
662<h3 id="agent-terminated-early-due-to-an-api-error">664<h3 id="agent-terminated-early-due-to-an-api-error">
663 Agent terminated early due to an API error665 Agent terminated early due to an API error
664</h3>666</h3>
665 667
666La solicitud de API de un [subagent](/docs/es/sub-agents) falló terminalmente, por ejemplo porque se alcanzó un límite de uso o los reintentos de un error de servidor se agotaron, por lo que el subagente se detuvo antes de terminar su tarea. Este mensaje requiere Claude Code v2.1.199 o posterior; antes de eso, el texto de error de la API se devolvía a Claude como si fuera el resultado del subagente.668La solicitud a la API de un [subagente](/docs/es/sub-agents) falló de forma definitiva, por ejemplo porque se alcanzó un límite de uso o se agotaron los reintentos de un error de servidor, así que el subagente se detuvo antes de terminar su tarea. Este mensaje requiere Claude Code v2.1.199 o posterior; antes, el texto del error de la API se devolvía a Claude como si fuera el resultado del subagente.
667 669
668```text theme={null}670```text theme={null}
669Agent terminated early due to an API error: <error detail>671Agent terminated early due to an API error: <error detail>
671 673
672**Qué hacer:**674**Qué hacer:**
673 675
674* Haga coincidir el detalle del error después de los dos puntos con su propia sección en esta página, como [Usage limits](#usage-limits) o [Server errors](#server-errors), y siga los pasos de esa sección676* Busca el detalle del error que aparece después de los dos puntos en su propia sección de esta página, como [Límites de uso](#usage-limits) o [Errores del servidor](#server-errors), y sigue los pasos de esa sección
675* Una vez que el error subyacente se aclare, pida a Claude que reintente la tarea o [resume the subagent](/docs/es/sub-agents#resume-subagents)677* Cuando se resuelva el error subyacente, pídele a Claude que reintente la tarea o [reanuda el subagente](/docs/es/sub-agents#resume-subagents)
676 678
677Cuando una limitación de velocidad, sobrecarga o error de servidor interrumpe un subagente en primer plano que ya produjo salida de texto, Claude recibe esa salida parcial marcada como incompleta en lugar de este error. Un subagente cuya única salida fueron llamadas de herramienta también obtiene este error; en v2.1.199 eso devolvía un resultado parcial vacío en su lugar. Consulte [API errors in subagents](/docs/es/sub-agents#api-errors-in-subagents).679Cuando un rate limit, una sobrecarga o un error de servidor interrumpe un subagente en primer plano que ya produjo salida de texto, Claude recibe esa salida parcial marcada como incompleta en lugar de este error. Un subagente cuya única salida fueron llamadas a herramientas también recibe este error; en v2.1.199, ese caso devolvía en su lugar un resultado parcial vacío. Consulta [Errores de API en subagentes](/docs/es/sub-agents#api-errors-in-subagents).
678 680
679<h2 id="usage-limits">681<h2 id="usage-limits">
680 Límites de uso682 Límites de uso
885 Errores de autenticación887 Errores de autenticación
886</h2>888</h2>
887 889
888Estos errores significan que Claude Code no puede probar quién eres ante la API. Ejecuta `/status` en cualquier momento para ver qué credencial está activa actualmente.890Estos errores significan que Claude Code no puede demostrar tu identidad ante la API. Ejecuta `/status` en cualquier momento para ver qué credencial está activa actualmente.
889 891
890<h3 id="not-logged-in">892<h3 id="not-logged-in">
891 No iniciaste sesión893 No has iniciado sesión
892</h3>894</h3>
893 895
894No hay una credencial válida disponible para esta sesión.896No hay ninguna credencial válida disponible para esta sesión.
895 897
896```text theme={null}898```text theme={null}
897Not logged in · Please run /login899Not logged in · Please run /login
898```900```
899 901
900En una sesión que ejecuta la aplicación Claude Desktop, como la pestaña Code o Cowork, el mensaje dice `Authentication required · Sign in again to continue`, e inicias sesión nuevamente desde la aplicación.902En una sesión que ejecuta la aplicación Claude Desktop, como la pestaña Code o Cowork, el mensaje dice `Authentication required · Sign in again to continue`, y vuelves a iniciar sesión desde la aplicación.
903
904Si inicias sesión con tu cuenta de claude.ai en otra ventana de Claude Code que usa el mismo [directorio de configuración](/docs/es/claude-directory), una sesión interactiva que muestra este mensaje empieza a usar ese inicio de sesión por sí sola. No necesitas reiniciarla.
905
906Antes de v2.1.286 en macOS, la sesión podía seguir mostrando el mensaje después de que iniciaras sesión desde otra ventana. En esas versiones, reinicia la sesión que muestra el mensaje.
901 907
902**Qué hacer:**908**Qué hacer:**
903 909
904* Ejecuta `/login` para autenticarte con tu suscripción de Claude o cuenta de Console910* Ejecuta `/login` para autenticarte con tu suscripción de Claude o tu cuenta de Console
905* Si esperabas que una variable de entorno te autenticara, confirma que `ANTHROPIC_API_KEY` esté configurada y exportada en el shell donde lanzaste `claude`911* Si esperabas que una variable de entorno te autenticara, confirma que `ANTHROPIC_API_KEY` esté definida y exportada en el shell donde iniciaste `claude`
906* Para CI o automatización donde el inicio de sesión interactivo no es posible, configura un script [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) que obtenga una clave al iniciar912* Para CI o automatización donde el inicio de sesión interactivo no es posible, configura un script [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) que obtenga una clave al iniciar
907* Consulta [Precedencia de autenticación](/docs/es/authentication#authentication-precedence) para entender qué credencial usa Claude Code cuando hay varias presentes913* Consulta [Precedencia de autenticación](/docs/es/authentication#authentication-precedence) para entender qué credencial usa Claude Code cuando hay varias presentes
908 914
909Si se te pide que inicies sesión repetidamente, consulta [No iniciaste sesión o token expirado](/docs/es/troubleshoot-install#not-logged-in-or-token-expired) para verificaciones del reloj del sistema y pasos de recuperación del almacenamiento de credenciales de macOS.915Si se te pide iniciar sesión repetidamente, consulta [No has iniciado sesión o el token expiró](/docs/es/troubleshoot-install#not-logged-in-or-token-expired) para ver las comprobaciones del reloj del sistema y los pasos de recuperación del almacenamiento de credenciales de macOS.
910 916
911<h3 id="could-not-resolve-authentication-method">917<h3 id="could-not-resolve-authentication-method">
912 No se pudo resolver el método de autenticación918 No se pudo resolver el método de autenticación
913</h3>919</h3>
914 920
915La sesión llegó al cliente de API sin ninguna credencial. Las [sesiones en segundo plano](/docs/es/agent-view) y las sesiones en la nube muestran este mensaje cuando el worker inicia sin una credencial. Las ejecuciones interactivas, `-p` y Agent SDK reportan la misma condición que [No iniciaste sesión](#not-logged-in) y escriben esta cadena solo en su registro de depuración, así que si la encontraste allí, sigue esa entrada en su lugar.921La sesión llegó al cliente de la API sin ninguna credencial. Las [sesiones en segundo plano](/docs/es/agent-view) y las sesiones en la nube muestran este mensaje cuando el worker se inicia sin una credencial. Las ejecuciones interactivas, con `-p` y del Agent SDK informan la misma condición como [No has iniciado sesión](#not-logged-in) y escriben esta cadena solo en su registro de depuración, así que si la encontraste ahí, sigue esa entrada en su lugar.
916 922
917```text theme={null}923```text theme={null}
918Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted924Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted
919```925```
920 926
921En versiones actuales el error significa que no había credencial disponible para el proceso worker. Antes de v2.1.174, una sesión en segundo plano asignada a un worker pre-inicializado inactivo podría fallar de esta manera incluso cuando había credenciales válidas configuradas. Antes de v2.1.176, una sesión en la nube que estaba inactiva antes de ser reclamada también podría. Actualiza para recuperarte.927En las versiones actuales, el error significa que no había ninguna credencial disponible para el proceso del worker. Antes de v2.1.174, una sesión en segundo plano asignada a un worker preinicializado inactivo podía fallar de esta forma incluso cuando había credenciales válidas configuradas. Antes de v2.1.176, también podía fallar así una sesión en la nube que había permanecido inactiva antes de ser reclamada. Actualiza para recuperarte.
922 928
923**Qué hacer:**929**Qué hacer:**
924 930
925* Actualiza a v2.1.176 o posterior si esto aparece en una sesión en segundo plano o en la nube y tus credenciales ya están configuradas931* Actualiza a v2.1.176 o posterior si esto aparece en una sesión en segundo plano o en la nube y tus credenciales ya están configuradas
926* Confirma que `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN`, o tus credenciales del proveedor en la nube estén configuradas en el entorno que lanza el worker, no solo en tu shell interactivo932* Confirma que `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` o las credenciales de tu proveedor de nube estén definidas en el entorno que inicia el worker, no solo en tu shell interactivo
927* Para Agent SDK, consulta [configuración de autenticación en el inicio rápido](/docs/es/agent-sdk/quickstart#setup)933* Para el Agent SDK, consulta la [configuración de autenticación en el inicio rápido](/docs/es/agent-sdk/quickstart#setup)
928* Ejecuta `/status` en una sesión interactiva en el mismo entorno para confirmar qué fuente de credencial se resuelve934* Ejecuta `/status` en una sesión interactiva en el mismo entorno para confirmar qué fuente de credenciales se resuelve
929 935
930<h3 id="invalid-api-key">936<h3 id="invalid-api-key">
931 Clave API inválida937 Clave de API no válida
932</h3>938</h3>
933 939
934La variable de entorno `ANTHROPIC_API_KEY` o el script `apiKeyHelper` devolvieron una clave que la API rechazó, o Claude Code bloqueó una clave de `ANTHROPIC_API_KEY` antes de enviarla.940La variable de entorno `ANTHROPIC_API_KEY` o el script `apiKeyHelper` devolvió una clave que la API rechazó, o Claude Code bloqueó una clave de `ANTHROPIC_API_KEY` antes de enviarla.
935 941
936```text theme={null}942```text theme={null}
937Invalid API key · Fix external API key943Invalid API key · Fix external API key
938```944```
939 945
940Cuando el mensaje continúa después de `Fix external API key` con una descripción como `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`, la API nunca vio la clave. Claude Code encontró un carácter que los encabezados HTTP no pueden llevar y detuvo la solicitud antes de enviarla. Consulta [Valor de encabezado de solicitud inválido](#invalid-request-header-value) para saber cómo leer la descripción y corregir el valor.946Cuando el mensaje continúa después de `Fix external API key` con una descripción como `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`, la API nunca vio la clave. Claude Code encontró un carácter que los encabezados HTTP no pueden transportar y detuvo la solicitud antes de enviarla. Consulta [Valor de encabezado de solicitud no válido](#invalid-request-header-value) para saber cómo leer la descripción y corregir el valor.
941 947
942**Qué hacer:**948**Qué hacer:**
943 949
944* Verifica si hay errores tipográficos y confirma que la clave no haya sido revocada en la [Consola](https://platform.claude.com/settings/keys)950* Busca errores tipográficos y confirma que la clave no haya sido revocada en la [Console](https://platform.claude.com/settings/keys)
945* En el mismo shell, ejecuta `env | grep ANTHROPIC`, o en PowerShell `Get-ChildItem Env:ANTHROPIC*`. Herramientas como direnv, complementos de shell dotenv e IDE terminals pueden cargar una clave antigua de un archivo `.env` en tu proyecto sin que la configures explícitamente.951* En el mismo shell, ejecuta `env | grep ANTHROPIC`, o en PowerShell `Get-ChildItem Env:ANTHROPIC*`. Herramientas como direnv, los plugins de shell de dotenv y las terminales de los IDE pueden cargar una clave obsoleta desde un archivo `.env` de tu proyecto sin que la definas explícitamente.
946* Desactiva `ANTHROPIC_API_KEY` y ejecuta `/login` para usar autenticación de suscripción en su lugar952* Elimina la definición de `ANTHROPIC_API_KEY` y ejecuta `/login` para usar la autenticación por suscripción en su lugar
947* Si la clave proviene de un script [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper), ejecuta el script directamente para confirmar que imprime una clave válida en stdout953* Si la clave proviene de un script [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper), ejecuta el script directamente para confirmar que imprime una clave válida en stdout
948* Ejecuta `/status` para confirmar qué fuente de credencial está usando realmente Claude Code954* Ejecuta `/status` para confirmar qué fuente de credenciales está usando realmente Claude Code
949 955
950<h3 id="your-apikeyhelper-script-is-failing">956<h3 id="your-apikeyhelper-script-is-failing">
951 Tu script apiKeyHelper está fallando957 Tu script apiKeyHelper está fallando
952</h3>958</h3>
953 959
954Claude Code ejecutó el comando en tu configuración [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) y no obtuvo una clave. Sin una, la solicitud llega a la API con una credencial de marcador de posición, y la API la rechaza con `401`. El panel `Authentication` en la terminal muestra cuál de estos sucedió:960Claude Code ejecutó el comando de tu ajuste [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) y no recibió una clave. Sin ella, la solicitud llega a la API con una credencial de marcador de posición, y la API la rechaza con `401`. El panel `Authentication` de la terminal muestra cuál de estas situaciones ocurrió:
955 961
956* El comando salió con un error o se agotó el tiempo de espera962* El comando terminó con un error o se agotó su tiempo de espera
957* El comando no imprimió nada en stdout963* El comando no imprimió nada en stdout
958* El comando imprimió algo además de la clave, como un banner de inicio de sesión o una línea de registro. El panel muestra `returned output that cannot be used as an API key` y dice qué está mal, sin repetir la salida. Antes de v2.1.227, Claude Code enviaba lo que el comando imprimía, después de recortar espacios en blanco circundantes.964* El comando imprimió algo además de la clave, como un banner de inicio de sesión o una línea de registro. El panel muestra `returned output that cannot be used as an API key` e indica qué está mal, sin repetir la salida. Antes de v2.1.227, Claude Code enviaba lo que el comando imprimiera, después de recortar los espacios en blanco circundantes.
959 965
960```text theme={null}966```text theme={null}
961Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output967Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output
962```968```
963 969
964En [modo no interactivo](/docs/es/headless), stderr también lleva la razón específica, con el prefijo `apiKeyHelper failed:`.970En [modo no interactivo](/docs/es/headless), stderr también incluye el motivo específico, con el prefijo `apiKeyHelper failed:`.
965 971
966Claude Code vuelve a ejecutar el script y reintenta la solicitud hasta dos veces más antes de mostrar este mensaje, por lo que el fallo aparece dentro de tres intentos. Antes de v2.1.208, Claude Code gastaba el [presupuesto de reintentos](#automatic-retries) completo reenviando la solicitud con la credencial de marcador de posición y luego reportaba un error de autenticación `401` genérico en lugar del fallo del script.972Claude Code vuelve a ejecutar el script y reintenta la solicitud hasta dos veces más antes de mostrar este mensaje, así que el fallo aparece en un máximo de tres intentos. Antes de v2.1.208, Claude Code consumía todo el [presupuesto de reintentos](#automatic-retries) reenviando la solicitud con la credencial de marcador de posición y luego informaba un error de autenticación `401` genérico en lugar del fallo del script.
967 973
968Ejecutar `/login` no ayuda aquí: la salida del helper [toma precedencia](/docs/es/authentication#authentication-precedence) sobre un inicio de sesión guardado mientras la configuración esté presente.974Ejecutar `/login` no ayuda aquí: la salida del helper [tiene precedencia](/docs/es/authentication#authentication-precedence) sobre un inicio de sesión guardado mientras el ajuste esté presente.
969 975
970**Qué hacer:**976**Qué hacer:**
971 977
972* Ejecuta el comando configurado en `apiKeyHelper` directamente en tu shell para reproducir el fallo978* Ejecuta directamente en tu shell el comando configurado en `apiKeyHelper` para reproducir el fallo
973* Si el comando reporta una sesión expirada, vuelve a autenticarte con tu proveedor de credenciales, por ejemplo iniciando sesión en tu SSO o bóveda de secretos nuevamente979* Si el comando informa una sesión expirada, vuelve a autenticarte con tu proveedor de credenciales, por ejemplo, iniciando sesión de nuevo en tu SSO o en tu almacén de secretos
974* Corrige el comando para que imprima solo la clave en stdout, como un único token de ASCII imprimible de hasta 16.384 caracteres, y salga con código 0. Consulta [rotar credenciales con apiKeyHelper](/docs/es/llm-gateway-connect#rotate-credentials-with-apikeyhelper) para una configuración que funcione.980* Corrige el comando para que imprima solo la clave en stdout, como un único token de ASCII imprimible de hasta 16,384 caracteres, y termine con el código 0. Consulta [rotar credenciales con apiKeyHelper](/docs/es/llm-gateway-connect#rotate-credentials-with-apikeyhelper) para ver una configuración funcional.
975* Ejecuta `/status` para ver el fallo y confirmar que `apiKeyHelper` es la fuente de credencial activa. La fila `apiKeyHelper` muestra `Failing` con el detalle del último fallo, como el código de salida y la salida de error del comando, y desaparece después de la siguiente ejecución exitosa. Antes de v2.1.274, `/status` mostraba solo la fuente de credencial, no el fallo.981* Ejecuta `/status` para ver el fallo y confirmar que `apiKeyHelper` es la fuente de credenciales activa. La fila `apiKeyHelper` muestra `Failing` con el detalle del último fallo, como el código de salida y la salida de error del comando, y desaparece después de la siguiente ejecución correcta. Antes de v2.1.274, `/status` mostraba solo la fuente de credenciales, no el fallo.
976* Cada vez que el comando falla, su código de salida y salida de error también aparecen en un panel `Authentication` en la terminal. Antes de v2.1.212, el panel se titulaba `Cloud authentication`.982* Cada vez que el comando falla, su código de salida y su salida de error también aparecen en un panel `Authentication` de la terminal. Antes de v2.1.212, el panel se titulaba `Cloud authentication`.
977 983
978<h3 id="invalid-request-header-value">984<h3 id="invalid-request-header-value">
979 Valor de encabezado de solicitud inválido985 Valor de encabezado de solicitud no válido
980</h3>986</h3>
981 987
982Un valor que Claude Code estaba a punto de enviar como encabezado de solicitud contiene un carácter que los encabezados HTTP no pueden llevar: un salto de línea, un byte NUL, o un carácter por encima de `U+00FF`, como una comilla curva o un espacio de ancho cero. Claude Code detiene la solicitud antes de que se envíe nada y nombra la variable o configuración a corregir. La causa habitual es una credencial pegada de un documento o chat que llevaba un carácter invisible o un salto de línea extraviado.988Un valor que Claude Code estaba a punto de enviar como encabezado de solicitud contiene un carácter que los encabezados HTTP no pueden transportar: un salto de línea, un byte NUL o un carácter por encima de `U+00FF`, como una comilla tipográfica o un espacio de ancho cero. Claude Code detiene la solicitud antes de enviar nada e indica la variable o el ajuste que debes corregir. La causa habitual es una credencial pegada desde un documento o un chat que incluía un carácter invisible o un salto de línea accidental.
983 989
984Claude Code ejecuta esta verificación cuando envía solicitudes a la API de Claude directamente o a través de una [puerta de enlace LLM](/docs/es/llm-gateway). En un proveedor en la nube de terceros como [Amazon Bedrock](/docs/es/amazon-bedrock), Claude Code no la ejecuta antes de enviar.990Claude Code realiza esta comprobación cuando envía solicitudes a la Claude API directamente o a través de un [gateway de LLM](/docs/es/llm-gateway). En un proveedor de nube de terceros como [Amazon Bedrock](/docs/es/amazon-bedrock), Claude Code no la realiza antes de enviar.
985 991
986```text theme={null}992```text theme={null}
987Invalid auth token · Fix external auth token993Invalid auth token · Fix external auth token
989Invalid request header from the environment · Fix the environment variable995Invalid request header from the environment · Fix the environment variable
990```996```
991 997
992La primera parte del mensaje depende de dónde vino el valor incorrecto:998La primera parte del mensaje depende de dónde provino el valor incorrecto:
993 999
994* `Invalid auth token`: un token de portador de [`ANTHROPIC_AUTH_TOKEN`](/docs/es/env-vars) o [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars)1000* `Invalid auth token`: un token bearer de [`ANTHROPIC_AUTH_TOKEN`](/docs/es/env-vars) o [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars)
995* `Invalid ANTHROPIC_CUSTOM_HEADERS`: un nombre de encabezado o valor que configuraste en [`ANTHROPIC_CUSTOM_HEADERS`](/docs/es/env-vars). La descripción cuenta cuál par `Name: Value` es el culpable, como `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, sin repetir el nombre o valor, ya que elegiste ambos.1001* `Invalid ANTHROPIC_CUSTOM_HEADERS`: un nombre o valor de encabezado que definiste en [`ANTHROPIC_CUSTOM_HEADERS`](/docs/es/env-vars). La descripción indica por número qué par `Name: Value` tiene el problema, como `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, sin repetir el nombre ni el valor, ya que tú elegiste ambos.
996* `Invalid request header from the environment`: un valor que Claude Code copia en un encabezado de solicitud desde otra variable de entorno, como `CLAUDE_AGENT_SDK_CLIENT_APP`. La descripción nombra la variable a corregir.1002* `Invalid request header from the environment`: un valor que Claude Code copia en un encabezado de solicitud desde otra variable de entorno, como `CLAUDE_AGENT_SDK_CLIENT_APP`. La descripción indica la variable que debes corregir.
997 1003
998Claude Code reporta un `ANTHROPIC_API_KEY` incorrecto capturado por esta verificación como [Clave API inválida](#invalid-api-key), con la misma descripción final. Reporta una credencial `/login` guardada incorrecta como [No iniciaste sesión](#not-logged-in) en su lugar; ejecuta `/login` para guardar una nueva. La salida de un script [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) nunca llega a esta verificación: Claude Code la valida cuando se ejecuta el script, y la salida que un encabezado HTTP no puede llevar falla con [Tu script apiKeyHelper está fallando](#your-apikeyhelper-script-is-failing).1004Claude Code informa una `ANTHROPIC_API_KEY` incorrecta detectada por esta comprobación como [Clave de API no válida](#invalid-api-key), con la misma descripción final. En cambio, informa una credencial de `/login` guardada incorrecta como [No has iniciado sesión](#not-logged-in); ejecuta `/login` para guardar una nueva. La salida de un script [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) nunca llega a esta comprobación: Claude Code la valida cuando se ejecuta el script, y una salida que un encabezado HTTP no puede transportar falla con [Tu script apiKeyHelper está fallando](#your-apikeyhelper-script-is-failing).
999 1005
1000Después del segundo `·`, el mensaje describe el problema, como en este ejemplo completo:1006Después del segundo `·`, el mensaje describe el problema, como en este ejemplo completo:
1001 1007
1003Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).1009Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).
1004```1010```
1005 1011
1006Las posiciones cuentan caracteres comenzando en uno. La descripción se construye a partir de frases fijas y conteos de caracteres, por lo que nunca incluye el valor en sí. Nombra el carácter ofensivo solo cuando es un carácter invisible o tipográfico bien conocido, como una marca de orden de bytes, un espacio de ancho cero, o una comilla curva, y reporta cualquier otra cosa como `a non-ASCII character`.1012Las posiciones cuentan los caracteres empezando desde uno. La descripción se construye a partir de frases fijas y recuentos de caracteres, por lo que nunca incluye el valor en sí. Nombra el carácter problemático solo cuando es un carácter invisible o tipográfico conocido, como una marca de orden de bytes, un espacio de ancho cero o una comilla tipográfica, e informa cualquier otro como `a non-ASCII character`.
1007 1013
1008**Qué hacer:**1014**Qué hacer:**
1009 1015
1010* Vuelve a configurar la variable o configuración que el mensaje nombra, reescribiendo los caracteres alrededor de la posición reportada en lugar de pegar desde la misma fuente nuevamente1016* Vuelve a definir la variable o el ajuste que indica el mensaje, reescribiendo a mano los caracteres alrededor de la posición informada en lugar de pegar de nuevo desde la misma fuente
1011* Para `ANTHROPIC_CUSTOM_HEADERS`, mantén un par `Name: Value` por línea y reescribe el par que el mensaje cuenta1017* Para `ANTHROPIC_CUSTOM_HEADERS`, mantén un par `Name: Value` por línea y reescribe el par que indica el mensaje
1012* Ejecuta `/status` para confirmar qué fuente de credencial está activa1018* Ejecuta `/status` para confirmar qué fuente de credenciales está activa
1013 1019
1014<h3 id="this-organization-has-been-disabled">1020<h3 id="this-organization-has-been-disabled">
1015 Esta organización ha sido deshabilitada1021 Esta organización ha sido deshabilitada
1016</h3>1022</h3>
1017 1023
1018Claude Code está usando un `ANTHROPIC_API_KEY` antiguo de una organización de Console deshabilitada. Cuando tienes un inicio de sesión de suscripción guardado, la clave lo anula.1024Claude Code está usando una `ANTHROPIC_API_KEY` obsoleta de una organización de Console deshabilitada. Cuando tienes un inicio de sesión de suscripción guardado, la clave tiene prioridad sobre él.
1019 1025
1020```text theme={null}1026```text theme={null}
1021Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead1027Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead
1023API Error: 400 ... This organization has been disabled.1029API Error: 400 ... This organization has been disabled.
1024```1030```
1025 1031
1026La sugerencia después del `·` depende de tus credenciales guardadas: la primera forma aparece cuando un `/login` almacenado puede tomar el control después de que desactives la clave, y la segunda cuando la clave es tu única credencial.1032La sugerencia después del `·` depende de tus credenciales guardadas: la primera forma aparece cuando un `/login` almacenado puede tomar el relevo después de que elimines la clave, y la segunda cuando la clave es tu única credencial.
1027 1033
1028Las variables de entorno toman precedencia sobre `/login`, por lo que una clave exportada en tu perfil de shell o cargada desde un archivo `.env` se usa incluso cuando tienes una suscripción Pro o Max que funciona. En modo no interactivo (`-p`), la clave siempre se usa cuando está presente.1034Las variables de entorno tienen precedencia sobre `/login`, así que una clave exportada en el perfil de tu shell o cargada desde un archivo `.env` se usa incluso cuando tienes una suscripción Pro o Max que funciona. En modo no interactivo (`-p`), la clave siempre se usa cuando está presente.
1029 1035
1030**Qué hacer:**1036**Qué hacer:**
1031 1037
1032* Desactiva `ANTHROPIC_API_KEY` en el shell actual y elimínalo de tu perfil de shell, luego relanza `claude`1038* Elimina la definición de `ANTHROPIC_API_KEY` en el shell actual y quítala del perfil de tu shell; luego vuelve a iniciar `claude`
1033* Si el mensaje dice `Update or unset`, no tienes un inicio de sesión guardado para recurrir. Desactiva la clave y ejecuta `/login`, o reemplaza la clave con una de una organización de Console activa.1039* Si el mensaje dice `Update or unset`, no tienes un inicio de sesión guardado al que recurrir. Elimina la clave y ejecuta `/login`, o reemplaza la clave por una de una organización de Console activa.
1034* Ejecuta `/status` después para confirmar que la credencial activa es tu suscripción1040* Ejecuta `/status` después para confirmar que la credencial activa es tu suscripción
1035* Si no hay variable de entorno configurada y el error persiste, contacta con soporte o inicia sesión con una cuenta diferente.1041* Si no hay ninguna variable de entorno definida y el error persiste, contacta con soporte o inicia sesión con otra cuenta.
1036 1042
1037<h3 id="your-organization-has-disabled-api-key-authentication">1043<h3 id="your-organization-has-disabled-api-key-authentication">
1038 Tu organización ha deshabilitado la autenticación por clave API1044 Tu organización ha deshabilitado la autenticación con clave de API
1039</h3>1045</h3>
1040 1046
1041Este mensaje requiere Claude Code v2.1.169 o posterior. El administrador de tu organización de Console ha desactivado la autenticación por clave API, por lo que la API rechaza la clave que Claude Code está enviando. La sugerencia de recuperación después del `·` varía según de dónde vino la clave:1047Este mensaje requiere Claude Code v2.1.169 o posterior. El administrador de tu organización de Console desactivó la autenticación con clave de API, así que la API rechaza la clave que Claude Code está enviando. La sugerencia de recuperación después del `·` varía según de dónde provino la clave:
1042 1048
1043```text theme={null}1049```text theme={null}
1044Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account1050Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account
1048Your organization has disabled API key authentication · Sign in again with your claude.ai account1054Your organization has disabled API key authentication · Sign in again with your claude.ai account
1049```1055```
1050 1056
1051La última forma aparece en una sesión que ejecuta la aplicación Claude Desktop, como la pestaña Code o Cowork, donde inicias sesión nuevamente desde la aplicación.1057La última forma aparece en una sesión que ejecuta la aplicación Claude Desktop, como la pestaña Code o Cowork, donde vuelves a iniciar sesión desde la aplicación.
1052 1058
1053Las variables de entorno y `apiKeyHelper` toman precedencia sobre `/login`, por lo que ejecutar `/login` solo no ayuda mientras cualquiera de ellos siga suministrando una clave. Consulta [Precedencia de autenticación](/docs/es/authentication#authentication-precedence).1059Las variables de entorno y `apiKeyHelper` tienen precedencia sobre `/login`, así que ejecutar solo `/login` no ayuda mientras cualquiera de ellos siga proporcionando una clave. Consulta [Precedencia de autenticación](/docs/es/authentication#authentication-precedence).
1054 1060
1055**Qué hacer:**1061**Qué hacer:**
1056 1062
1057* Si el mensaje nombra `ANTHROPIC_API_KEY`, desactívalo en el shell actual y elimínalo de tu perfil de shell o archivo `.env`, luego relanza `claude`1063* Si el mensaje menciona `ANTHROPIC_API_KEY`, elimina su definición en el shell actual y quítala del perfil de tu shell o del archivo `.env`; luego vuelve a iniciar `claude`
1058* Si el mensaje nombra `apiKeyHelper`, elimina la configuración [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) de tu `settings.json`1064* Si el mensaje menciona `apiKeyHelper`, quita el ajuste [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) de tu `settings.json`
1059* Ejecuta `/login` para iniciar sesión con tu cuenta de claude.ai1065* Ejecuta `/login` para iniciar sesión con tu cuenta de claude.ai
1060* Ejecuta `/status` después para confirmar que la credencial activa es tu suscripción en lugar de una clave API1066* Ejecuta `/status` después para confirmar que la credencial activa es tu suscripción y no una clave de API
1061* Si necesitas autenticación por clave API para automatización, pide al administrador de tu organización que la vuelva a habilitar en la Consola1067* Si necesitas autenticación con clave de API para automatización, pide al administrador de tu organización que la vuelva a habilitar en la Console
1062 1068
1063<h3 id="your-organization-has-disabled-claude-subscription-access">1069<h3 id="your-organization-has-disabled-claude-subscription-access">
1064 Tu organización ha deshabilitado el acceso a la suscripción de Claude1070 Tu organización ha deshabilitado el acceso con suscripción de Claude
1065</h3>1071</h3>
1066 1072
1067Tu organización de Claude no permite iniciar sesión en Claude Code con un inicio de sesión de suscripción. Ejecutar `/login` nuevamente con la misma cuenta devuelve el mismo error.1073Tu organización de Claude no permite iniciar sesión en Claude Code con un inicio de sesión de suscripción. Volver a ejecutar `/login` con la misma cuenta devuelve el mismo error.
1068 1074
1069```text theme={null}1075```text theme={null}
1070Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access1076Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access
1071```1077```
1072 1078
1073Esta es una configuración de organización del lado del servidor, por lo que no se puede anular desde configuraciones locales, variables de entorno o banderas CLI.1079Esta es una configuración de la organización del lado del servidor, así que no se puede sobrescribir desde la configuración local, variables de entorno ni flags de la CLI.
1074 1080
1075Agent SDK y el modo no interactivo `-p` muestran esto como el código de error `oauth_org_not_allowed`.1081El Agent SDK y el modo no interactivo `-p` muestran esto como el código de error `oauth_org_not_allowed`.
1076 1082
1077**Qué hacer:**1083**Qué hacer:**
1078 1084
1079* Pide a tu administrador que habilite el acceso a Claude Code para tu organización1085* Pide a tu administrador que habilite el acceso a Claude Code para tu organización
1080* Auténticate con una clave API de Console en lugar de tu suscripción. Consulta [Autenticación de Claude Console](/docs/es/authentication#claude-console-authentication) para la configuración.1086* Autentícate con una clave de API de Console en lugar de tu suscripción. Consulta [Autenticación con Claude Console](/docs/es/authentication#claude-console-authentication) para configurarla.
1081* Si eres el administrador y no ves una opción para habilitar el acceso, contacta con [soporte de Anthropic](https://support.claude.com)1087* Si eres el administrador y no ves una opción para habilitar el acceso, contacta con el [soporte de Anthropic](https://support.claude.com)
1082 1088
1083<h3 id="routines-are-disabled-by-your-organizations-policy">1089<h3 id="routines-are-disabled-by-your-organizations-policy">
1084 Las rutinas están deshabilitadas por la política de tu organización1090 Las rutinas están deshabilitadas por la política de tu organización
1085</h3>1091</h3>
1086 1092
1087Un Propietario en tu organización de Equipo o Empresa ha desactivado las rutinas a nivel de organización. El error aparece cuando intentas crear o ejecutar una rutina, por ejemplo desde la interfaz de usuario [Rutinas](/docs/es/routines) en claude.ai/code. En Claude Code v2.1.227 o posterior, la misma configuración también [oculta `/schedule`](/docs/es/routines#troubleshooting) en la CLI.1093Un Owner de tu organización Team o Enterprise desactivó las rutinas a nivel de organización. El error aparece cuando intentas crear o ejecutar una rutina, por ejemplo, desde la interfaz de [Routines](/docs/es/routines) en claude.ai/code. En Claude Code v2.1.227 o posterior, la misma configuración también [oculta `/schedule`](/docs/es/routines#troubleshooting) en la CLI.
1088 1094
1089```text theme={null}1095```text theme={null}
1090Routines are disabled by your organization's policy.1096Routines are disabled by your organization's policy.
1091```1097```
1092 1098
1093Esta es una configuración del lado del servidor, por lo que no se puede anular desde configuraciones locales, variables de entorno o banderas CLI.1099Esta es una configuración del lado del servidor, así que no se puede sobrescribir desde la configuración local, variables de entorno ni flags de la CLI.
1094 1100
1095**Qué hacer:**1101**Qué hacer:**
1096 1102
1097* Pide a un Propietario en tu organización que habilite el botón **Routines** en [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)1103* Pide a un Owner de tu organización que active el interruptor **Routines** en [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)
1098* Para trabajo programado único que no requiere rutinas a nivel de organización, consulta [tareas programadas](/docs/es/scheduled-tasks)1104* Para trabajo programado puntual que no requiera rutinas a nivel de organización, consulta [tareas programadas](/docs/es/scheduled-tasks)
1099 1105
1100<h3 id="remote-control-requires-the-anthropic-api">1106<h3 id="remote-control-requires-the-anthropic-api">
1101 Remote Control requiere la API de Anthropic1107 Remote Control requiere la API de Anthropic
1102</h3>1108</h3>
1103 1109
1104La sesión no está hablando directamente con la API de Anthropic, que es lo que [Remote Control](/docs/es/remote-control) requiere.1110La sesión no se comunica directamente con la API de Anthropic, algo que [Remote Control](/docs/es/remote-control) requiere.
1105 1111
1106```text theme={null}1112```text theme={null}
1107Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.1113Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.
1108```1114```
1109 1115
1110Una segunda oración explica qué enrutó la sesión lejos de la API de Anthropic; antes de v2.1.219, el mensaje era solo la primera oración. Dependiendo de la causa, el mensaje nombra:1116Una segunda oración explica qué desvió la sesión de la API de Anthropic; antes de v2.1.219, el mensaje consistía solo en la primera oración. Según la causa, el mensaje menciona:
1111 1117
1112* Una variable de proveedor `CLAUDE_CODE_USE_*`, como `CLAUDE_CODE_USE_BEDROCK` para [Amazon Bedrock](/docs/es/amazon-bedrock) o `CLAUDE_CODE_USE_VERTEX` para [Plataforma de Agentes de Google Cloud](/docs/es/google-vertex-ai)1118* Una variable de proveedor `CLAUDE_CODE_USE_*`, como `CLAUDE_CODE_USE_BEDROCK` para [Amazon Bedrock](/docs/es/amazon-bedrock) o `CLAUDE_CODE_USE_VERTEX` para [Google Cloud's Agent Platform](/docs/es/google-vertex-ai)
1113* [`ANTHROPIC_BASE_URL`](/docs/es/env-vars) apuntando a un host diferente de `api.anthropic.com`, como una [puerta de enlace LLM](/docs/es/llm-gateway) o proxy, incluso cuando inicias sesión con claude.ai; antes de v2.1.196, una URL base personalizada no bloqueaba Remote Control1119* [`ANTHROPIC_BASE_URL`](/docs/es/env-vars) apuntando a un host distinto de `api.anthropic.com`, como un [gateway de LLM](/docs/es/llm-gateway) o un proxy, incluso cuando inicias sesión con claude.ai; antes de v2.1.196, una URL base personalizada no bloqueaba Remote Control
1114* `ANTHROPIC_UNIX_SOCKET` configurado, por lo que la sesión envía sus solicitudes a través de un socket local en lugar de a `api.anthropic.com`1120* `ANTHROPIC_UNIX_SOCKET` definida, de modo que la sesión envía sus solicitudes a través de un socket local en lugar de a `api.anthropic.com`
1115* Un inicio de sesión de [puerta de enlace en la nube](/docs/es/claude-apps-gateway) empresarial realizado a través de `/login`, que no admite Remote Control y no tiene variable para desactivar1121* Un inicio de sesión en un [gateway de nube](/docs/es/claude-apps-gateway) empresarial hecho mediante `/login`, que no admite Remote Control y no tiene ninguna variable que eliminar
1116 1122
1117**Qué hacer:**1123**Qué hacer:**
1118 1124
1119* Desactiva la variable que el mensaje nombra, como `CLAUDE_CODE_USE_BEDROCK` o `ANTHROPIC_BASE_URL`, y reinicia la sesión, o inicia Remote Control desde una sesión que hable directamente con la API de Anthropic1125* Elimina la definición de la variable que menciona el mensaje, como `CLAUDE_CODE_USE_BEDROCK` o `ANTHROPIC_BASE_URL`, y reinicia la sesión, o inicia Remote Control desde una sesión que se comunique directamente con la API de Anthropic
1120* Si la variable no está configurada en tu shell, verifica la clave `env` en tus [archivos de configuración](/docs/es/settings#where-settings-live), que aplica variables de entorno a cada sesión1126* Si la variable no está definida en tu shell, revisa la clave `env` en tus [archivos de configuración](/docs/es/settings#where-settings-live), que aplica variables de entorno a cada sesión
1121* Para este y los otros mensajes de inicio de Remote Control, consulta [Solucionar problemas de Remote Control](/docs/es/remote-control#troubleshooting)1127* Para este y los demás mensajes de inicio de Remote Control, consulta [Solución de problemas de Remote Control](/docs/es/remote-control#troubleshooting)
1122 1128
1123<h3 id="remote-control-couldnt-refresh-your-login">1129<h3 id="remote-control-couldnt-refresh-your-login">
1124 Remote Control no pudo actualizar tu inicio de sesión1130 Remote Control no pudo renovar tu inicio de sesión
1125</h3>1131</h3>
1126 1132
1127Claude Code ejecuta una conexión [Remote Control](/docs/es/remote-control) en vivo en credenciales de corta duración que obtiene y renueva usando tu inicio de sesión guardado de claude.ai. Cuando claude.ai deja de aceptar ese inicio de sesión, o Claude Code no tiene inicio de sesión guardado, Claude Code detiene Remote Control y necesita que inicies sesión nuevamente. Cualquiera de los dos fallos puede suceder mientras Claude Code aún se está conectando o más tarde, cuando renueva las credenciales.1133Claude Code mantiene una conexión activa de [Remote Control](/docs/es/remote-control) con credenciales de corta duración que obtiene y renueva usando tu inicio de sesión de claude.ai guardado. Cuando claude.ai deja de aceptar ese inicio de sesión, o Claude Code ya no tiene ningún inicio de sesión guardado, Claude Code detiene Remote Control y necesita que vuelvas a iniciar sesión. Cualquiera de los dos fallos puede ocurrir mientras Claude Code todavía se está conectando o más tarde, cuando renueva las credenciales.
1128 1134
1129Cuando Claude Code le pide al servicio de inicio de sesión que actualice tu inicio de sesión guardado y no obtiene respuesta, mantiene Remote Control en funcionamiento e intenta la actualización nuevamente mientras la credencial actual de la conexión sigue siendo válida. Una actualización no obtiene respuesta cuando Claude Code no puede alcanzar el servicio de inicio de sesión, la solicitud se agota el tiempo de espera, o el servicio falla sin rechazar tu inicio de sesión. Si el servicio de inicio de sesión aún no está respondiendo cuando esa credencial expira, Claude Code detiene Remote Control e informa `OAuth token refresh failed`.1135Cuando Claude Code pide al servicio de inicio de sesión que renueve tu inicio de sesión guardado y no obtiene respuesta, mantiene Remote Control en ejecución y vuelve a intentar la renovación mientras la credencial actual de la conexión siga siendo válida. Una renovación no obtiene respuesta cuando Claude Code no puede llegar al servicio de inicio de sesión, se agota el tiempo de espera de la solicitud o el servicio falla sin rechazar tu inicio de sesión. Si el servicio de inicio de sesión sigue sin responder cuando esa credencial expira, Claude Code detiene Remote Control e informa `OAuth token refresh failed`.
1130 1136
1131Cuando Claude Code detiene Remote Control, muestra la razón en una advertencia y en una línea de transcripción que comienza con `Remote Control disconnected`. Tu sesión local sigue ejecutándose sin Remote Control. Esta sección cubre estas líneas:1137Cuando Claude Code detiene Remote Control, muestra el motivo en una advertencia y en una línea de la transcripción que empieza con `Remote Control disconnected`. Tu sesión local sigue ejecutándose sin Remote Control. Esta sección cubre estas líneas:
1132 1138
1133```text theme={null}1139```text theme={null}
1134Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control1140Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control
1140Remote Control disconnected — Signed out of Claude — run /login, then /remote-control1146Remote Control disconnected — Signed out of Claude — run /login, then /remote-control
1141```1147```
1142 1148
1143Claude Code nombra la causa en el medio del mensaje:1149Claude Code indica la causa en la parte central del mensaje:
1144 1150
1145* `Claude.ai login expired` y `Claude.ai login was rejected`: claude.ai ya no acepta tu token de inicio de sesión guardado, porque expiró o fue revocado1151* `Claude.ai login expired` y `Claude.ai login was rejected`: claude.ai ya no acepta tu token de inicio de sesión guardado, porque expiró o fue revocado
1146* `OAuth token unavailable`: Claude Code no tenía un token de inicio de sesión guardado cuando la credencial de la conexión vencía para renovación1152* `OAuth token unavailable`: Claude Code no tenía ningún token de inicio de sesión guardado cuando llegó el momento de renovar la credencial de la conexión
1147* `OAuth token refresh failed`: claude.ai rechazó tu token de inicio de sesión guardado mientras Claude Code se estaba reconectando, y actualizar el token no produjo uno nuevo1153* `OAuth token refresh failed`: claude.ai rechazó tu token de inicio de sesión guardado mientras Claude Code se reconectaba, y la renovación del token no produjo uno nuevo
1148* `JWT refresh failed: no OAuth token`: Claude Code no encontró un token de inicio de sesión guardado para renovar1154* `JWT refresh failed: no OAuth token`: Claude Code no encontró ningún token de inicio de sesión guardado con el que renovar
1149* `Signed out of Claude`: cerraste sesión en esta máquina, por ejemplo ejecutando `/logout` en otra terminal, por lo que Claude Code no tiene inicio de sesión guardado para renovar la conexión1155* `Signed out of Claude`: cerraste sesión en esta máquina, por ejemplo, ejecutando `/logout` en otra terminal, así que Claude Code no tiene ningún inicio de sesión guardado con el que renovar la conexión
1150 1156
1151**Qué hacer:**1157**Qué hacer:**
1152 1158
1153* Ejecuta `/login` para iniciar sesión nuevamente1159* Ejecuta `/login` para volver a iniciar sesión
1154* Ejecuta `/remote-control` para reconectar la sesión. Los mensajes que terminan `run /login to restore Remote Control` no necesitan este paso: Claude Code se reconecta automáticamente una vez que inicias sesión.1160* Ejecuta `/remote-control` para reconectar la sesión. Los mensajes que terminan en `run /login to restore Remote Control` no necesitan este paso: Claude Code se reconecta por sí solo en cuanto inicias sesión.
1155 1161
1156Antes de v2.1.224, `OAuth token refresh failed — run /login to re-authenticate` decía `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, y `JWT refresh failed: no OAuth token — run /login` decía `no OAuth token available for recovery (code <N>)`. Los mensajes `Claude.ai login expired`, `Claude.ai login was rejected`, y `OAuth token unavailable` se agregaron en v2.1.225.1162Antes de v2.1.224, `OAuth token refresh failed — run /login to re-authenticate` decía `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, y `JWT refresh failed: no OAuth token — run /login` decía `no OAuth token available for recovery (code <N>)`. Los mensajes `Claude.ai login expired`, `Claude.ai login was rejected` y `OAuth token unavailable` se añadieron en v2.1.225.
1157 1163
1158Antes de v2.1.238, Claude Code reportaba los casos que ahora dicen `Signed out of Claude` como `JWT refresh failed: no OAuth token — run /login`, y detenía Remote Control con `Claude.ai login expired — run /login to restore Remote Control` tan pronto como una actualización de inicio de sesión no obtuviera respuesta.1164Antes de v2.1.238, Claude Code informaba los casos que ahora dicen `Signed out of Claude` como `JWT refresh failed: no OAuth token — run /login`, y detenía Remote Control con `Claude.ai login expired — run /login to restore Remote Control` en cuanto una renovación del inicio de sesión no obtenía respuesta.
1159 1165
1160<h3 id="remote-control-stopped-because-the-signed-in-account-changed">1166<h3 id="remote-control-stopped-because-the-signed-in-account-changed">
1161 Remote Control se detuvo porque la cuenta con la que iniciaste sesión cambió1167 Remote Control se detuvo porque cambió la cuenta con sesión iniciada
1162</h3>1168</h3>
1163 1169
1164Claude Code muestra esta línea durante una sesión [Remote Control](/docs/es/remote-control) cuando inicias sesión en una cuenta de claude.ai u organización diferente en esta máquina. Hiciste el cambio fuera de la sesión de Claude Code, por ejemplo ejecutando `/login` en otra terminal.1170Claude Code muestra esta línea durante una sesión de [Remote Control](/docs/es/remote-control) cuando inicias sesión en una cuenta u organización de claude.ai diferente en esta máquina. Hiciste el cambio fuera de la sesión de Claude Code, por ejemplo, ejecutando `/login` en otra terminal.
1165 1171
1166Una sesión de Remote Control que iniciaste mientras estabas conectado a través de `/login` pertenece a la cuenta de claude.ai y organización que estaban conectadas en ese momento.1172Una sesión de Remote Control que iniciaste mientras tenías la sesión iniciada mediante `/login` pertenece a la cuenta y organización de claude.ai que tenían la sesión iniciada en ese momento.
1167 1173
1168```text theme={null}1174```text theme={null}
1169Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control1175Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control
1170```1176```
1171 1177
1172Claude Code detiene la sesión de Remote Control tan pronto como claude.ai confirma que la cuenta u organización cambió. Tu sesión local sigue ejecutándose sin Remote Control.1178Claude Code detiene la sesión de Remote Control en cuanto claude.ai confirma que la cuenta u organización cambió. Tu sesión local sigue ejecutándose sin Remote Control.
1173 1179
1174**Qué hacer:**1180**Qué hacer:**
1175 1181
1176* Ejecuta `/remote-control` para iniciar una nueva sesión de Remote Control bajo la cuenta u organización actual1182* Ejecuta `/remote-control` para iniciar una nueva sesión de Remote Control con la cuenta u organización actual
1177* Para cambiar atrás, ejecuta `/login` e inicia sesión en la cuenta u organización anterior nuevamente. Luego ejecuta `/remote-control`.1183* Para volver a la anterior, ejecuta `/login` e inicia sesión de nuevo en la cuenta u organización anterior. Luego ejecuta `/remote-control`.
1178 1184
1179Antes de v2.1.234, Claude Code no notaba cuando cambiabas a una cuenta u organización diferente fuera de la sesión de Claude Code. Claude Code mantenía la sesión de Remote Control conectada hasta que una solicitud posterior al servidor de Remote Control fallaba con `Remote Control server rejected the request (HTTP 404)`. Ese fallo podría venir horas después del cambio.1185Antes de v2.1.234, Claude Code no detectaba cuándo cambiabas a una cuenta u organización diferente fuera de la sesión de Claude Code. Claude Code mantenía conectada la sesión de Remote Control hasta que una solicitud posterior al servidor de Remote Control fallaba con `Remote Control server rejected the request (HTTP 404)`. Ese fallo podía producirse horas después del cambio.
1180 1186
1181<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">1187<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">
1182 Remote Control se detuvo porque la aplicación que ejecuta la sesión cerró sesión o cambió de cuenta1188 Remote Control se detuvo porque la aplicación que ejecuta la sesión cerró sesión o cambió de cuenta
1183</h3>1189</h3>
1184 1190
1185Cuando la aplicación de escritorio de Claude o un IDE aloja tu sesión, Claude Code obtiene su token de inicio de sesión de esa aplicación en lugar de `/login`. Cuando claude.ai rechaza ese token, Claude Code le pide a la aplicación uno nuevo. Si la aplicación responde que está cerrada, o que ahora está conectada a una cuenta de Claude diferente, Claude Code termina la sesión [Remote Control](/docs/es/remote-control) y envía a la aplicación una de estas líneas:1191Cuando la aplicación de escritorio de Claude o un IDE aloja tu sesión, Claude Code obtiene su token de inicio de sesión de esa aplicación en lugar de `/login`. Cuando claude.ai rechaza ese token, Claude Code pide uno nuevo a la aplicación. Si la aplicación responde que cerró sesión, o que ahora tiene la sesión iniciada en una cuenta de Claude diferente, Claude Code finaliza la sesión de [Remote Control](/docs/es/remote-control) y envía a la aplicación una de estas líneas:
1186 1192
1187```text theme={null}1193```text theme={null}
1188Remote Control stopped — the app running this session is now signed in to a different Claude account1194Remote Control stopped — the app running this session is now signed in to a different Claude account
1193 1199
1194**Qué hacer:**1200**Qué hacer:**
1195 1201
1196* Si la aplicación está cerrada, inicia sesión en ella nuevamente, luego activa Remote Control nuevamente en la aplicación1202* Si la aplicación cerró sesión, vuelve a iniciar sesión en ella y luego vuelve a activar Remote Control en la aplicación
1197* Si la aplicación cambió de cuenta, Claude Code no puede continuar la sesión terminada bajo la nueva cuenta. Inicia una nueva sesión de Remote Control bajo esa cuenta.1203* Si la aplicación cambió de cuenta, Claude Code no puede continuar la sesión finalizada con la nueva cuenta. Inicia una nueva sesión de Remote Control con esa cuenta.
1198 1204
1199Antes de v2.1.238, Claude Code enviaba a la aplicación los mensajes `run /login` enumerados en [Remote Control no pudo actualizar tu inicio de sesión](#remote-control-couldnt-refresh-your-login) en ambos casos.1205Antes de v2.1.238, Claude Code enviaba a la aplicación los mensajes `run /login` indicados en [Remote Control no pudo renovar tu inicio de sesión](#remote-control-couldnt-refresh-your-login) en ambos casos.
1200 1206
1201<h3 id="oauth-token-revoked-or-expired">1207<h3 id="oauth-token-revoked-or-expired">
1202 Token OAuth revocado o expirado1208 Token de OAuth revocado o expirado
1203</h3>1209</h3>
1204 1210
1205Tu inicio de sesión guardado ya no es válido. Un token revocado significa que cerraste sesión en todas partes o un administrador eliminó el acceso; un token expirado significa que la actualización automática falló a mitad de sesión.1211Tu inicio de sesión guardado ya no es válido. Un token revocado significa que cerraste sesión en todas partes o que un administrador quitó el acceso; un token expirado significa que la renovación automática falló a mitad de la sesión.
1206 1212
1207Ambos mensajes reportan un rechazo que la API devolvió para una solicitud que Claude Code envió. Cuando el inicio de sesión guardado ya ha sido borrado después de una actualización fallida, ves [Inicio de sesión expirado](#login-expired) en su lugar. Si te autenticas con un token de larga duración en [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars), ves los mismos mensajes cuando ese token expira o es revocado.1213Ambos mensajes informan un rechazo que la API devolvió para una solicitud que envió Claude Code. Cuando el inicio de sesión guardado ya se borró tras una renovación fallida, ves [Inicio de sesión expirado](#login-expired) en su lugar. Si te autenticas con un token de larga duración en [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars), ves los mismos mensajes cuando ese token expira o es revocado.
1208 1214
1209```text theme={null}1215```text theme={null}
1210OAuth token revoked · Please run /login1216OAuth token revoked · Please run /login
1213 1219
1214**Qué hacer:**1220**Qué hacer:**
1215 1221
1216* Ejecuta `/login` para iniciar sesión nuevamente1222* Ejecuta `/login` para volver a iniciar sesión
1217* Si te autenticas con la variable de entorno `CLAUDE_CODE_OAUTH_TOKEN`, Claude Code sigue enviando el valor que configuraste después de que una solicitud falla con un 401, en lugar de cambiar al token de un inicio de sesión guardado. [`/status`](/docs/es/commands) muestra esta credencial como una fila `Auth token` que dice `CLAUDE_CODE_OAUTH_TOKEN`. Genera un token nuevo con [`claude setup-token`](/docs/es/authentication#generate-a-long-lived-token) y reinicia con él, o desactiva la variable y ejecuta `/login`. Antes de v2.1.225, Claude Code podría reemplazar el valor de la variable a mitad de sesión con el token de acceso de corta duración de un inicio de sesión guardado, y la sesión falló con errores 401 nuevamente una vez que ese token expiró.1223* Si te autenticas con la variable de entorno `CLAUDE_CODE_OAUTH_TOKEN`, Claude Code sigue enviando el valor que definiste después de que una solicitud falle con un 401, en lugar de cambiar al token de un inicio de sesión almacenado. [`/status`](/docs/es/commands) muestra esta credencial como una fila `Auth token` que dice `CLAUDE_CODE_OAUTH_TOKEN`. Genera un token nuevo con [`claude setup-token`](/docs/es/authentication#generate-a-long-lived-token) y reinicia con él, o elimina la definición de la variable y ejecuta `/login`. Antes de v2.1.225, Claude Code podía reemplazar el valor de la variable a mitad de la sesión con el token de acceso de corta duración de un inicio de sesión almacenado, y la sesión volvía a fallar con errores 401 una vez que ese token expiraba.
1218* Para solicitudes repetidas de inicio de sesión entre lanzamientos, consulta las verificaciones del reloj del sistema y los pasos de recuperación del almacenamiento de credenciales de macOS en [Solución de problemas](/docs/es/troubleshoot-install#not-logged-in-or-token-expired)1224* Si se te pide iniciar sesión repetidamente en distintos arranques, consulta las comprobaciones del reloj del sistema y los pasos de recuperación del almacenamiento de credenciales de macOS en [Solución de problemas](/docs/es/troubleshoot-install#not-logged-in-or-token-expired)
1219* Para otros fallos incluyendo `403 Forbidden` y problemas del navegador OAuth, consulta [Inicio de sesión y autenticación](/docs/es/troubleshoot-install#login-and-authentication)1225* Para otros fallos, incluidos `403 Forbidden` y problemas de OAuth en el navegador, consulta [Inicio de sesión y autenticación](/docs/es/troubleshoot-install#login-and-authentication)
1220 1226
1221<h3 id="api-error-401-invalid-authentication-credentials">1227<h3 id="api-error-401-invalid-authentication-credentials">
1222 Error de API: 401 Credenciales de autenticación inválidas1228 API Error: 401 Invalid authentication credentials
1223</h3>1229</h3>
1224 1230
1225La API reconoció el formato de tu credencial pero rechazó la cuenta u organización detrás de ella. Anthropic devuelve este mensaje cuando una credencial fue revocada recientemente, cuando una organización fue deshabilitada o eliminó tu acceso, o cuando la cuenta misma fue desactivada, por lo que un token expirado no es la causa. La credencial puede ser tu inicio de sesión guardado o un `ANTHROPIC_API_KEY` aprobado, y la solución difiere, así que comienza ejecutando `/status` para ver cuál está activo.1231La API reconoció el formato de tu credencial, pero rechazó la cuenta u organización que la respalda. Anthropic devuelve este mensaje cuando una credencial se revocó recientemente, cuando una organización se deshabilitó o eliminó tu acceso, o cuando la propia cuenta se desactivó, así que la causa no es un token expirado. La credencial puede ser tu inicio de sesión guardado o una `ANTHROPIC_API_KEY` aprobada, y la solución es distinta, así que empieza por ejecutar `/status` para ver cuál está activa.
1226 1232
1227```text theme={null}1233```text theme={null}
1228Please run /login · API Error: 401 Invalid authentication credentials1234Please run /login · API Error: 401 Invalid authentication credentials
1230 1236
1231**Qué hacer:**1237**Qué hacer:**
1232 1238
1233* Si `/status` muestra una fila `API key` que no está marcada como no en uso, un [`ANTHROPIC_API_KEY`](/docs/es/authentication#authentication-precedence) aprobado es la credencial activa y toma precedencia sobre tu inicio de sesión, por lo que `/login` no lo reemplaza. Rota la clave en la Consola de Claude, o recurre a tu suscripción ejecutando `unset ANTHROPIC_API_KEY`, o en PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`.1239* Si `/status` muestra una fila `API key` que no está marcada como no en uso, una [`ANTHROPIC_API_KEY`](/docs/es/authentication#authentication-precedence) aprobada es la credencial activa y tiene precedencia sobre tu inicio de sesión, así que `/login` no la reemplaza. Rota la clave en la Claude Console, o recurre a tu suscripción ejecutando `unset ANTHROPIC_API_KEY`, o en PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`.
1234* Si `/status` muestra solo tu inicio de sesión, ejecuta `/login` una vez. Si la credencial fue revocada, un inicio de sesión nuevo la reemplaza.1240* Si `/status` muestra solo tu inicio de sesión, ejecuta `/login` una vez. Si la credencial fue revocada, un inicio de sesión nuevo la reemplaza.
1235* Si el mismo mensaje regresa para la misma cuenta de inicio de sesión, la cuenta u organización ya no está activa. Verifica la cuenta y organización que `/status` reporta, y pide al administrador de tu organización que restaure el acceso.1241* Si el mismo mensaje vuelve para la misma cuenta de inicio de sesión, la cuenta u organización ya no está activa. Revisa la cuenta y la organización que informa `/status`, y pide al administrador de tu organización que restablezca el acceso.
1236* Si [`ANTHROPIC_BASE_URL`](/docs/es/env-vars) apunta a una [puerta de enlace LLM](/docs/es/llm-gateway), el texto después de `401` es el mensaje de tu puerta de enlace en lugar del de Anthropic, y `/login` no lo cambia. Corrige la credencial que tu puerta de enlace espera en su lugar.1242* Si [`ANTHROPIC_BASE_URL`](/docs/es/env-vars) apunta a un [gateway de LLM](/docs/es/llm-gateway), el texto después de `401` es el mensaje de tu gateway y no el de Anthropic, y `/login` no lo cambia. En su lugar, corrige la credencial que espera tu gateway.
1237 1243
1238<h3 id="login-expired">1244<h3 id="login-expired">
1239 Inicio de sesión expirado1245 Inicio de sesión expirado
1240</h3>1246</h3>
1241 1247
1242Claude Code intentó renovar tu inicio de sesión guardado de claude.ai y el servicio OAuth rechazó el token de actualización almacenado, por lo que Claude Code borró las credenciales guardadas. Después de eso, cada solicitud de modelo se detiene localmente con este mensaje antes de llegar a la API, porque solo `/login` puede crear nuevas credenciales.1248Claude Code intentó renovar tu inicio de sesión de claude.ai guardado y el servicio de OAuth rechazó el token de actualización almacenado, así que Claude Code borró las credenciales guardadas. Después de eso, cada solicitud al modelo se detiene localmente con este mensaje antes de llegar a la API, porque solo `/login` puede crear credenciales nuevas.
1243 1249
1244Antes de v2.1.206, Claude Code enviaba la solicitud de modelo de todas formas con cualquier credencial que permaneciera en el entorno, y cada modelo fallaba con [Hay un problema con el modelo seleccionado](#theres-an-issue-with-the-selected-model) o un 401 en lugar de un aviso para iniciar sesión.1250Antes de v2.1.206, Claude Code enviaba de todos modos la solicitud al modelo con la credencial que quedara en el entorno, y entonces todos los modelos fallaban con [Hay un problema con el modelo seleccionado](#theres-an-issue-with-the-selected-model) o un 401 en lugar de pedirte que iniciaras sesión.
1245 1251
1246```text theme={null}1252```text theme={null}
1247Login expired · Please run /login1253Login expired · Please run /login
1248```1254```
1249 1255
1250En [modo no interactivo](/docs/es/headless) (`-p`) y [Agent SDK](/docs/es/agent-sdk/overview), el mensaje se lee de la siguiente manera, y el código de error estructurado es `authentication_failed`:1256En [modo no interactivo](/docs/es/headless) (`-p`) y en el [Agent SDK](/docs/es/agent-sdk/overview), el mensaje dice lo siguiente, y el código de error estructurado es `authentication_failed`:
1251 1257
1252```text theme={null}1258```text theme={null}
1253Failed to authenticate: OAuth session expired and could not be refreshed1259Failed to authenticate: OAuth session expired and could not be refreshed
1254```1260```
1255 1261
1256Este no es el mismo estado que [Token OAuth revocado o expirado](#oauth-token-revoked-or-expired). Esos mensajes reportan un rechazo que la API devolvió. Claude Code mismo produce `Login expired` para un inicio de sesión que ya falló al renovar, por lo que no envía solicitud. Cuando la renovación falla porque la cuenta misma está suspendida en lugar de que el inicio de sesión sea antiguo, Claude Code muestra [Tu cuenta está en espera](#your-account-is-on-hold) en su lugar.1262Este no es el mismo estado que [Token de OAuth revocado o expirado](#oauth-token-revoked-or-expired). Esos mensajes informan un rechazo que devolvió la API. El propio Claude Code produce `Login expired` para un inicio de sesión que ya no pudo renovar, así que no envía ninguna solicitud. Cuando la renovación falla porque la propia cuenta está suspendida y no porque el inicio de sesión esté obsoleto, Claude Code muestra [Tu cuenta está en espera](#your-account-is-on-hold) en su lugar.
1257 1263
1258Las sesiones autenticadas con una clave API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars), o un proveedor de terceros no usan el inicio de sesión guardado y nunca ven este mensaje.1264Las sesiones autenticadas con una clave de API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars) o un proveedor de terceros no usan el inicio de sesión guardado y nunca ven este mensaje.
1259 1265
1260Puedes verificar este estado antes de que una solicitud falle: [`/status`](/docs/es/commands) muestra una fila `Login` que dice `Expired — log in again`, más la organización y correo electrónico que tiene guardados para el inicio de sesión expirado. La fila aparece solo cuando el inicio de sesión guardado es tu credencial activa y ya no se puede renovar. Las sesiones autenticadas de otra manera no muestran la fila, incluso si un inicio de sesión expirado permanece guardado. Antes de v2.1.210, `/status` no daba indicación en este estado de que un inicio de sesión hubiera existido alguna vez, porque la credencial borrada no le dejaba nada para reportar.1266Puedes comprobar este estado antes de que falle una solicitud: [`/status`](/docs/es/commands) muestra una fila `Login` que dice `Expired — log in again`, además de la organización y el correo electrónico que tiene guardados para el inicio de sesión expirado. La fila aparece solo cuando el inicio de sesión guardado es tu credencial activa y ya no se puede renovar. Las sesiones autenticadas de otra forma no muestran la fila, aunque siga guardado un inicio de sesión expirado. Antes de v2.1.210, `/status` no daba ninguna indicación en este estado de que alguna vez hubiera existido un inicio de sesión, porque la credencial borrada no le dejaba nada que informar.
1261 1267
1262**Qué hacer:**1268**Qué hacer:**
1263 1269
1264* Ejecuta `/login` para iniciar sesión nuevamente. Reintentar sin iniciar sesión muestra el mismo mensaje en cada solicitud.1270* Ejecuta `/login` para volver a iniciar sesión. Reintentar sin iniciar sesión muestra el mismo mensaje en cada solicitud.
1265* En modo no interactivo, ejecuta `claude` en el mismo entorno, completa `/login`, luego reejecutar tu comando. Para automatización que no puede iniciar sesión interactivamente, auténticate con `ANTHROPIC_API_KEY` o [genera un token de larga duración con `claude setup-token`](/docs/es/authentication#generate-a-long-lived-token).1271* Si inicias sesión con tu cuenta de claude.ai en otra ventana de Claude Code, consulta [No has iniciado sesión](#not-logged-in) para saber cuándo esta sesión empieza a usar ese inicio de sesión por sí sola.
1266* Si iniciar sesión sigue fallando, consulta [Inicio de sesión y autenticación](/docs/es/troubleshoot-install#login-and-authentication)1272* En modo no interactivo, ejecuta `claude` en el mismo entorno, completa `/login` y luego vuelve a ejecutar tu comando. Para automatización que no puede iniciar sesión de forma interactiva, autentícate con `ANTHROPIC_API_KEY` o [genera un token de larga duración con `claude setup-token`](/docs/es/authentication#generate-a-long-lived-token).
1273* Si el inicio de sesión sigue fallando, consulta [Inicio de sesión y autenticación](/docs/es/troubleshoot-install#login-and-authentication)
1267 1274
1268<h3 id="could-not-refresh-your-login">1275<h3 id="could-not-refresh-your-login">
1269 No se pudo actualizar tu inicio de sesión porque otro proceso de Claude Code lo está actualizando1276 No se pudo renovar tu inicio de sesión porque otro proceso de Claude Code lo está renovando
1270</h3>1277</h3>
1271 1278
1272Este mensaje no significa que tu inicio de sesión fue rechazado. Tu inicio de sesión guardado de claude.ai había expirado y necesitaba renovación. Otro proceso de Claude Code en la misma máquina mantenía el bloqueo de actualización compartida, o salió y lo dejó atrás, y la actualización no hizo progreso mientras esta sesión esperaba. Claude Code detiene la solicitud antes de enviarla:1279Este mensaje no significa que tu inicio de sesión haya sido rechazado. Tu inicio de sesión de claude.ai guardado había expirado y necesitaba renovarse. Otro proceso de Claude Code en la misma máquina tenía el bloqueo de renovación compartido, o terminó y lo dejó sin liberar, y la renovación no avanzó mientras esta sesión esperaba. Claude Code detiene la solicitud antes de enviarla:
1273 1280
1274```text theme={null}1281```text theme={null}
1275Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login1282Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login
1276```1283```
1277 1284
1278En [modo no interactivo](/docs/es/headless) (`-p`) y [Agent SDK](/docs/es/agent-sdk/overview), el mensaje se lee de la siguiente manera, y el código de error estructurado es `server_error`:1285En [modo no interactivo](/docs/es/headless) (`-p`) y en el [Agent SDK](/docs/es/agent-sdk/overview), el mensaje dice lo siguiente, y el código de error estructurado es `server_error`:
1279 1286
1280```text theme={null}1287```text theme={null}
1281Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again1288Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again
1282```1289```
1283 1290
1284Las sesiones autenticadas con una clave API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars), o un proveedor de terceros no usan el inicio de sesión guardado y nunca ven este mensaje.1291Las sesiones autenticadas con una clave de API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars) o un proveedor de terceros no usan el inicio de sesión guardado y nunca ven este mensaje.
1285 1292
1286**Qué hacer:**1293**Qué hacer:**
1287 1294
1288* Intenta nuevamente en un minuto. Si otro proceso completa la actualización primero, esta sesión usa el inicio de sesión renovado.1295* Vuelve a intentarlo en un minuto. Si otro proceso completa primero la renovación, esta sesión usa el inicio de sesión renovado.
1289* Si el mensaje sigue regresando, cierra otras ventanas y procesos de Claude Code, luego reintenta.1296* Si el mensaje sigue apareciendo, cierra las demás ventanas y procesos de Claude Code y vuelve a intentarlo.
1290* Si regresa sin otro proceso de Claude Code ejecutándose, ejecuta `/login`. Iniciar sesión nuevamente no espera en el bloqueo de actualización.1297* Si aparece sin que haya ningún otro proceso de Claude Code en ejecución, ejecuta `/login`. Volver a iniciar sesión no espera al bloqueo de renovación.
1291 1298
1292<h3 id="couldnt-save-your-login">1299<h3 id="couldnt-save-your-login">
1293 No se pudo guardar tu inicio de sesión1300 No se pudo guardar tu inicio de sesión
1294</h3>1301</h3>
1295 1302
1296Iniciaste sesión con claude.ai, pero Claude Code no pudo guardar el inicio de sesión en su almacén de credenciales, por lo que el inicio de sesión no se completó. En macOS esto puede suceder cuando el llavero de inicio de sesión se bloquea, por ejemplo en suspensión o inactividad, después de que Claude Code ya haya leído o guardado credenciales en él durante la misma sesión.1303Iniciaste sesión con claude.ai, pero Claude Code no pudo guardar el inicio de sesión en su almacén de credenciales, así que el inicio de sesión no se completó. En macOS, esto puede ocurrir cuando el llavero de inicio de sesión se bloquea, por ejemplo, al entrar en reposo o por inactividad, después de que Claude Code ya haya leído o guardado credenciales en él durante la misma sesión.
1297 1304
1298```text theme={null}1305```text theme={null}
1299Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.1306Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.
1300Couldn't save your login. Try logging in again.1307Couldn't save your login. Try logging in again.
1301```1308```
1302 1309
1303La primera forma aparece en macOS y la segunda en todas partes. Un fallo transitorio del almacén de credenciales, como un tiempo de espera o un almacén ilegible, produce el mismo mensaje.1310La primera forma aparece en macOS y la segunda en todas las demás plataformas. Un fallo transitorio del almacén de credenciales, como que se agote el tiempo de espera o un almacén ilegible, produce el mismo mensaje.
1304 1311
1305**Qué hacer:**1312**Qué hacer:**
1306 1313
1307* En macOS, desbloquea el llavero de inicio de sesión, luego ejecuta `/login` nuevamente1314* En macOS, desbloquea el llavero de inicio de sesión y luego vuelve a ejecutar `/login`
1308* En otras plataformas, ejecuta `/login` nuevamente1315* En otras plataformas, vuelve a ejecutar `/login`
1309* Si el inicio de sesión aún no se guarda, consulta [No iniciaste sesión o token expirado](/docs/es/troubleshoot-install#not-logged-in-or-token-expired) para el comando de desbloqueo del llavero y otros pasos de recuperación del almacenamiento de credenciales1316* Si el inicio de sesión sigue sin guardarse, consulta [No has iniciado sesión o el token expiró](/docs/es/troubleshoot-install#not-logged-in-or-token-expired) para ver el comando para desbloquear el llavero y otros pasos de recuperación del almacenamiento de credenciales
1310 1317
1311<h3 id="failed-to-start-oauth-callback-server">1318<h3 id="failed-to-start-oauth-callback-server">
1312 Falló al iniciar el servidor de devolución de llamada OAuth1319 No se pudo iniciar el servidor de callback de OAuth
1313</h3>1320</h3>
1314 1321
1315Cuando `/login`, `claude auth login`, o `claude setup-token` te inicia sesión a través del navegador, Claude Code abre un puerto de escucha en `127.0.0.1` para que tu navegador pueda devolver el resultado del inicio de sesión. Este mensaje significa que Claude Code no pudo abrir ese puerto, y el inicio de sesión se detiene antes de que aparezca una ventana del navegador o URL de inicio de sesión:1322Cuando `/login`, `claude auth login` o `claude setup-token` te inicia sesión a través del navegador, Claude Code abre un puerto de escucha en `127.0.0.1` para que tu navegador pueda devolverle el resultado del inicio de sesión. Este mensaje significa que Claude Code no pudo abrir ese puerto, y el inicio de sesión se detiene antes de que aparezca una ventana del navegador o una URL de inicio de sesión:
1316 1323
1317```text theme={null}1324```text theme={null}
1318Failed to start OAuth callback server: Failed to start server. Is port 0 in use?1325Failed to start OAuth callback server: Failed to start server. Is port 0 in use?
1319```1326```
1320 1327
1321Si tu mensaje termina con `Is port 0 in use?`, el intento de escuchar en la dirección de loopback IPv4 `127.0.0.1` falló completamente. Porque el fallo sucede antes de que exista una URL de inicio de sesión, el flujo `Paste code here if prompted` no está disponible como solución alternativa.1328Si tu mensaje termina con `Is port 0 in use?`, el intento de escuchar en la dirección de loopback IPv4 `127.0.0.1` falló directamente. Como el fallo ocurre antes de que exista una URL de inicio de sesión, el flujo `Paste code here if prompted` no está disponible como solución alternativa.
1322 1329
1323**Qué hacer:**1330**Qué hacer:**
1324 1331
1325* Para iniciar sesión ahora sin el oyente local: si usas una suscripción de claude.ai, ejecuta [`claude setup-token`](/docs/es/authentication#generate-a-long-lived-token) en una máquina donde el inicio de sesión funciona y configura el token que imprime como `CLAUDE_CODE_OAUTH_TOKEN` en esta máquina. De lo contrario, configura `ANTHROPIC_API_KEY` con una clave de la [Consola de Claude](https://platform.claude.com/settings/keys). [Precedencia de autenticación](/docs/es/authentication#authentication-precedence) explica cómo Claude Code elige entre credenciales.1332* Para iniciar sesión de inmediato sin el listener local: si usas una suscripción de claude.ai, ejecuta [`claude setup-token`](/docs/es/authentication#generate-a-long-lived-token) en una máquina donde el inicio de sesión funcione y define el token que imprime como `CLAUDE_CODE_OAUTH_TOKEN` en esta máquina. De lo contrario, define `ANTHROPIC_API_KEY` con una clave de la [Claude Console](https://platform.claude.com/settings/keys). [Precedencia de autenticación](/docs/es/authentication#authentication-precedence) explica cómo elige Claude Code entre credenciales.
1326* Para usar el inicio de sesión del navegador en esta máquina en su lugar, Claude Code debe poder escuchar en `127.0.0.1`. Si se ejecuta dentro de una sandbox, verifica que la política de la sandbox permita escuchar en puertos locales, luego ejecuta `/login` nuevamente. Si debería poder y aún falla, ejecuta `/feedback` para que el informe incluya los detalles de tu entorno.1333* Para usar en su lugar el inicio de sesión por navegador en esta máquina, Claude Code debe poder escuchar en `127.0.0.1`. Si se ejecuta dentro de un sandbox, comprueba que la política del sandbox permita escuchar en puertos locales y luego vuelve a ejecutar `/login`. Si debería poder hacerlo y sigue fallando, ejecuta `/feedback` para que el informe incluya los detalles de tu entorno.
1327 1334
1328<h3 id="claude-login-not-accepted">1335<h3 id="claude-login-not-accepted">
1329 Inicio de sesión de Claude no aceptado1336 Inicio de sesión de Claude no aceptado
1330</h3>1337</h3>
1331 1338
1332Intentaste iniciar una [sesión en la nube](/docs/es/claude-code-on-the-web), y el servidor se negó a crearla con un 401: no aceptó el inicio de sesión de Claude que esta máquina envió, generalmente porque el inicio de sesión expiró o fue revocado.1339Intentaste iniciar una [sesión en la nube](/docs/es/claude-code-on-the-web), y el servidor se negó a crearla con un 401: no aceptó el inicio de sesión de Claude que envió esta máquina, normalmente porque el inicio de sesión expiró o fue revocado.
1333 1340
1334La primera parte de la línea es la razón propia del servidor cuando da una. De lo contrario, la línea se lee:1341La primera parte de la línea es el propio motivo del servidor cuando lo proporciona. De lo contrario, la línea dice:
1335 1342
1336```text theme={null}1343```text theme={null}
1337Claude login not accepted · Run /login, then try again1344Claude login not accepted · Run /login, then try again
1339 1346
1340**Qué hacer:**1347**Qué hacer:**
1341 1348
1342* Ejecuta `/login`, completa el inicio de sesión, luego inicia la sesión nuevamente1349* Ejecuta `/login`, completa el inicio de sesión y luego vuelve a iniciar la sesión
1343 1350
1344<h3 id="artifacts-need-a-claude-ai-login">1351<h3 id="artifacts-need-a-claude-ai-login">
1345 Los artefactos necesitan un inicio de sesión de claude.ai1352 Los artefactos necesitan un inicio de sesión de claude.ai
1346</h3>1353</h3>
1347 1354
1348Claude Code rechazó una publicación o lectura de [artefactos](/docs/es/artifacts) porque la sesión no tiene un inicio de sesión de claude.ai que pueda usar para artefactos.1355Claude Code rechazó la publicación o lectura de un [artefacto](/docs/es/artifacts) porque la sesión no tiene ningún inicio de sesión de claude.ai que pueda usar para artefactos.
1349 1356
1350Cada forma del mensaje comienza con las mismas palabras, seguidas de un remedio que depende de cómo tu sesión se autentica. Sin credencial competidora se lee:1357Todas las formas del mensaje empiezan con las mismas palabras, seguidas de una solución que depende de cómo se autentica tu sesión. Sin ninguna credencial en competencia, dice:
1351 1358
1352```text theme={null}1359```text theme={null}
1353Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.1360Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.
1356**Qué hacer:**1363**Qué hacer:**
1357 1364
1358* Ejecuta `/login` y selecciona **Claude account with subscription**. La opción **Anthropic Console account** no proporciona credenciales de claude.ai.1365* Ejecuta `/login` y selecciona **Claude account with subscription**. La opción **Anthropic Console account** no proporciona credenciales de claude.ai.
1359* Cuando el mensaje nombra una credencial que toma precedencia, como `ANTHROPIC_API_KEY`, una configuración `apiKeyHelper`, o una clave de Console guardada por un `/login` anterior, elimínalo de la manera que el mensaje dice, luego ejecuta `/login`1366* Cuando el mensaje menciona una credencial que tiene precedencia, como `ANTHROPIC_API_KEY`, un ajuste `apiKeyHelper` o una clave de Console guardada por un `/login` anterior, quítala de la forma que indica el mensaje y luego ejecuta `/login`
1360* Cuando el mensaje dice que esta sesión remota se autentica a través de la máquina que la lanzó, inicia sesión en claude.ai en esa máquina, luego reconecta la sesión1367* Cuando el mensaje dice que esta sesión remota se autentica a través de la máquina que la inició, inicia sesión en claude.ai en esa máquina y luego vuelve a conectar la sesión
1361* Cuando el mensaje dice que la credencial es inyectada por el entorno anfitrión de la sesión, no puedes cambiarla en esa sesión; inicia una sesión que esté conectada a claude.ai1368* Cuando el mensaje dice que la credencial la inyecta el entorno anfitrión de la sesión, no puedes cambiarla en esa sesión; inicia una sesión que tenga la sesión iniciada en claude.ai
1362* Consulta [Disponibilidad](/docs/es/artifacts#availability) para los otros requisitos que los artefactos tienen, como plan, proveedor de modelo y política de organización1369* Consulta [Disponibilidad](/docs/es/artifacts#availability) para ver los demás requisitos de los artefactos, como el plan, el proveedor del modelo y la política de la organización
1363 1370
1364<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1371<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">
1365 La política del administrador requiere un inicio de sesión de puerta de enlace en la nube1372 La política del administrador requiere iniciar sesión en el Cloud gateway
1366</h3>1373</h3>
1367 1374
1368La [configuración administrada](/docs/es/managed-settings) de un administrador en esta máquina configuró [`forceLoginMethod`](/docs/es/settings-reference#forceloginmethod) a `"gateway"` o configuró [`forceLoginGatewayUrl`](/docs/es/settings-reference#forcelogingatewayurl). A menos que selecciones un proveedor en la nube a través de una variable como `CLAUDE_CODE_USE_BEDROCK`, Claude Code entonces acepta solo el inicio de sesión de [puerta de enlace de aplicaciones de Claude](/docs/es/claude-apps-gateway). Ves uno de dos mensajes:1375La [configuración administrada](/docs/es/managed-settings) de un administrador en esta máquina establece [`forceLoginMethod`](/docs/es/settings-reference#forceloginmethod) en `"gateway"` o define [`forceLoginGatewayUrl`](/docs/es/settings-reference#forcelogingatewayurl). A menos que selecciones un proveedor de nube mediante una variable como `CLAUDE_CODE_USE_BEDROCK`, Claude Code acepta entonces solo el inicio de sesión del [gateway de aplicaciones de Claude](/docs/es/claude-apps-gateway). Ves uno de dos mensajes:
1369 1376
1370```text theme={null}1377```text theme={null}
1371Not signed in to the Cloud gateway — run /login.1378Not signed in to the Cloud gateway — run /login.
1372```1379```
1373 1380
1374Las solicitudes de modelo fallan con este mensaje cuando la sesión no tiene un inicio de sesión de puerta de enlace, por ejemplo porque no has ejecutado `/login` desde que la política llegó a la máquina.1381Las solicitudes al modelo fallan con este mensaje cuando la sesión no tiene un inicio de sesión en el gateway, por ejemplo, porque no has ejecutado `/login` desde que la política llegó a la máquina.
1375 1382
1376Si la máquina también contiene una credencial emitida por Anthropic y la configuración administrada establece `forceLoginMethod` o `forceLoginOrgUUID`, Claude Code sale al iniciar en su lugar. Esa credencial puede ser una variable `ANTHROPIC_API_KEY` o `ANTHROPIC_AUTH_TOKEN`, una configuración `apiKeyHelper`, o una clave API guardada por un inicio de sesión anterior de Claude Console. El mensaje comienza:1383Si la máquina también tiene una credencial emitida por Anthropic y la configuración administrada establece `forceLoginMethod` o `forceLoginOrgUUID`, Claude Code termina al iniciar en su lugar. Esa credencial puede ser una variable `ANTHROPIC_API_KEY` o `ANTHROPIC_AUTH_TOKEN`, un ajuste `apiKeyHelper` o una clave de API guardada por un inicio de sesión anterior en Claude Console. El mensaje empieza así:
1377 1384
1378```text theme={null}1385```text theme={null}
1379Administrator policy requires a Cloud gateway sign-in on this machine; the1386Administrator policy requires a Cloud gateway sign-in on this machine; the
1384**Qué hacer:**1391**Qué hacer:**
1385 1392
1386* Ejecuta `/login` y completa el inicio de sesión en la pantalla **Cloud gateway**1393* Ejecuta `/login` y completa el inicio de sesión en la pantalla **Cloud gateway**
1387* Para el mensaje de inicio, elimina la configuración `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, o `apiKeyHelper` que configuraste. Para eliminar una clave API de Console guardada, ejecuta `claude auth logout`, que también elimina un inicio de sesión guardado de claude.ai. Si seleccionas un proveedor en la nube con `CLAUDE_CODE_USE_*`, la sesión entonces comienza sin inicio de sesión. De lo contrario, inicia `claude` y ejecuta `/login`1394* Para el mensaje de inicio, quita el ajuste `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` o `apiKeyHelper` que configuraste. Para quitar una clave de API de Console guardada, ejecuta `claude auth logout`, que también quita un inicio de sesión de claude.ai guardado. Si seleccionas un proveedor de nube con `CLAUDE_CODE_USE_*`, la sesión se inicia entonces sin ningún inicio de sesión. De lo contrario, inicia `claude` y ejecuta `/login`
1388* Si crees que la máquina no debería requerir la puerta de enlace, pide al administrador que la administra que elimine `forceLoginMethod` y `forceLoginGatewayUrl` de su configuración administrada1395* Si crees que la máquina no debería requerir el gateway, pide al administrador que la gestiona que quite `forceLoginMethod` y `forceLoginGatewayUrl` de su configuración administrada
1389 1396
1390En v2.1.265, una regresión también mostró el primer mensaje en algunas configuraciones de puerta de enlace LLM y proxy que se autentican con una clave API, `apiKeyHelper`, o encabezados personalizados, incluso sin requisito de administrador en la máquina. Actualiza a v2.1.266 o posterior. No necesitas cambiar tu configuración.1397En v2.1.265, una regresión también mostraba el primer mensaje en algunas configuraciones de gateway de LLM y proxy que se autentican con una clave de API, `apiKeyHelper` o encabezados personalizados, incluso sin ningún requisito del administrador en la máquina. Actualiza a v2.1.266 o posterior. No necesitas cambiar tu configuración.
1391 1398
1392Antes de v2.1.261, en máquinas que establecen `forceLoginMethod` a `"gateway"`, Claude Code usaba un inicio de sesión guardado restante en lugar de fallar solicitudes de modelo, e informaba una credencial de entorno configurada con `This machine's managed settings require a first-party login` en lugar del mensaje de inicio. Antes de v2.1.265, una máquina cuya configuración administrada establecía solo `forceLoginGatewayUrl` no requería el inicio de sesión de puerta de enlace, y Claude Code usaba una credencial restante allí.1399Antes de v2.1.261, en máquinas que establecían `forceLoginMethod` en `"gateway"`, Claude Code usaba un inicio de sesión guardado que quedara en lugar de hacer fallar las solicitudes al modelo, e informaba una credencial de entorno configurada con `This machine's managed settings require a first-party login` en lugar del mensaje de inicio. Antes de v2.1.265, una máquina cuya configuración administrada definía solo `forceLoginGatewayUrl` no requería el inicio de sesión en el gateway, y Claude Code usaba ahí una credencial que quedara.
1393 1400
1394<h3 id="your-account-is-on-hold">1401<h3 id="your-account-is-on-hold">
1395 Tu cuenta está en espera1402 Tu cuenta está en espera
1396</h3>1403</h3>
1397 1404
1398La cuenta de Claude detrás de tu inicio de sesión ha sido suspendida. Claude Code muestra el primer mensaje cuando intenta renovar tu inicio de sesión guardado y se entera de la suspensión, y el segundo cuando un inicio de sesión que completas en el navegador lo reporta:1405La cuenta de Claude asociada a tu inicio de sesión fue suspendida. Claude Code muestra el primer mensaje cuando intenta renovar tu inicio de sesión guardado y se entera de la suspensión, y el segundo cuando un inicio de sesión que completas en el navegador la informa:
1399 1406
1400```text theme={null}1407```text theme={null}
1401Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted1408Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted
1402Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted1409Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted
1403```1410```
1404 1411
1405Iniciar sesión nuevamente con la misma cuenta no borra el mensaje, porque la suspensión está en la cuenta en lugar del inicio de sesión. En [modo no interactivo](/docs/es/headless) (`-p`) y [Agent SDK](/docs/es/agent-sdk/overview), el código de error estructurado es `account_on_hold`. Antes de v2.1.235, Claude Code reportaba una cuenta suspendida como [Inicio de sesión expirado · Please run /login](#login-expired), cuyos pasos de recuperación no pueden borrar una suspensión.1412Volver a iniciar sesión con la misma cuenta no elimina el mensaje, porque la suspensión afecta a la cuenta y no al inicio de sesión. En [modo no interactivo](/docs/es/headless) (`-p`) y en el [Agent SDK](/docs/es/agent-sdk/overview), el código de error estructurado es `account_on_hold`. Antes de v2.1.235, Claude Code informaba una cuenta en espera como [Login expired · Please run /login](#login-expired), cuyos pasos de recuperación no pueden eliminar una suspensión.
1406 1413
1407**Qué hacer:**1414**Qué hacer:**
1408 1415
1409* Abre el enlace en el mensaje para ver los detalles de la suspensión o apelarla1416* Abre el enlace del mensaje para ver los detalles de la suspensión o apelarla
1410* Si tienes otra cuenta de Claude o una clave API que no está afectada por la suspensión, puedes seguir trabajando mientras se resuelve la suspensión: ejecuta `/login` con esa cuenta, o configura la clave con `ANTHROPIC_API_KEY`1417* Si tienes otra cuenta de Claude o una clave de API que no esté afectada por la suspensión, puedes seguir trabajando mientras se resuelve: ejecuta `/login` con esa cuenta, o define la clave con `ANTHROPIC_API_KEY`
1411 1418
1412<h3 id="anthropic-profile-login-expired">1419<h3 id="anthropic-profile-login-expired">
1413 Inicio de sesión de perfil de Anthropic expirado1420 El inicio de sesión del perfil de Anthropic expiró
1414</h3>1421</h3>
1415 1422
1416Claude Code se está autenticando a través de un perfil de credencial de Anthropic cuya credencial de inicio de sesión guardada ha expirado, y el perfil no contiene una credencial de actualización que Claude Code pueda usar para renovarla. Claude Code detiene cada solicitud localmente sin reintentar, porque un reintento leería la misma credencial expirada.1423Claude Code se está autenticando mediante un perfil de credenciales de Anthropic cuya credencial de inicio de sesión guardada expiró, y el perfil no contiene ninguna credencial de actualización que Claude Code pueda usar para renovarla. Claude Code detiene cada solicitud localmente sin reintentar, porque un reintento leería la misma credencial expirada.
1417 1424
1418```text theme={null}1425```text theme={null}
1419Anthropic profile login expired · Re-authenticate your Anthropic profile1426Anthropic profile login expired · Re-authenticate your Anthropic profile
1420Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile1427Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile
1421```1428```
1422 1429
1423Esto aparece solo cuando la credencial activa proviene de un perfil de credencial de Anthropic, uno que seleccionas con la variable de entorno `ANTHROPIC_PROFILE`, que Claude Code descubre como el perfil activo en tu directorio de configuración de Anthropic, o que Claude Code escribió cuando [iniciaste sesión sin una clave API](/docs/es/authentication#sign-in-without-an-api-key). Las sesiones que se autentican con una clave API, un token de portador como `ANTHROPIC_AUTH_TOKEN`, o un proveedor de terceros nunca ven este mensaje.1430Esto aparece solo cuando la credencial activa proviene de un perfil de credenciales de Anthropic: uno que seleccionas con la variable de entorno `ANTHROPIC_PROFILE`, que Claude Code descubre como el perfil activo en tu directorio de configuración de Anthropic, o que Claude Code escribió cuando [iniciaste sesión sin una clave de API](/docs/es/authentication#sign-in-without-an-api-key). Las sesiones que se autentican con una clave de API, un token bearer como `ANTHROPIC_AUTH_TOKEN` o un proveedor de terceros nunca ven este mensaje.
1424 1431
1425En una máquina que [ofrece el inicio de sesión sin clave](/docs/es/authentication#sign-in-without-an-api-key), ejecuta `/login`, elige la cuenta de Anthropic Console, e inicia sesión nuevamente para renovar un perfil que el inicio de sesión sin clave de Console o el CLI de Claude Platform `ant auth login` escribió. Claude Code reemplaza la credencial expirada en ese perfil. Para un perfil de federación u otro que creó una herramienta, `/login` no renueva la credencial. Qué forma ves depende de si seleccionaste el perfil o Claude Code lo descubrió:1432En una máquina que [ofrece el inicio de sesión sin clave](/docs/es/authentication#sign-in-without-an-api-key), ejecuta `/login`, elige la cuenta de Anthropic Console y vuelve a iniciar sesión para renovar un perfil que escribió el inicio de sesión sin clave de Console o el `ant auth login` de la Claude Platform CLI. Claude Code reemplaza la credencial expirada en ese perfil. Para un perfil de federación o uno creado por otra herramienta, `/login` no renueva la credencial. La forma que ves depende de si seleccionaste el perfil o si Claude Code lo descubrió:
1426 1433
1427* Cuando estableces `ANTHROPIC_PROFILE` explícitamente, el mensaje termina con `Re-authenticate your Anthropic profile`.1434* Cuando defines `ANTHROPIC_PROFILE` explícitamente, el mensaje termina con `Re-authenticate your Anthropic profile`.
1428* Cuando Claude Code descubrió el perfil de tu directorio de configuración, el mensaje ofrece `/login`, porque Claude Code da precedencia a un `/login` que funciona sobre el perfil descubierto y luego se autentica con tu cuenta de claude.ai o Console en su lugar. Antes de v2.1.234, Claude Code mostraba el formulario `Re-authenticate your Anthropic profile` en este caso también.1435* Cuando Claude Code descubrió el perfil desde tu directorio de configuración, el mensaje ofrece `/login`, porque Claude Code da a un `/login` que funcione precedencia sobre el perfil descubierto y entonces se autentica con tu cuenta de claude.ai o de Console en su lugar. Antes de v2.1.234, Claude Code también mostraba la forma `Re-authenticate your Anthropic profile` en este caso.
1429 1436
1430**Qué hacer:**1437**Qué hacer:**
1431 1438
1432* Inicia sesión en el perfil nuevamente, luego reintenta: en una máquina que [ofrece el inicio de sesión sin clave](/docs/es/authentication#sign-in-without-an-api-key), ejecuta `/login` y elige la cuenta de Anthropic Console para un perfil que el inicio de sesión sin clave de Console o el CLI de Claude Platform `ant auth login` escribió; para otros perfiles, usa la herramienta que los creó1439* Vuelve a iniciar sesión en el perfil y luego reintenta: en una máquina que [ofrece el inicio de sesión sin clave](/docs/es/authentication#sign-in-without-an-api-key), ejecuta `/login` y elige la cuenta de Anthropic Console para un perfil que escribió el inicio de sesión sin clave de Console o el `ant auth login` de la Claude Platform CLI; para otros perfiles, usa la herramienta que los creó
1433* Si un administrador aprovisionó la credencial del perfil, pídele que emita una nueva1440* Si un administrador aprovisionó la credencial del perfil, pídele que emita una nueva
1434* Ejecuta `/status` para confirmar la fuente de credencial activa y el nombre del perfil1441* Ejecuta `/status` para confirmar la fuente de credenciales activa y el nombre del perfil
1435* Para dejar de usar el perfil, desactiva `ANTHROPIC_PROFILE` si lo estableciste, luego auténticate de otra manera, como `/login` o `ANTHROPIC_API_KEY`1442* Para dejar de usar el perfil, elimina la definición de `ANTHROPIC_PROFILE` si la definiste y luego autentícate de otra forma, como `/login` o `ANTHROPIC_API_KEY`
1436 1443
1437<h3 id="oauth-scope-requirement">1444<h3 id="oauth-scope-requirement">
1438 Requisito de alcance OAuth1445 Requisito de alcance de OAuth
1439</h3>1446</h3>
1440 1447
1441El token almacenado es anterior a un alcance de permiso que una característica más nueva necesita:1448El token almacenado es anterior a un alcance de permisos que necesita una función más reciente:
1442 1449
1443```text theme={null}1450```text theme={null}
1444OAuth token does not meet scope requirement: user:profile1451OAuth token does not meet scope requirement: user:profile
1452 claude.ai rechazó el token de sesión1459 claude.ai rechazó el token de sesión
1453</h3>1460</h3>
1454 1461
1455Una solicitud de [conector de claude.ai](/docs/es/mcp#use-mcp-servers-from-claude-ai) falló porque claude.ai rechazó el token de tu inicio de sesión de Claude Code. El token rechazado es tu inicio de sesión, no la autorización propia del conector en claude.ai, por lo que autorizar el conector nuevamente no lo resuelve. En `/mcp`, el conector se muestra como `session token rejected` y su vista de detalle se lee:1462Una solicitud de un [conector de claude.ai](/docs/es/mcp#use-mcp-servers-from-claude-ai) falló porque claude.ai rechazó el token de tu inicio de sesión de Claude Code. El token rechazado es tu inicio de sesión, no la autorización propia del conector en claude.ai, así que volver a autorizar el conector no lo resuelve. En `/mcp`, el conector aparece como `session token rejected` y su vista de detalle dice:
1456 1463
1457```text theme={null}1464```text theme={null}
1458claude.ai rejected the session token. Run /login, then reconnect.1465claude.ai rejected the session token. Run /login, then reconnect.
1460 1467
1461**Qué hacer:**1468**Qué hacer:**
1462 1469
1463* Ejecuta `/login` para iniciar sesión nuevamente1470* Ejecuta `/login` para volver a iniciar sesión
1464* Reconecta el conector desde `/mcp`, o ejecuta `/mcp reconnect <server>`. Reconectar antes de iniciar sesión nuevamente deja el conector en el mismo estado. La opción **Reconnect** del panel `/mcp` reporta `your claude.ai session token was rejected`; el formulario `/mcp reconnect <server>` escrito reporta una reconexión exitosa incluso aunque el token aún sea rechazado.1471* Vuelve a conectar el conector desde `/mcp`, o ejecuta `/mcp reconnect <server>`. Reconectar antes de volver a iniciar sesión deja el conector en el mismo estado. La opción **Reconnect** del panel `/mcp` informa `your claude.ai session token was rejected`; la forma escrita `/mcp reconnect <server>` informa una reconexión correcta aunque el token siga rechazado.
1465 1472
1466Antes de v2.1.222, Claude Code marcaba el conector como necesitando autenticación en su lugar, lo que te apuntaba al flujo de autorización del conector incluso aunque completarlo no resolviera el estado.1473Antes de v2.1.222, Claude Code marcaba el conector como que necesitaba autenticación, lo que te dirigía al flujo de autorización del conector aunque completarlo no resolvía el estado.
1467 1474
1468<h3 id="mcp-server-needs-you-to-sign-in-again">1475<h3 id="mcp-server-needs-you-to-sign-in-again">
1469 El servidor MCP necesita que inicies sesión nuevamente1476 El servidor MCP necesita que vuelvas a iniciar sesión
1470</h3>1477</h3>
1471 1478
1472Un [servidor MCP](/docs/es/mcp) remoto rechazó la credencial en una llamada de herramienta a mitad de sesión, generalmente porque un inicio de sesión o token expiró o porque el token carece de un permiso que la herramienta necesita. La llamada de herramienta falla, y `/mcp` marca el servidor como [necesitando autenticación](/docs/es/mcp#authenticate-with-remote-mcp-servers).1479Un [servidor MCP](/docs/es/mcp) remoto rechazó la credencial en una llamada a herramienta a mitad de la sesión, normalmente porque un inicio de sesión o un token expiró o porque el token carece de un permiso que la herramienta necesita. La llamada a herramienta falla, y `/mcp` marca el servidor como [que necesita autenticación](/docs/es/mcp#authenticate-with-remote-mcp-servers).
1473 1480
1474Para un servidor en el que inicias sesión desde Claude Code, incluyendo un conector de claude.ai, el inicio de sesión expiró o fue revocado:1481Para un servidor en el que inicias sesión desde Claude Code, incluido un conector de claude.ai, el inicio de sesión expiró o fue revocado:
1475 1482
1476```text theme={null}1483```text theme={null}
1477MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)1484MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)
1478```1485```
1479 1486
1480Ejecuta `/mcp`, selecciona el servidor, e inicia sesión nuevamente desde su menú.1487Ejecuta `/mcp`, selecciona el servidor y vuelve a iniciar sesión desde su menú.
1481 1488
1482Para un servidor configurado con un script [`headersHelper`](/docs/es/mcp#use-dynamic-headers-for-custom-authentication), Claude Code ya ha vuelto a ejecutar el helper e reintentado la llamada una vez antes de mostrar esto:1489Para un servidor configurado con un script [`headersHelper`](/docs/es/mcp#use-dynamic-headers-for-custom-authentication), Claude Code ya volvió a ejecutar el helper y reintentó la llamada una vez antes de mostrar esto:
1483 1490
1484```text theme={null}1491```text theme={null}
1485MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)1492MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)
1486```1493```
1487 1494
1488Verifica que el helper devuelva una credencial que el servidor acepte, luego reconecta desde `/mcp`, que vuelve a ejecutar el helper.1495Comprueba que el helper devuelva una credencial que el servidor acepte y luego vuelve a conectar desde `/mcp`, que ejecuta el helper de nuevo.
1489 1496
1490Para un servidor con un encabezado `Authorization` estático en su configuración:1497Para un servidor con un encabezado `Authorization` estático en su configuración:
1491 1498
1493MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)1500MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)
1494```1501```
1495 1502
1496Actualiza el valor del encabezado donde el servidor está configurado, luego reconecta desde `/mcp`.1503Actualiza el valor del encabezado donde está configurado el servidor y luego vuelve a conectar desde `/mcp`.
1497 1504
1498Antes de v2.1.273, los casos de inicio de sesión expirado, `headersHelper`, y encabezado `Authorization` todos mostraban `MCP server "<name>" requires re-authorization (token expired)`.1505Antes de v2.1.273, los casos de inicio de sesión expirado, `headersHelper` y encabezado `Authorization` mostraban todos `MCP server "<name>" requires re-authorization (token expired)`.
1499 1506
1500Un servidor también puede rechazar una llamada de herramienta con HTTP 403 `insufficient_scope` para pedirte que autorices un alcance, a veces uno que tu token ya enumera. El mensaje nombra ese alcance:1507Un servidor también puede rechazar una llamada a herramienta con HTTP 403 `insufficient_scope` para pedirte que autorices un alcance, a veces uno que tu token ya incluye. El mensaje nombra ese alcance:
1501 1508
1502```text theme={null}1509```text theme={null}
1503MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate1510MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate
1504```1511```
1505 1512
1506Ejecuta `/mcp`, selecciona el servidor, y auténticate nuevamente desde su menú.1513Ejecuta `/mcp`, selecciona el servidor y vuelve a autenticarte desde su menú.
1507 1514
1508Cuando la configuración del servidor no establece ni [`oauth.scopes`](/docs/es/mcp#restrict-oauth-scopes) ni [`authServerMetadataUrl`](/docs/es/mcp#override-oauth-metadata-discovery), Claude Code solicita el alcance que el servidor nombró. Con cualquiera de las dos configuraciones, Claude Code solicita los alcances de esa configuración en su lugar. Si fijaste `oauth.scopes`, agrega el alcance faltante a esa lista antes de autenticarte nuevamente.1515Cuando la configuración del servidor no define ni [`oauth.scopes`](/docs/es/mcp#restrict-oauth-scopes) ni [`authServerMetadataUrl`](/docs/es/mcp#override-oauth-metadata-discovery), Claude Code solicita el alcance que nombró el servidor. Con cualquiera de los dos ajustes, Claude Code solicita en su lugar los alcances de ese ajuste. Si fijaste `oauth.scopes`, añade el alcance que falta a esa lista antes de volver a autenticarte.
1509 1516
1510Antes de v2.1.274, este caso mostraba el mensaje `needs you to sign in again`, y antes de v2.1.273 mostraba `requires re-authorization (token expired)` como los otros casos.1517Antes de v2.1.274, este caso mostraba el mensaje `needs you to sign in again`, y antes de v2.1.273 mostraba `requires re-authorization (token expired)` como los demás casos.
1511 1518
1512<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">1519<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">
1513 URL del servidor MCP faltante o no válida1520 Falta la URL del servidor MCP o no es una URL válida
1514</h3>1521</h3>
1515 1522
1516Claude Code se negó a iniciar un inicio de sesión OAuth para un servidor MCP remoto porque la `url` configurada del servidor no se analiza como una URL. A menos que Claude Code tenga un problema de configuración más específico para reportar para el servidor, ejecutar [`claude mcp login <name>`](/docs/es/mcp#authenticate-from-the-command-line) en tu shell imprime el rechazo como:1523Claude Code se negó a iniciar un inicio de sesión de OAuth para un servidor MCP remoto porque la `url` configurada del servidor no se puede analizar como una URL. A menos que Claude Code tenga un problema de configuración más específico que informar para el servidor, ejecutar [`claude mcp login <name>`](/docs/es/mcp#authenticate-from-the-command-line) en tu shell imprime el rechazo así:
1517 1524
1518```text theme={null}1525```text theme={null}
1519Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.1526Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.
1521 1528
1522**Qué hacer:**1529**Qué hacer:**
1523 1530
1524* Configura la entrada `url` al punto final real del servidor donde el servidor está configurado, o configura la variable de entorno que su referencia [`${VAR}`](/docs/es/mcp#environment-variable-expansion-in-mcp-json) nombra, luego ejecuta el inicio de sesión nuevamente.1531* Define la `url` de la entrada con el endpoint real del servidor donde está configurado el servidor, o define la variable de entorno que nombra su [referencia `${VAR}`](/docs/es/mcp#environment-variable-expansion-in-mcp-json), y luego vuelve a ejecutar el inicio de sesión.
1525 1532
1526<h3 id="issuer-mismatch-in-authorization-response">1533<h3 id="issuer-mismatch-in-authorization-response">
1527 Desajuste de emisor en la respuesta de autorización1534 Discrepancia del emisor en la respuesta de autorización
1528</h3>1535</h3>
1529 1536
1530Durante un [inicio de sesión OAuth de MCP](/docs/es/mcp#authenticate-with-remote-mcp-servers), el servidor de autorización redirigió de vuelta a Claude Code con un parámetro `iss` que no nombra al emisor que Claude Code esperaba de los metadatos OAuth del servidor. Un emisor incorrecto en este paso es cómo se ve un ataque de mezcla de servidor de autorización, por lo que Claude Code falla el inicio de sesión en lugar de intercambiar el código de autorización. Claude Code muestra el error en el menú del servidor `/mcp` después del inicio de sesión del navegador:1537Durante un [inicio de sesión de OAuth de MCP](/docs/es/mcp#authenticate-with-remote-mcp-servers), el servidor de autorización redirigió de vuelta a Claude Code con un parámetro `iss` que no nombra el emisor que Claude Code esperaba según los metadatos de OAuth del servidor. Un emisor incorrecto en este paso es el aspecto que tiene un ataque de confusión (mix-up) del servidor de autorización, así que Claude Code hace fallar el inicio de sesión en lugar de intercambiar el código de autorización. Claude Code muestra el error en el menú del servidor de `/mcp` después del inicio de sesión en el navegador:
1531 1538
1532```text theme={null}1539```text theme={null}
1533Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"1540Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"
1534```1541```
1535 1542
1536`expected` es el emisor de los metadatos OAuth del servidor, y `received` es el valor `iss` que el redireccionamiento llevaba. Un inicio de sesión cuyo redireccionamiento no lleva parámetro `iss` pasa la verificación, a menos que los metadatos del servidor establezcan `authorization_response_iss_parameter_supported`, en cuyo caso Claude Code falla el inicio de sesión.1543`expected` es el emisor de los metadatos de OAuth del servidor, y `received` es el valor `iss` que llevaba la redirección. Un inicio de sesión cuya redirección no lleva ningún parámetro `iss` supera la comprobación, a menos que los metadatos del servidor definan `authorization_response_iss_parameter_supported`, en cuyo caso Claude Code hace fallar el inicio de sesión.
1537 1544
1538**Qué hacer:**1545**Qué hacer:**
1539 1546
1540* Intenta el inicio de sesión nuevamente desde `/mcp`1547* Vuelve a intentar el inicio de sesión desde `/mcp`
1541* Si el error se repite, repórtalo al operador del servidor. La solución es del lado del servidor: el servidor de autorización debe devolver el mismo emisor en el parámetro `iss` que anuncia en sus metadatos1548* Si el error se repite, infórmalo al operador del servidor. La solución es del lado del servidor: el servidor de autorización debe devolver en el parámetro `iss` el mismo emisor que anuncia en sus metadatos
1542* Para conectar mientras el servidor se está arreglando, inicia Claude Code con [`MCP_SDK_GENERATION=v1`](/docs/es/env-vars), cuyo [tiempo de ejecución](/docs/es/mcp#mcp-client-runtimes) no ejecuta esta verificación. Esto elimina una protección contra ataques de mezcla, así que prefiere la solución del lado del servidor1549* Para conectarte mientras se corrige el servidor, inicia Claude Code con [`MCP_SDK_GENERATION=v1`](/docs/es/env-vars), cuyo [runtime](/docs/es/mcp#mcp-client-runtimes) no realiza esta comprobación. Esto elimina una protección contra los ataques de confusión, así que es preferible la solución del lado del servidor
1543 1550
1544Antes de v2.1.232, Claude Code usaba el tiempo de ejecución v2 solo en un lanzamiento gradual o cuando establecías `MCP_SDK_GENERATION=v2`.1551Antes de v2.1.232, Claude Code usaba el runtime v2 solo en un despliegue gradual o cuando definías `MCP_SDK_GENERATION=v2`.
1545 1552
1546<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">1553<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">
1547 Negarse a enviar credenciales a punto final de token no HTTPS1554 Se rechaza enviar credenciales a un endpoint de token que no es https
1548</h3>1555</h3>
1549 1556
1550En el [tiempo de ejecución v2](/docs/es/mcp#mcp-client-runtimes), Claude Code envía una solicitud de token [OAuth de MCP](/docs/es/mcp#authenticate-with-remote-mcp-servers) solo a un punto final de token servido sobre HTTPS o en `localhost`, `127.0.0.1`, o `::1`. Este mensaje significa que el punto final de token del servidor no es ninguno de estos, por lo que Claude Code se detuvo antes de enviar la solicitud. Eso sucede después del inicio de sesión del navegador, por lo que el paso del navegador tiene éxito primero, y nuevamente cada vez que Claude Code actualiza el token del servidor.1557En el [runtime v2](/docs/es/mcp#mcp-client-runtimes), Claude Code envía una solicitud de token de [OAuth de MCP](/docs/es/mcp#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 ninguno de ellos, 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.
1551 1558
1552En su forma completa, el mensaje viene del SDK de MCP y cita el punto final de token que rechazó. En el registro de depuración, sigue `Error during auth completion:` para un inicio de sesión o `Token refresh failed:` para una actualización. En tu shell, `claude mcp login <name>` lo imprime después de `Couldn't complete authentication for "<name>":`, y en una sesión, `/mcp` lo muestra bajo el menú del servidor:1559En su forma completa, el mensaje proviene del MCP SDK y cita el endpoint de token que rechazó. En el registro de depuración, sigue a `Error during auth completion:` para un inicio de sesión o a `Token refresh failed:` para una renovación. En tu shell, `claude mcp login <name>` lo imprime después de `Couldn't complete authentication for "<name>":`, y en una sesión, `/mcp` lo muestra en el menú del servidor:
1553 1560
1554```text theme={null}1561```text theme={null}
1555Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).1562Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).
1556```1563```
1557 1564
1558Claude Code trata una URL de servidor que tiene una cadena de consulta o un segmento de ruta largo que parece aleatorio como posiblemente secreto. Para tal servidor, redacta los errores de inicio de sesión que el SDK de MCP genera antes de mostrarlos o registrarlos. Este error entonces se lee como un nombre corto que puede cambiar entre versiones, como `io`, seguido de `from the MCP SDK for` y la URL del servidor redactada. Otros errores del SDK de MCP toman la misma forma allí. El mensaje redactado puede ser este error solo cuando el punto final de token del servidor es `http://` simple en una dirección que no sea `localhost`, `127.0.0.1`, o `::1`.1565Claude Code trata como posiblemente secreta una URL de servidor que tiene una cadena de consulta o un segmento de ruta largo con aspecto aleatorio. Para un servidor así, oculta los errores de inicio de sesión que genera el MCP SDK antes de mostrarlos o registrarlos. Este error se lee entonces como un nombre corto que puede cambiar entre versiones, como `io`, seguido de `from the MCP SDK for` y la URL del servidor ocultada. Otros errores del MCP SDK adoptan ahí la misma forma. El mensaje ocultado solo puede ser este error cuando el endpoint de token del servidor es `http://` simple en una dirección distinta de `localhost`, `127.0.0.1` o `::1`.
1559 1566
1560**Qué hacer:**1567**Qué hacer:**
1561 1568
1562* Sirve ese punto final de token sobre HTTPS, por ejemplo poniendo el servidor detrás de un proxy inverso o túnel que termina TLS y configurando el servidor para anunciar la dirección `https://`1569* Sirve ese endpoint de token por HTTPS, por ejemplo, colocando el servidor detrás de un proxy inverso o túnel que termine TLS y configurando el servidor para que anuncie la dirección `https://`
1563* Para conectar sin cambiar el servidor, inicia Claude Code con [`MCP_SDK_GENERATION=v1`](/docs/es/env-vars), cuyo [tiempo de ejecución](/docs/es/mcp#mcp-client-runtimes) no aplica esta regla y envía la solicitud de token sobre HTTP simple. Esa opción dura hasta que salgas y se aplica a cada servidor. El tiempo de ejecución v1 también omite la [verificación de emisor](#issuer-mismatch-in-authorization-response), así que prefiere servir el punto final sobre HTTPS1570* Para conectarte sin cambiar el servidor, inicia Claude Code con [`MCP_SDK_GENERATION=v1`](/docs/es/env-vars), cuyo [runtime](/docs/es/mcp#mcp-client-runtimes) no aplica esta regla y envía la solicitud de token por HTTP simple. Esa elección dura hasta que salgas y se aplica a todos los servidores. El runtime v1 también omite la [comprobación del emisor](#issuer-mismatch-in-authorization-response), así que es preferible servir el endpoint por HTTPS
1564 1571
1565<h3 id="aws-credentials-expired-or-invalid">1572<h3 id="aws-credentials-expired-or-invalid">
1566 Las credenciales de AWS expiraron o son inválidas1573 Credenciales de AWS expiradas o no válidas
1567</h3>1574</h3>
1568 1575
1569Tu token de sesión de AWS expiró o fue rechazado. Este mensaje aparece en un 401 de [Claude Platform en AWS](/docs/es/claude-platform-on-aws) o el [punto final de Mantle](/docs/es/amazon-bedrock#use-the-mantle-endpoint), que es cómo esos proveedores reportan un token de seguridad expirado.1576Tu token de sesión de AWS expiró o fue rechazado. Este mensaje aparece ante un 401 de [Claude Platform on AWS](/docs/es/claude-platform-on-aws) o del [endpoint de Mantle](/docs/es/amazon-bedrock#use-the-mantle-endpoint), que es como esos proveedores informan un token de seguridad expirado.
1570 1577
1571La sugerencia de acción en el medio varía con tu configuración. La parte estable es el `AWS credentials expired or invalid` inicial:1578La sugerencia de acción en la parte central varía según tu configuración. La parte estable es el comienzo `AWS credentials expired or invalid`:
1572 1579
1573```text theme={null}1580```text theme={null}
1574AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...1581AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...
1578 1585
1579**Qué hacer:**1586**Qué hacer:**
1580 1587
1581* Si la sugerencia dice que las credenciales son administradas por este entorno, la aplicación que lanzó Claude Code es propietaria de la credencial y los otros pasos aquí no aplican: reintenta, o contacta a tu administrador1588* Si la sugerencia dice que las credenciales las gestiona este entorno, la aplicación que inició Claude Code es la propietaria de la credencial y los demás pasos de aquí no se aplican: reintenta o contacta con tu administrador
1582* Si [`awsAuthRefresh`](/docs/es/amazon-bedrock#advanced-credential-configuration) está configurado, ejecuta el comando nombrado en el mensaje, como `aws sso login --profile myprofile`, en otra terminal y completa el inicio de sesión del navegador, luego reintenta. De lo contrario, actualiza la credencial de AWS que usas tú mismo: tu inicio de sesión SSO, claves de acceso, clave API, o token de proxy1589* Si [`awsAuthRefresh`](/docs/es/amazon-bedrock#advanced-credential-configuration) está definido, ejecuta el comando que nombra el mensaje, como `aws sso login --profile myprofile`, en otra terminal y completa el inicio de sesión en el navegador; luego reintenta. De lo contrario, renueva tú mismo la credencial de AWS que usas: tu inicio de sesión de SSO, claves de acceso, clave de API o token de proxy
1583* Con `awsAuthRefresh` configurado en una sesión interactiva, puedes en su lugar ejecutar `/login`, elegir **3rd-party platform**, luego seleccionar **Claude Platform on AWS · refresh credentials** bajo **Using 3rd-party platforms** para ejecutar el mismo comando sin reiniciar Claude Code. Consulta [Configurar credenciales de AWS](/docs/es/claude-platform-on-aws#1-configure-aws-credentials)1590* Con `awsAuthRefresh` definido en una sesión interactiva, puedes ejecutar en su lugar `/login`, elegir **3rd-party platform** y luego seleccionar **Claude Platform on AWS · refresh credentials** en **Using 3rd-party platforms** para ejecutar el mismo comando sin reiniciar Claude Code. Consulta [Configurar credenciales de AWS](/docs/es/claude-platform-on-aws#1-configure-aws-credentials)
1584* Si el error se repite después de que el comando de actualización tenga éxito, confirma que la identidad es válida fuera de Claude Code con `aws sts get-caller-identity` en el mismo shell y perfil1591* Si el error se repite después de que el comando de renovación se complete correctamente, confirma que la identidad es válida fuera de Claude Code con `aws sts get-caller-identity` en el mismo shell y perfil
1585 1592
1586<h3 id="aws-authentication-failed">1593<h3 id="aws-authentication-failed">
1587 La autenticación de AWS falló1594 Falló la autenticación de AWS
1588</h3>1595</h3>
1589 1596
1590Tu proveedor de AWS devolvió un 403, o [Amazon Bedrock](/docs/es/amazon-bedrock) devolvió un 401.1597Tu proveedor de AWS devolvió un 403, o [Amazon Bedrock](/docs/es/amazon-bedrock) devolvió un 401.
1591 1598
1592Amazon Bedrock reporta un token de seguridad expirado como un 403, pero un 403 también es cómo reporta una negación de autorización, como un `AccessDeniedException` de un permiso IAM faltante. Claude Code no puede distinguir esas dos causas.1599Amazon Bedrock informa un token de seguridad expirado como un 403, pero un 403 también es la forma en que informa una denegación de autorización, como una `AccessDeniedException` por falta de un permiso de IAM. Claude Code no puede distinguir esas dos causas.
1593 1600
1594Un 401 de Amazon Bedrock también llega aquí en lugar de bajo [Las credenciales de AWS expiraron o son inválidas](#aws-credentials-expired-or-invalid), porque Amazon Bedrock no reporta un token expirado como un 401. Un 401 de ese punto final típicamente viene de algo más en la ruta de solicitud, como un proxy corporativo.1601Un 401 de Amazon Bedrock también llega aquí y no a [Credenciales de AWS expiradas o no válidas](#aws-credentials-expired-or-invalid), porque Amazon Bedrock no informa un token expirado como un 401. Un 401 de ese endpoint suele provenir de otra cosa en la ruta de la solicitud, como un proxy corporativo.
1595 1602
1596Una actualización de credencial arregla un token expirado y no puede arreglar las otras causas, por lo que el mensaje ofrece ambas:1603Una renovación de credenciales corrige un token expirado, pero no puede corregir las otras causas, así que el mensaje ofrece ambas cosas:
1597 1604
1598```text theme={null}1605```text theme={null}
1599AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...1606AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...
1600```1607```
1601 1608
1602La sugerencia de acción en el medio varía con tu configuración. La parte estable es el `AWS authentication failed` inicial.1609La sugerencia de acción en la parte central varía según tu configuración. La parte estable es el comienzo `AWS authentication failed`.
1603 1610
1604Cuando el 403 es la respuesta de Amazon Bedrock de que no tienes acceso al modelo con el ID de modelo especificado, la sugerencia en su lugar te dice que habilites el modelo para tu cuenta y región en la consola de Amazon Bedrock.1611Cuando el 403 es la respuesta de Amazon Bedrock de que no tienes acceso al modelo con el ID de modelo especificado, la sugerencia te indica en su lugar que habilites el modelo para tu cuenta y región en la consola de Amazon Bedrock.
1605 1612
1606Antes de v2.1.273, este mensaje aparecía solo cuando `awsAuthRefresh` estaba configurado.1613Antes de v2.1.273, este mensaje aparecía solo cuando `awsAuthRefresh` estaba configurado.
1607 1614
1608**Qué hacer:**1615**Qué hacer:**
1609 1616
1610* Si la sugerencia dice que las credenciales son administradas por este entorno, la aplicación que lanzó Claude Code es propietaria de la credencial y los otros pasos aquí no aplican: reintenta, o contacta a tu administrador1617* Si la sugerencia dice que las credenciales las gestiona este entorno, la aplicación que inició Claude Code es la propietaria de la credencial y los demás pasos de aquí no se aplican: reintenta o contacta con tu administrador
1611* Actualiza tus credenciales de AWS en caso de que una credencial expirada sea la causa: ejecuta el comando [`awsAuthRefresh`](/docs/es/amazon-bedrock#advanced-credential-configuration) nombrado en el mensaje cuando uno está configurado, o actualiza tu inicio de sesión SSO, claves de acceso, clave API, o token de proxy tú mismo1618* Renueva tus credenciales de AWS por si la causa es una credencial expirada: ejecuta el comando [`awsAuthRefresh`](/docs/es/amazon-bedrock#advanced-credential-configuration) que nombra el mensaje cuando haya uno definido, o renueva tú mismo tu inicio de sesión de SSO, claves de acceso, clave de API o token de proxy
1612* Si tus credenciales son actuales, confirma que los permisos de IAM en [Configuración de IAM](/docs/es/amazon-bedrock#iam-configuration) están adjuntos a la identidad que estás usando y que el modelo seleccionado está habilitado para tu cuenta y región1619* Si tus credenciales están vigentes, confirma que los permisos de IAM de [Configuración de IAM](/docs/es/amazon-bedrock#iam-configuration) estén asociados a la identidad que usas y que el modelo seleccionado esté habilitado para tu cuenta y región
1613* Ejecuta `aws sts get-caller-identity` para confirmar qué identidad usan tus solicitudes1620* Ejecuta `aws sts get-caller-identity` para confirmar qué identidad usan tus solicitudes
1614 1621
1615<h3 id="google-cloud-credentials-expired-or-invalid">1622<h3 id="google-cloud-credentials-expired-or-invalid">
1616 Las credenciales de Google Cloud expiraron o son inválidas1623 Credenciales de Google Cloud expiradas o no válidas
1617</h3>1624</h3>
1618 1625
1619Tus credenciales de Google Cloud para [Plataforma de Agentes de Google Cloud](/docs/es/google-vertex-ai) expiraron o fueron rechazadas: la solicitud devolvió un 401, que es cómo Agent Platform reporta la expiración de credenciales.1626Tus credenciales de Google Cloud para [Google Cloud's Agent Platform](/docs/es/google-vertex-ai) expiraron o fueron rechazadas: la solicitud devolvió un 401, que es como Agent Platform informa la expiración de credenciales.
1620 1627
1621La sugerencia de acción en el medio varía con tu configuración. La parte estable es el `Google Cloud credentials expired or invalid` inicial:1628La sugerencia de acción en la parte central varía según tu configuración. La parte estable es el comienzo `Google Cloud credentials expired or invalid`:
1622 1629
1623```text theme={null}1630```text theme={null}
1624Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...1631Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...
1626 1633
1627**Qué hacer:**1634**Qué hacer:**
1628 1635
1629* Si la sugerencia dice que las credenciales son administradas por este entorno, la aplicación que lanzó Claude Code es propietaria de la credencial y los otros pasos aquí no aplican: reintenta, o contacta a tu administrador1636* Si la sugerencia dice que las credenciales las gestiona este entorno, la aplicación que inició Claude Code es la propietaria de la credencial y los demás pasos de aquí no se aplican: reintenta o contacta con tu administrador
1630* Si te autenticas con credenciales predeterminadas de aplicación, ejecuta el comando [`gcpAuthRefresh`](/docs/es/google-vertex-ai#advanced-credential-configuration) nombrado en el mensaje, o `gcloud auth application-default login`, y completa el inicio de sesión, luego reintenta1637* Si te autenticas con las credenciales predeterminadas de la aplicación, ejecuta el comando [`gcpAuthRefresh`](/docs/es/google-vertex-ai#advanced-credential-configuration) que nombra el mensaje, o `gcloud auth application-default login`, y completa el inicio de sesión; luego reintenta
1631* Si enrutas a través de una [puerta de enlace LLM](/docs/es/llm-gateway) con `CLAUDE_CODE_SKIP_VERTEX_AUTH` configurado, actualiza el token de puerta de enlace en `ANTHROPIC_AUTH_TOKEN` o `ANTHROPIC_CUSTOM_HEADERS`, luego reintenta1638* Si enrutas a través de un [gateway de LLM](/docs/es/llm-gateway) con `CLAUDE_CODE_SKIP_VERTEX_AUTH` definida, renueva el token del gateway en `ANTHROPIC_AUTH_TOKEN` o `ANTHROPIC_CUSTOM_HEADERS` y luego reintenta
1632* Si te autenticas con un archivo de clave de cuenta de servicio, confirma que `GOOGLE_APPLICATION_CREDENTIALS` apunta a una clave válida. Consulta [Configurar credenciales de GCP](/docs/es/google-vertex-ai#3-configure-gcp-credentials)1639* Si te autenticas con un archivo de clave de cuenta de servicio, confirma que `GOOGLE_APPLICATION_CREDENTIALS` apunte a una clave válida. Consulta [Configurar credenciales de GCP](/docs/es/google-vertex-ai#3-configure-gcp-credentials)
1633* Si el error se repite después de una actualización, confirma que la identidad funciona fuera de Claude Code con `gcloud auth application-default print-access-token` en el mismo shell1640* Si el error se repite después de una renovación, confirma que la identidad funciona fuera de Claude Code con `gcloud auth application-default print-access-token` en el mismo shell
1634 1641
1635Antes de v2.1.273, un 401 de Agent Platform mostraba el mensaje genérico `Please run /login` o `Failed to authenticate` en su lugar, que no puede actualizar credenciales de Google Cloud.1642Antes de v2.1.273, un 401 de Agent Platform mostraba en su lugar el mensaje genérico `Please run /login` o `Failed to authenticate`, que no puede renovar las credenciales de Google Cloud.
1636 1643
1637<h3 id="google-cloud-authentication-failed">1644<h3 id="google-cloud-authentication-failed">
1638 La autenticación de Google Cloud falló1645 Falló la autenticación de Google Cloud
1639</h3>1646</h3>
1640 1647
1641[Plataforma de Agentes de Google Cloud](/docs/es/google-vertex-ai) devolvió un 403, que usa para negaciones de autorización en lugar de credenciales expiradas. Generalmente la identidad con la que te autenticas carece de un permiso de IAM, o el modelo no está habilitado para tu proyecto.1648[Google Cloud's Agent Platform](/docs/es/google-vertex-ai) devolvió un 403, que usa para denegaciones de autorización y no para credenciales expiradas. Normalmente, a la identidad con la que te autenticas le falta un permiso de IAM, o el modelo no está habilitado para tu proyecto.
1642 1649
1643La sugerencia de acción en el medio varía con tu configuración. La parte estable es el `Google Cloud authentication failed` inicial:1650La sugerencia de acción en la parte central varía según tu configuración. La parte estable es el comienzo `Google Cloud authentication failed`:
1644 1651
1645```text theme={null}1652```text theme={null}
1646Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...1653Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...
1648 1655
1649**Qué hacer:**1656**Qué hacer:**
1650 1657
1651* Si la sugerencia dice que las credenciales son administradas por este entorno, la aplicación que lanzó Claude Code es propietaria de la credencial y los otros pasos aquí no aplican: reintenta, o contacta a tu administrador1658* Si la sugerencia dice que las credenciales las gestiona este entorno, la aplicación que inició Claude Code es la propietaria de la credencial y los demás pasos de aquí no se aplican: reintenta o contacta con tu administrador
1652* Confirma que los roles en [Configuración de IAM](/docs/es/google-vertex-ai#iam-configuration) están otorgados a la identidad con la que te autenticas1659* Confirma que los roles de [Configuración de IAM](/docs/es/google-vertex-ai#iam-configuration) estén otorgados a la identidad con la que te autenticas
1653* Confirma que el modelo está habilitado para tu proyecto. Consulta [Solicitar acceso al modelo](/docs/es/google-vertex-ai#2-request-model-access)1660* Confirma que el modelo esté habilitado para tu proyecto. Consulta [Solicitar acceso al modelo](/docs/es/google-vertex-ai#2-request-model-access)
1654 1661
1655Antes de v2.1.273, un 403 de Agent Platform mostraba el mensaje genérico `Please run /login` o `Failed to authenticate` en su lugar, que no puede actualizar credenciales de Google Cloud.1662Antes de v2.1.273, un 403 de Agent Platform mostraba en su lugar el mensaje genérico `Please run /login` o `Failed to authenticate`, que no puede renovar las credenciales de Google Cloud.
1656 1663
1657<h3 id="microsoft-foundry-authentication-failed">1664<h3 id="microsoft-foundry-authentication-failed">
1658 La autenticación de Microsoft Foundry falló1665 Falló la autenticación de Microsoft Foundry
1659</h3>1666</h3>
1660 1667
1661[Microsoft Foundry](/docs/es/microsoft-foundry) devolvió un 401 o 403: la credencial de Azure en la solicitud fue rechazada, o la identidad detrás de ella no tiene acceso al recurso de Foundry. `/login` no puede acuñar credenciales de Azure. La sugerencia de acción en el medio varía con tu configuración. La parte estable es el `Microsoft Foundry authentication failed` inicial:1668[Microsoft Foundry](/docs/es/microsoft-foundry) devolvió un 401 o 403: la credencial de Azure de la solicitud fue rechazada, o la identidad detrás de ella no tiene acceso al recurso de Foundry. `/login` no puede generar credenciales de Azure. La sugerencia de acción en el medio varía según tu configuración. La parte estable es el inicio `Microsoft Foundry authentication failed`:
1662 1669
1663```text theme={null}1670```text theme={null}
1664Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...1671Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...
1666 1673
1667**Qué hacer:**1674**Qué hacer:**
1668 1675
1669* Si la sugerencia dice que las credenciales son administradas por este entorno, la aplicación que lanzó Claude Code es propietaria de la credencial y los otros pasos aquí no aplican: reintenta, o contacta a tu administrador1676* Si la sugerencia indica que las credenciales las administra este entorno, la aplicación que inició Claude Code es la dueña de la credencial y los demás pasos aquí no aplican: reintenta o comunícate con tu administrador
1670* Actualiza la credencial que configuraste en [Configurar credenciales de Azure](/docs/es/microsoft-foundry#2-configure-azure-credentials): rota `ANTHROPIC_FOUNDRY_API_KEY`, acuña un `ANTHROPIC_FOUNDRY_AUTH_TOKEN` nuevo, o ejecuta `az login` para que la cadena de credencial predeterminada de Microsoft Entra pueda iniciar sesión nuevamente1677* Actualiza la credencial que configuraste en [Configurar credenciales de Azure](/docs/es/microsoft-foundry#2-configure-azure-credentials): rota `ANTHROPIC_FOUNDRY_API_KEY`, genera un `ANTHROPIC_FOUNDRY_AUTH_TOKEN` nuevo o ejecuta `az login` para que la cadena de credenciales predeterminada de Microsoft Entra pueda iniciar sesión de nuevo
1671* Si la credencial es actual, confirma que la identidad tiene acceso al recurso de Foundry. Consulta [Configuración de RBAC de Azure](/docs/es/microsoft-foundry#azure-rbac-configuration)1678* Si la credencial está vigente, confirma que la identidad tenga acceso al recurso de Foundry. Consulta [Configuración de Azure RBAC](/docs/es/microsoft-foundry#azure-rbac-configuration)
1672 1679
1673Antes de v2.1.273, un 401 o 403 de Microsoft Foundry mostraba el mensaje genérico `Please run /login` o `Failed to authenticate` en su lugar, que no puede actualizar credenciales de Azure.1680Antes de la v2.1.273, un 401 o 403 de Microsoft Foundry mostraba en su lugar el mensaje genérico `Please run /login` o `Failed to authenticate`, que no puede actualizar las credenciales de Azure.
1674 1681
1675<h3 id="could-not-load-aws-or-google-cloud-credentials">1682<h3 id="could-not-load-aws-or-google-cloud-credentials">
1676 No se pudieron cargar las credenciales de AWS o Google Cloud1683 No se pudieron cargar las credenciales de AWS o Google Cloud
1677</h3>1684</h3>
1678 1685
1679Claude Code no pudo obtener credenciales utilizables de la cadena de proveedor de credenciales de AWS o de tus credenciales predeterminadas de aplicación de Google en la máquina en la que se ejecuta, por lo que ninguna solicitud llegó a tu proveedor en la nube. Claude Code borra sus credenciales en caché y reintenta dos veces antes de mostrar este mensaje. El detalle después del `·` nombra la causa específica, como una sesión SSO expirada, credenciales predeterminadas faltantes reportadas como `Could not load the default credentials`, o un inicio de sesión revocado reportado como `invalid_grant`:1686Claude Code no pudo obtener credenciales utilizables de la cadena de proveedores de credenciales de AWS ni de tus credenciales predeterminadas de aplicación de Google en la máquina donde se ejecuta, así que ninguna solicitud llegó a tu proveedor de nube. Claude Code borra sus credenciales almacenadas en caché y reintenta dos veces antes de mostrar este mensaje. El detalle después del `·` indica la causa específica, como una sesión de SSO vencida, credenciales predeterminadas de aplicación faltantes informadas como `Could not load the default credentials`, o un inicio de sesión revocado informado como `invalid_grant`:
1680 1687
1681```text theme={null}1688```text theme={null}
1682API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.1689API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.
1683API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.1690API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.
1684```1691```
1685 1692
1686En [modo no interactivo](/docs/es/headless) con `-p` y en [Agent SDK](/docs/es/agent-sdk/overview), el código de error estructurado es `cloud_credential_error`. Antes de v2.1.267, el mensaje mostraba solo el texto de detalle después de `API Error:`, y el código estructurado era `server_error` u `unknown`.1693En el [modo no interactivo](/docs/es/headless) con `-p` y en el [Agent SDK](/docs/es/agent-sdk/overview), el código de error estructurado es `cloud_credential_error`. Antes de la v2.1.267, el mensaje mostraba solo el texto de detalle después de `API Error:`, y el código estructurado era `server_error` o `unknown`.
1687 1694
1688**Qué hacer:**1695**Qué hacer:**
1689 1696
1690* Ejecuta el comando de inicio de sesión de tu proveedor, como `aws sso login --profile myprofile` o `gcloud auth application-default login`, luego reintenta. [Las credenciales de Bedrock, Agent Platform, o Foundry no se cargan](/docs/es/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) muestra cómo confirmar las credenciales fuera de Claude Code1697* Ejecuta el comando de inicio de sesión de tu proveedor, como `aws sso login --profile myprofile` o `gcloud auth application-default login`, y luego reintenta. [Las credenciales de Bedrock, Agent Platform o Foundry no se cargan](/docs/es/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) muestra cómo confirmar las credenciales fuera de Claude Code
1691* Si el detalle dice `AWS default-chain credential resolve timed out`, la cadena se colgó en lugar de fallar, así que sigue [Resolución de credenciales de cadena predeterminada de AWS agotada](#aws-default-chain-credential-resolve-timed-out) en su lugar1698* Si el detalle dice `AWS default-chain credential resolve timed out`, la cadena se quedó colgada en lugar de fallar, así que sigue en su lugar [Se agotó el tiempo de espera para resolver las credenciales de la cadena predeterminada de AWS](#aws-default-chain-credential-resolve-timed-out)
1692 1699
1693<h3 id="aws-default-chain-credential-resolve-timed-out">1700<h3 id="aws-default-chain-credential-resolve-timed-out">
1694 Resolución de credenciales de cadena predeterminada de AWS agotada1701 Se agotó el tiempo de espera para resolver las credenciales de la cadena predeterminada de AWS
1695</h3>1702</h3>
1696 1703
1697La cadena de proveedor de credenciales predeterminada de AWS no produjo credenciales dentro de 60 segundos, por lo que Claude Code detuvo la resolución y falló la solicitud. Este tiempo de espera es una causa de [No se pudieron cargar las credenciales de AWS o Google Cloud](#could-not-load-aws-or-google-cloud-credentials). El fallo es resolución de credenciales local: la solicitud nunca llegó a [Amazon Bedrock](/docs/es/amazon-bedrock), [Claude Platform en AWS](/docs/es/claude-platform-on-aws), o el [punto final de Mantle](/docs/es/amazon-bedrock#use-the-mantle-endpoint). Claude Code borra su [caché de credenciales](/docs/es/amazon-bedrock#credential-caching-and-resolution-timeout) e reintenta antes de que este error aparezca, por lo que en el momento en que lo ves la cadena se ha estancado en intentos repetidos.1704La cadena de proveedores de credenciales predeterminada de AWS no produjo credenciales en 60 segundos, así que Claude Code detuvo la resolución e hizo fallar la solicitud. Este tiempo de espera es una de las causas de [No se pudieron cargar las credenciales de AWS o Google Cloud](#could-not-load-aws-or-google-cloud-credentials). La falla está en la resolución local de credenciales: la solicitud nunca llegó a [Amazon Bedrock](/docs/es/amazon-bedrock), [Claude Platform on AWS](/docs/es/claude-platform-on-aws) ni al [endpoint de Mantle](/docs/es/amazon-bedrock#use-the-mantle-endpoint). Claude Code borra su [caché de credenciales](/docs/es/amazon-bedrock#credential-caching-and-resolution-timeout) y reintenta antes de que aparezca este error, así que para cuando lo ves la cadena se ha estancado en intentos repetidos.
1698 1705
1699```text theme={null}1706```text theme={null}
1700API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.1707API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.
1701```1708```
1702 1709
1703Las causas comunes son un comando `credential_process` en tu perfil de AWS que espera entrada que no puede recibir, y un contenedor o VM cuyo servicio de metadatos de instancia (IMDS) nunca responde a la prueba de la cadena.1710Las causas comunes son un comando `credential_process` en tu perfil de AWS que espera una entrada que no puede recibir, y un contenedor o VM cuyo servicio de metadatos de instancia (IMDS) nunca responde al sondeo de la cadena.
1704 1711
1705Antes de v2.1.267, el mensaje decía `API Error: AWS default-chain credential resolve timed out`.1712Antes de la v2.1.267, el mensaje decía `API Error: AWS default-chain credential resolve timed out`.
1706Antes de v2.1.207, una cadena estancada dejaba la solicitud esperando indefinidamente en lugar de fallar.1713Antes de la v2.1.207, una cadena estancada dejaba la solicitud esperando indefinidamente en lugar de fallar.
1707 1714
1708**Qué hacer:**1715**Qué hacer:**
1709 1716
1710* Ejecuta `aws sts get-caller-identity` en el mismo shell con el mismo `AWS_PROFILE`. Si también se cuelga, arregla el perfil; un comando `credential_process` que solicita interactivamente es una causa común.1717* Ejecuta `aws sts get-caller-identity` en el mismo shell con el mismo `AWS_PROFILE`. Si también se queda colgado, corrige el perfil; un comando `credential_process` que pide datos de forma interactiva es una causa común.
1711* Completa el paso de inicio de sesión antes de iniciar Claude Code, por ejemplo `aws sso login --profile myprofile`1718* Completa el paso de inicio de sesión antes de iniciar Claude Code, por ejemplo `aws sso login --profile myprofile`
1712* Si tu cadena ejecuta un inicio de sesión interactivo que legítimamente necesita más de 60 segundos, como SSO con MFA a través de un envoltorio como `aws-vault`, aumenta el límite en milisegundos con [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/es/env-vars)1719* Si tu cadena ejecuta un inicio de sesión interactivo que legítimamente necesita más de 60 segundos, como SSO con MFA a través de un wrapper como `aws-vault`, aumenta el límite en milisegundos con [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/es/env-vars)
1713 1720
1714<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">1721<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">
1715 La verificación de configuración de Bedrock se agotó esperando a AWS1722 Se agotó el tiempo de espera de AWS durante la verificación de la configuración de Bedrock
1716</h3>1723</h3>
1717 1724
1718Una llamada a AWS durante el [asistente de configuración de Bedrock](/docs/es/amazon-bedrock#sign-in-with-bedrock), como la búsqueda de credenciales o la verificación de identidad, no se completó dentro del límite de 60 segundos. El asistente deja de esperar y falla el paso de verificación:1725Una llamada a AWS durante la verificación de credenciales del [asistente de configuración de Bedrock](/docs/es/amazon-bedrock#sign-in-with-bedrock), como la búsqueda de credenciales o la comprobación de identidad, no terminó dentro del límite de 60 segundos. El asistente deja de esperar y hace fallar el paso de verificación:
1719 1726
1720```text theme={null}1727```text theme={null}
1721Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.1728Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.
1722```1729```
1723 1730
1724El número refleja tu límite: 60 segundos por defecto, o el valor que estableciste en [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/es/env-vars).1731El número refleja tu límite: 60 segundos de forma predeterminada, o el valor que estableciste en [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/es/env-vars).
1725 1732
1726Las causas comunes son una red o proxy que estanca solicitudes a AWS, incluyendo la actualización del token SSO, y un ayudante de credenciales aún esperando entrada que no puedes ver. Aumenta el límite solo cuando el ayudante legítimamente necesita más tiempo.1733Las causas comunes son una red o un proxy que estanca las solicitudes a AWS, incluida la actualización del token de SSO, y un asistente de credenciales que sigue esperando una entrada que no puedes ver. Aumenta el límite solo cuando el asistente legítimamente necesite más tiempo.
1727 1734
1728Una única solicitud estancada a AWS también puede fallar en su propio tiempo de espera por solicitud, que muestra un mensaje más corto en el mismo paso:1735Una sola solicitud estancada a AWS también puede fallar por su propio tiempo de espera por solicitud, que muestra un mensaje más corto en el mismo paso:
1729 1736
1730```text theme={null}1737```text theme={null}
1731A request to AWS timed out. Check your network and proxy settings, then try again.1738A request to AWS timed out. Check your network and proxy settings, then try again.
1732```1739```
1733 1740
1734Cuando los mismos tiempos de espera ocurren en el paso de fijación de modelo, el asistente marca un modelo como `unreachable` en lugar de mostrar cualquiera de los dos mensajes.1741Cuando los mismos tiempos de espera se agotan en el paso de fijación del modelo, el asistente marca un modelo como `unreachable` en lugar de mostrar cualquiera de los dos mensajes.
1735 1742
1736**Qué hacer:**1743**Qué hacer:**
1737 1744
1738* Ejecuta `aws sts get-caller-identity` en el mismo shell. Si también se cuelga, el estancamiento está fuera de Claude Code, en tu red, tu proxy, o el ayudante de credenciales en tu perfil de AWS; arregla eso primero.1745* Ejecuta `aws sts get-caller-identity` en el mismo shell. Si también se queda colgado, el estancamiento está fuera de Claude Code, en tu red, tu proxy o el asistente de credenciales de tu perfil de AWS; corrige eso primero.
1739* Completa cualquier inicio de sesión interactivo antes de abrir el asistente, por ejemplo `aws sso login --profile myprofile`1746* Completa cualquier inicio de sesión interactivo antes de abrir el asistente, por ejemplo `aws sso login --profile myprofile`
1740* Si un ayudante de credenciales en tu perfil de AWS legítimamente necesita más de 60 segundos para solicitarte, aumenta el límite en milisegundos con [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/es/env-vars)1747* Si un asistente de credenciales de tu perfil de AWS legítimamente necesita más de 60 segundos para pedirte datos, aumenta el límite en milisegundos con [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/es/env-vars)
1741 1748
1742<h3 id="cloud-gateway-session-expired">1749<h3 id="cloud-gateway-session-expired">
1743 La sesión de puerta de enlace en la nube expiró1750 La sesión del gateway en la nube venció
1744</h3>1751</h3>
1745 1752
1746Iniciaste sesión a través de una [puerta de enlace de aplicaciones de Claude](/docs/es/claude-apps-gateway), y la sesión de puerta de enlace guardada en esta máquina ha expirado y no se pudo renovar, o la puerta de enlace ya no la acepta, por ejemplo después de que el [secreto JWT de la puerta de enlace se reemplaza](/docs/es/claude-apps-gateway-deploy#jwt-secret-rotation). Si ves esta línea cuando inicias `claude` interactivamente, la sesión ha abierto sin conectarse a la puerta de enlace:1753Iniciaste sesión a través de un [gateway de aplicaciones de Claude](/docs/es/claude-apps-gateway), y la sesión del gateway guardada en esta máquina venció y no se pudo renovar, o el gateway ya no la acepta, por ejemplo después de que se [reemplaza el secreto JWT](/docs/es/claude-apps-gateway-deploy#jwt-secret-rotation) del gateway. Si ves esta línea al iniciar `claude` de forma interactiva, la sesión se abrió sin haber iniciado sesión en el gateway:
1747 1754
1748```text theme={null}1755```text theme={null}
1749Cloud gateway session expired — run /login to reconnect.1756Cloud gateway session expired — run /login to reconnect.
1750```1757```
1751 1758
1752La misma línea puede aparecer a mitad de sesión cuando la credencial de puerta de enlace expira y Claude Code no puede renovarla.1759La misma línea puede aparecer a mitad de sesión cuando la credencial del gateway vence y Claude Code no puede renovarla.
1753 1760
1754En una ejecución [no interactiva](/docs/es/headless), una sesión en segundo plano u otra desatendida, o un subcomando `claude` que no sea `claude auth`, Claude Code sale con este mensaje en su lugar cuando la puerta de enlace ya no acepta la sesión:1761En una ejecución [no interactiva](/docs/es/headless), una sesión en segundo plano u otra sesión desatendida, o un subcomando de `claude` distinto de `claude auth`, Claude Code termina con este mensaje en su lugar cuando el gateway ya no acepta la sesión:
1755 1762
1756```text theme={null}1763```text theme={null}
1757Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.1764Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.
1759 1766
1760**Qué hacer:**1767**Qué hacer:**
1761 1768
1762* Ejecuta `/login` en la sesión y completa el inicio de sesión del navegador1769* Ejecuta `/login` en la sesión y completa el inicio de sesión en el navegador
1763* Para un lanzamiento no interactivo, inicia `claude` en el mismo entorno, ejecuta `/login`, luego reejecutar tu comando1770* Para un inicio no interactivo, inicia `claude` en el mismo entorno, ejecuta `/login` y luego vuelve a ejecutar tu comando
1764 1771
1765<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">1772<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">
1766 El inicio de sesión se agotó mientras esperaba que continúes1773 Se agotó el tiempo de espera del inicio de sesión mientras esperaba que continuaras
1767</h3>1774</h3>
1768 1775
1769Durante un inicio de sesión de [puerta de enlace de aplicaciones de Claude](/docs/es/claude-apps-gateway), la puerta de enlace nombró la cuenta que inició sesión, y Claude Code te pidió que la confirmaras antes de guardar la credencial. Dejaste la confirmación abierta después de la expiración del inicio de sesión, y la puerta de enlace no emitió un token de actualización que pudiera renovarlo, por lo que Claude Code no almacenó nada cuando continuaste:1776Durante un inicio de sesión en un [gateway de aplicaciones de Claude](/docs/es/claude-apps-gateway), el gateway indicó la cuenta que inició sesión y Claude Code te pidió confirmarla antes de guardar la credencial. Dejaste la confirmación abierta más allá del vencimiento del propio inicio de sesión, y el gateway no emitió ningún token de actualización que pudiera renovarlo, así que Claude Code no guardó nada cuando continuaste:
1770 1777
1771```text theme={null}1778```text theme={null}
1772Sign-in timed out while waiting for you to continue. Try again.1779Sign-in timed out while waiting for you to continue. Try again.
1774 1781
1775**Qué hacer:**1782**Qué hacer:**
1776 1783
1777* Ejecuta `/login` nuevamente y confirma la cuenta antes de que el inicio de sesión expire1784* Ejecuta `/login` de nuevo y confirma la cuenta antes de que venza el inicio de sesión
1778 1785
1779<h3 id="gateway-refused-the-request">1786<h3 id="gateway-refused-the-request">
1780 La puerta de enlace rechazó la solicitud1787 El gateway rechazó la solicitud
1781</h3>1788</h3>
1782 1789
1783Estás conectado a través de una [puerta de enlace de aplicaciones de Claude](/docs/es/claude-apps-gateway), y una solicitud devolvió un 403: la puerta de enlace, o lo que está detrás de ella, la rechazó. Iniciar sesión nuevamente no cambia un rechazo, por lo que el mensaje apunta a tu administrador de puerta de enlace:1790Iniciaste sesión a través de un [gateway de aplicaciones de Claude](/docs/es/claude-apps-gateway), y una solicitud devolvió un 403: el gateway, o el servicio upstream detrás de él, la rechazó. Volver a iniciar sesión no cambia un rechazo, así que el mensaje te dirige a tu administrador del gateway:
1784 1791
1785```text theme={null}1792```text theme={null}
1786Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...1793Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...
1788 1795
1789**Qué hacer:**1796**Qué hacer:**
1790 1797
1791* Pide a tu administrador de puerta de enlace que busque la solicitud. La cola `API Error:` lleva el rechazo que la puerta de enlace devolvió1798* Pídele a tu administrador del gateway que busque la solicitud. La parte final `API Error:` contiene el rechazo que devolvió el gateway
1792* Para administradores: una [regla de control de acceso](/docs/es/claude-apps-gateway-config#http-tuning) en la puerta de enlace devuelve un 403 que el [registro de auditoría](/docs/es/claude-apps-gateway-deploy#logs) registra con su razón, y una negación de autorización de un upstream pasa a través por [Mensajes de error de upstream](/docs/es/claude-apps-gateway-config#upstream-error-messages)1799* Para administradores: una [regla de control de acceso](/docs/es/claude-apps-gateway-config#http-tuning) en el gateway devuelve un 403 que el [registro de auditoría](/docs/es/claude-apps-gateway-deploy#logs) registra con su motivo, y la denegación de autorización de un servicio upstream se transmite según [Mensajes de error del upstream](/docs/es/claude-apps-gateway-config#upstream-error-messages)
1793 1800
1794Antes de v2.1.273, un 403 en una sesión de puerta de enlace mostraba el mensaje genérico `Please run /login` o `Failed to authenticate` en su lugar, e iniciar sesión nuevamente no borraba el rechazo.1801Antes de la v2.1.273, un 403 en una sesión del gateway mostraba en su lugar el mensaje genérico `Please run /login` o `Failed to authenticate`, y volver a iniciar sesión no eliminaba el rechazo.
1795 1802
1796<h2 id="network-and-connection-errors">1803<h2 id="network-and-connection-errors">
1797 Errores de red y conexión1804 Errores de red y conexión
2849* Ejecute `claude doctor` desde su shell para diagnósticos de instalación2856* Ejecute `claude doctor` desde su shell para diagnósticos de instalación
2850 2857
2851<h2 id="command-line-errors">2858<h2 id="command-line-errors">
2852 Errores de línea de comandos2859 Errores de la línea de comandos
2853</h2>2860</h2>
2854 2861
2855Estos errores provienen del comando `claude` de línea de comandos y sus subcomandos, de un nombre de comando que envía en el símbolo del sistema, y de comandos como `/security-review` que recopilan contexto ejecutando comandos de shell antes de que se ejecute su símbolo del sistema. También provienen de `/tui`, que relanza la CLI.2862Estos errores provienen de la línea de comandos de `claude` y sus subcomandos, de un nombre de comando que envías en el prompt y de comandos como `/security-review` que recopilan contexto ejecutando comandos de shell antes de que se ejecute su prompt. También provienen de `/tui`, que vuelve a iniciar la CLI.
2856 2863
2857<h3 id="conflict-between-bg-and-print">2864<h3 id="conflict-between-bg-and-print">
2858 Conflicto entre `--bg` y `--print`2865 Conflicto entre `--bg` y `--print`
2859</h3>2866</h3>
2860 2867
2861Este mensaje requiere Claude Code v2.1.198 o posterior. Combinó `--bg` con `-p` o `--print` en la misma invocación de `claude`. `--bg` inicia una [sesión en segundo plano](/docs/es/agent-view#from-your-shell) a la que se conecta posteriormente con `claude agents`, mientras que `--print` se ejecuta [de forma no interactiva](/docs/es/headless) y nunca inicia la sesión interactiva a la que `claude agents` se conecta. Antes de v2.1.198, esta combinación creaba silenciosamente un trabajo en segundo plano que nunca podría ser conectado.2868Este mensaje requiere Claude Code v2.1.198 o posterior. Combinaste `--bg` con `-p` o `--print` en la misma invocación de `claude`. `--bg` inicia una [sesión en segundo plano](/docs/es/agent-view#from-your-shell) a la que luego te conectas con `claude agents`, mientras que `--print` se ejecuta de forma [no interactiva](/docs/es/headless) y nunca inicia la sesión interactiva a la que se conecta `claude agents`. Antes de v2.1.198, esta combinación creaba silenciosamente un trabajo en segundo plano al que nunca era posible conectarse.
2862 2869
2863```text theme={null}2870```text theme={null}
2864--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.2871--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.
2866 2873
2867**Qué hacer:**2874**Qué hacer:**
2868 2875
2869* Elimine `-p` o `--print`. `--bg` toma el símbolo del sistema como su argumento posicional, por lo que `claude --bg "<task>"` es el comando completo. Consulte [Enviar nuevos agentes desde su shell](/docs/es/agent-view#from-your-shell).2876* Quita `-p` o `--print`. `--bg` toma el prompt como su argumento posicional, así que `claude --bg "<task>"` es el comando completo. Consulta [Despachar nuevos agentes desde tu shell](/docs/es/agent-view#from-your-shell).
2870* Para ejecutar el símbolo del sistema de forma no interactiva e imprimir el resultado en lugar de crear una sesión en segundo plano, elimine `--bg` y ejecute `claude -p "<task>"`2877* Para ejecutar el prompt de forma no interactiva e imprimir el resultado en lugar de crear una sesión en segundo plano, quita `--bg` y ejecuta `claude -p "<task>"`
2878
2879<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">
2880 Conflicto entre un flag de prompt del sistema y su forma de archivo
2881</h3>
2882
2883Pasaste [`--append-subagent-system-prompt`](/docs/es/cli-reference#cli-flags) junto con `--append-subagent-system-prompt-file` en una misma invocación de `claude`, así que `claude` termina con el código 1 en lugar de iniciar la sesión:
2884
2885```text theme={null}
2886Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.
2887```
2888
2889Antes de v2.1.283, `claude` terminaba de la misma forma cuando pasabas `--system-prompt` con `--system-prompt-file`, o `--append-system-prompt` con `--append-system-prompt-file`, porque esos pares entraban en conflicto en lugar de [combinarse](/docs/es/cli-reference#system-prompt-flags). En esas versiones, el mensaje nombra el par que combinaste.
2890
2891**Qué hacer:**
2892
2893* Conserva una forma del flag y quita la otra. Para combinar un archivo de prompt fijo con texto específico de cada ejecución, fusiona el texto en el archivo antes de iniciar en lugar de pasar ambos flags
2871 2894
2872<h3 id="invalid-agents-configuration">2895<h3 id="invalid-agents-configuration">
2873 Configuración de `--agents` inválida2896 Configuración de `--agents` no válida
2874</h3>2897</h3>
2875 2898
2876El valor que pasó a `--agents` es inválido, por lo que `claude` sale con código 1 en lugar de iniciar la sesión. Cuando pasa `--safe-mode` o establece [`CLAUDE_CODE_SAFE_MODE`](/docs/es/env-vars#variables), Claude Code ignora `--agents` completamente. Con `--resume` o `--continue`, un valor JSON en línea no se verifica y la sesión se inicia; un valor leído de un archivo se verifica en cada lanzamiento. Antes de v2.1.242, Claude Code iniciaba la sesión de todas formas.2899El valor que pasaste a `--agents` no es válido, así que `claude` termina con el código 1 en lugar de iniciar la sesión. Cuando pasas `--safe-mode` o estableces [`CLAUDE_CODE_SAFE_MODE`](/docs/es/env-vars#variables), Claude Code ignora `--agents` por completo. Con `--resume` o `--continue`, un valor JSON en línea no se verifica y la sesión se inicia; un valor leído desde un archivo se verifica en cada inicio. Antes de v2.1.242, Claude Code iniciaba la sesión de todos modos.
2877 2900
2878```text theme={null}2901```text theme={null}
2879Error: Invalid --agents configuration:2902Error: Invalid --agents configuration:
2880<what failed>2903<what failed>
2881```2904```
2882 2905
2883Lo que sigue a la primera línea depende de cómo falló el valor. Claude Code ejecuta estas comprobaciones en orden y se detiene en la primera que falla. Si su valor tiene dos tipos de problema, verá el segundo solo después de corregir el primero:2906Lo que sigue a la primera línea depende de cómo falló el valor. Claude Code ejecuta estas verificaciones en orden y se detiene en la primera que falla. Si tu valor tiene dos tipos de problema, solo ves el segundo después de corregir el primero:
2884 2907
28851. Cuando el valor comienza con `{` pero no se analiza como JSON, o el contenido de un archivo `--agents` no se analiza, Claude Code imprime una línea `invalid JSON:` que lleva el mensaje propio del analizador JSON29081. Cuando el valor comienza con `{` pero no se puede analizar como JSON, o el contenido de un archivo de `--agents` no se puede analizar, Claude Code imprime una línea `invalid JSON:` con el propio mensaje del analizador de JSON
28862. Cuando se analiza pero una definición de agente no coincide con el esquema para [subagentes definidos por CLI](/docs/es/sub-agents#choose-the-subagent-scope), Claude Code imprime una línea por problema29092. Cuando se puede analizar pero una definición de agente no coincide con el esquema de los [subagentes definidos por CLI](/docs/es/sub-agents#choose-the-subagent-scope), Claude Code imprime una línea por problema
28873. Cuando un nombre de agente comienza con `-`, Claude Code imprime `<name>: agent names must not start with '-'`29103. Cuando el nombre de un agente comienza con `-`, Claude Code imprime `<name>: agent names must not start with '-'`
2888 2911
2889Cuando hay más de 20 líneas de problema, Claude Code imprime las primeras 20 y reemplaza el resto con `…and N more`.2912Cuando hay más de 20 líneas de problemas, Claude Code imprime las primeras 20 y reemplaza el resto con `…and N more`.
2890 2913
2891Con `--print`, `--agents` también acepta [la ruta a un archivo JSON](/docs/es/sub-agents#choose-the-subagent-scope) en lugar del objeto en línea. Antes de v2.1.281, `--agents` aceptaba solo JSON en línea y trataba una ruta de archivo como JSON inválido. La forma de archivo tiene rechazos propios, impresos en lugar de este mensaje, incluidos estos:2914Con `--print`, `--agents` también acepta [la ruta a un archivo JSON](/docs/es/sub-agents#choose-the-subagent-scope) en lugar del objeto en línea. Antes de v2.1.281, `--agents` aceptaba solo JSON en línea y trataba una ruta de archivo como JSON no válido. La forma de archivo tiene sus propios rechazos, que se imprimen en lugar de este mensaje, entre ellos estos:
2892 2915
2893* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code leyó el valor como una ruta de archivo en una sesión interactiva. Pase las definiciones como JSON en línea, o agregue `-p` para leerlas de un archivo.2916* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code leyó el valor como una ruta de archivo en una sesión interactiva. Pasa las definiciones como JSON en línea, o agrega `-p` para leerlas desde un archivo.
2894* **`Error: --agents file not found: <path>`**: no existe ningún archivo en esa ruta. Un valor que no comienza con `{` y no es JSON válido se lee como una ruta, por lo que JSON en línea que su shell alteró puede fallar de esta manera también. Verifique la ruta o las comillas y ejecute el comando nuevamente.2917* **`Error: --agents file not found: <path>`**: no existe ningún archivo en esa ruta. Un valor que no comienza con `{` y no es JSON válido se lee como una ruta, así que un JSON en línea que tu shell alteró también puede fallar de esta forma. Revisa la ruta o las comillas y vuelve a ejecutar el comando.
2895 2918
2896**Qué hacer:**2919**Qué hacer:**
2897 2920
2898* Corrija cada problema que enumera el mensaje, luego ejecute el comando nuevamente. Consulte [los campos que toma un subagente definido por CLI](/docs/es/sub-agents#choose-the-subagent-scope).2921* Corrige cada problema que enumera el mensaje y vuelve a ejecutar el comando. Consulta [los campos que acepta un subagente definido por CLI](/docs/es/sub-agents#choose-the-subagent-scope).
2899 2922
2900<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">2923<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">
2901 Las sesiones en la nube no se pueden crear desde una sesión `--restricted`2924 No se pueden crear sesiones en la nube desde una sesión `--restricted`
2902</h3>2925</h3>
2903 2926
2904Cuando inicia una sesión con [`--restricted`](/docs/es/cli-reference#cli-flags), Claude Code se niega a crear [sesiones en la nube](/docs/es/claude-code-on-the-web#from-terminal-to-cloud) desde ella, porque la nueva sesión se ejecutaría fuera del proceso restringido y no haría cumplir el modo restringido. Claude Code se niega en el cliente, antes de contactar al servidor, por lo que no se crea ninguna sesión en la nube:2927Cuando inicias una sesión con [`--restricted`](/docs/es/cli-reference#cli-flags), Claude Code se niega a crear [sesiones en la nube](/docs/es/claude-code-on-the-web#from-terminal-to-cloud) desde ella, porque la nueva sesión se ejecutaría fuera del proceso restringido y no aplicaría el modo restringido. Claude Code se niega en el cliente, antes de contactar al servidor, así que no se crea ninguna sesión en la nube:
2905 2928
2906```text theme={null}2929```text theme={null}
2907Cloud sessions cannot be created from a --restricted session: they would not enforce it.2930Cloud sessions cannot be created from a --restricted session: they would not enforce it.
2909 2932
2910**Qué hacer:**2933**Qué hacer:**
2911 2934
2912* Ejecute la tarea localmente en la sesión restringida2935* Ejecuta la tarea localmente en la sesión restringida
2913* Si controla cómo se lanzó la sesión, inicie una nueva sesión `claude` sin `--restricted` y cree la sesión en la nube desde allí2936* Si controlas cómo se inició la sesión, inicia una nueva sesión de `claude` sin `--restricted` y crea la sesión en la nube desde ahí
2914 2937
2915Antes de v2.1.248, Claude Code no tenía la bandera `--restricted`; las versiones anteriores rechazan la bandera en sí con un error de opción desconocida.2938Antes de v2.1.248, Claude Code no tenía el flag `--restricted`; las versiones anteriores rechazan el propio flag con un error de opción desconocida.
2916 2939
2917<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">2940<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">
2918 Las sesiones en la nube están deshabilitadas por la política de su organización2941 Las sesiones en la nube están deshabilitadas por la política de tu organización
2919</h3>2942</h3>
2920 2943
2921La política `allow_remote_sessions` de su organización está desactivada, por lo que [sesiones en la nube](/docs/es/claude-code-on-the-web) y los comandos que las utilizan no están disponibles:2944La política `allow_remote_sessions` de tu organización está desactivada, así que las [sesiones en la nube](/docs/es/claude-code-on-the-web) y los comandos que las usan no están disponibles:
2922 2945
2923```text theme={null}2946```text theme={null}
2924Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.2947Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.
2925```2948```
2926 2949
2927El mensaje aparece cuando [crea una sesión en la nube desde la terminal](/docs/es/claude-code-on-the-web#from-terminal-to-cloud) y cuando envía un comando que necesita sesiones en la nube, como `/teleport`, `/remote-env`, o `/web-setup`. Antes de v2.1.268, enviar uno de esos comandos devolvía [`Unknown command`](#unknown-command) en su lugar.2950El mensaje aparece cuando [creas una sesión en la nube desde la terminal](/docs/es/claude-code-on-the-web#from-terminal-to-cloud) y cuando envías un comando que necesita sesiones en la nube, como `/teleport`, `/remote-env` o `/web-setup`. Antes de v2.1.268, enviar uno de esos comandos devolvía [`Unknown command`](#unknown-command) en su lugar.
2928 2951
2929Esta es una política de organización del lado del servidor, por lo que no se puede anular desde la configuración local, variables de entorno o banderas de CLI.2952Esta es una política de organización del lado del servidor, así que no se puede sobrescribir desde la configuración local, las variables de entorno ni los flags de la CLI.
2930 2953
2931Si Claude Code aún no ha cargado la política de su organización o no puede obtenerla, esos comandos responden `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` en su lugar.2954Si Claude Code aún no ha cargado la política de tu organización o no puede obtenerla, esos comandos responden `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` en su lugar.
2932 2955
2933**Qué hacer:**2956**Qué hacer:**
2934 2957
2935* Pida a un [Propietario](/docs/es/server-managed-settings#access-control) en su organización que habilite las sesiones en la nube en la configuración de administrador de Claude Code en [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)2958* Pide a un [Owner](/docs/es/server-managed-settings#access-control) de tu organización que habilite las sesiones en la nube en la configuración de administración de Claude Code en [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)
2936* Si el mensaje dice que no pudo verificar la política, verifique su conexión de red, luego reinicie Claude Code e intente nuevamente2959* Si el mensaje dice que no pudo verificar la política, revisa tu conexión de red, luego reinicia Claude Code e inténtalo de nuevo
2937 2960
2938<h3 id="the-json-schema-value-is-not-a-valid-json-schema">2961<h3 id="the-json-schema-value-is-not-a-valid-json-schema">
2939 El valor de `--json-schema` no es un JSON Schema válido2962 El valor de `--json-schema` no es un JSON Schema válido
2940</h3>2963</h3>
2941 2964
2942El esquema que pasó a [`--json-schema`](/docs/es/cli-reference#cli-flags) en [modo no interactivo](/docs/es/headless#get-structured-output) falló en la compilación de JSON Schema, por lo que `claude` sale con código 1 en lugar de ejecutar el símbolo del sistema. Antes de v2.1.205, un esquema inválido producía salida no estructurada sin error, y cualquier esquema que usara la palabra clave `format` se trataba como inválido.2965El esquema que pasaste a [`--json-schema`](/docs/es/cli-reference#cli-flags) en [modo no interactivo](/docs/es/headless#get-structured-output) falló la compilación de JSON Schema, así que `claude` termina con el código 1 en lugar de ejecutar el prompt. Antes de v2.1.205, un esquema no válido producía una salida no estructurada sin ningún error, y cualquier esquema que usara la palabra clave `format` se trataba como no válido.
2943 2966
2944```text theme={null}2967```text theme={null}
2945Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values2968Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values
2946```2969```
2947 2970
2948El texto después del segundo colon es el diagnóstico del validador y nombra la palabra clave o ubicación que falló. Los esquemas que usan la palabra clave `format`, como `"format": "email"`, son válidos: Claude Code acepta `format` como una anotación y no la hace cumplir.2971El texto después de los segundos dos puntos es el diagnóstico del validador y nombra la palabra clave o la ubicación que falló. Los esquemas que usan la palabra clave `format`, como `"format": "email"`, son válidos: Claude Code acepta `format` como anotación y no lo aplica.
2949 2972
2950Claude Code ejecuta dos comprobaciones antes de la compilación del esquema: rechaza un valor que no es JSON analizable con `Error: --json-schema is not valid JSON`, y JSON válido que no es un objeto con `Error: --json-schema must be a JSON object`.2973Claude Code ejecuta dos verificaciones antes de compilar el esquema: rechaza un valor que no se puede analizar como JSON con `Error: --json-schema is not valid JSON`, y un JSON válido que no es un objeto con `Error: --json-schema must be a JSON object`.
2951 2974
2952**Qué hacer:**2975**Qué hacer:**
2953 2976
2954* Corrija la parte del esquema que nombra el diagnóstico, luego vuelva a ejecutar el comando2977* Corrige la parte del esquema que nombra el diagnóstico y vuelve a ejecutar el comando
2955* Consulte [Obtener salida estructurada](/docs/es/headless#get-structured-output) para un esquema y comando que funcionen2978* Consulta [Obtener salida estructurada](/docs/es/headless#get-structured-output) para ver un esquema y un comando que funcionan
2956 2979
2957<h3 id="settings-file-exceeds-the-2mib-limit">2980<h3 id="settings-file-exceeds-the-2mib-limit">
2958 El archivo de configuración excede el límite de 2MiB2981 El archivo de configuración supera el límite de 2MiB
2959</h3>2982</h3>
2960 2983
2961El archivo que pasó a [`--settings`](/docs/es/cli-reference#cli-flags) es más grande que 2 MiB, por lo que `claude` sale con código 1 al inicio en lugar de cargarlo. Antes de v2.1.214, Claude Code leía el archivo sin verificación de tamaño, y un archivo de varios gigabytes o un archivo de dispositivo como `/dev/zero` crecía en memoria sin límite.2984El archivo que pasaste a [`--settings`](/docs/es/cli-reference#cli-flags) es mayor de 2 MiB, así que `claude` termina con el código 1 al iniciar en lugar de cargarlo. Antes de v2.1.214, Claude Code leía el archivo sin verificar su tamaño, y un archivo de varios gigabytes o un archivo de dispositivo como `/dev/zero` hacía crecer la memoria sin límite.
2962 2985
2963```text theme={null}2986```text theme={null}
2964Error: Settings file exceeds the 2MiB limit: /path/to/settings.json2987Error: Settings file exceeds the 2MiB limit: /path/to/settings.json
2965```2988```
2966 2989
2967Claude Code rechaza una ruta `--settings` que no es un archivo regular de la misma manera: un dispositivo, FIFO o socket reporta `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` seguido de la ruta, y un directorio reporta una razón `EISDIR`.2990Claude Code rechaza de la misma forma una ruta de `--settings` que no es un archivo normal: un dispositivo, FIFO o socket informa `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` seguido de la ruta, y un directorio informa un motivo `EISDIR`.
2968 2991
2969**Qué hacer:**2992**Qué hacer:**
2970 2993
2971* Apunte `--settings` a un archivo JSON de configuración regular menor a 2 MiB. Consulte [Configuración](/docs/es/settings) para el formato.2994* Apunta `--settings` a un archivo de configuración JSON normal de menos de 2 MiB. Consulta [Configuración](/docs/es/settings) para ver el formato.
2972 2995
2973<h3 id="the-current-directory-no-longer-exists">2996<h3 id="the-current-directory-no-longer-exists">
2974 El directorio actual ya no existe2997 El directorio actual ya no existe
2975</h3>2998</h3>
2976 2999
2977Inició `claude` desde un directorio que fue eliminado o movido después de que su shell lo ingresara, por ejemplo un worktree o directorio temporal que otro shell eliminó. Claude Code no puede leer su directorio de trabajo, por lo que sale con código 1 antes de iniciar la sesión, tanto en modo interactivo como en [modo no interactivo](/docs/es/headless). Antes de v2.1.239, Claude Code se bloqueaba con fuente de paquete minificada y un `ENOENT ... uv_cwd` sin procesar en stderr en lugar de este mensaje.3000Iniciaste `claude` desde un directorio que se eliminó o movió después de que tu shell entrara en él, por ejemplo un worktree o un directorio temporal que otro shell eliminó. Claude Code no puede leer su directorio de trabajo, así que termina con el código 1 antes de iniciar la sesión, tanto en modo interactivo como [no interactivo](/docs/es/headless). Antes de v2.1.239, Claude Code fallaba mostrando código fuente minificado del paquete y una pila `ENOENT ... uv_cwd` sin procesar en stderr en lugar de este mensaje.
2978 3001
2979```text theme={null}3002```text theme={null}
2980The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.3003The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.
2983 3006
2984La causa y la solución son las mismas para ambas formas.3007La causa y la solución son las mismas para ambas formas.
2985 3008
2986Cuando Claude Code no puede leer el directorio de trabajo por una razón diferente, como un cambio de permisos, el mensaje nombra el código de error en su lugar: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`3009Cuando Claude Code no puede leer el directorio de trabajo por otro motivo, como un cambio de permisos, el mensaje nombra el código de error en su lugar: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`
2987 3010
2988En macOS, `EPERM` para un directorio en `~/Desktop`, `~/Documents`, `~/Downloads`, o iCloud Drive generalmente significa que macOS está bloqueando su aplicación de terminal desde esa carpeta. Otros comandos que leen esa carpeta fallan de la misma manera: `ls` allí reporta `Operation not permitted`, incluso con `sudo`.3011En macOS, `EPERM` para un directorio en `~/Desktop`, `~/Documents`, `~/Downloads` o iCloud Drive suele significar que macOS está bloqueando el acceso de tu aplicación de terminal a esa carpeta. Otros comandos que leen esa carpeta fallan de la misma forma: `ls` ahí informa `Operation not permitted`, incluso con `sudo`.
2989 3012
2990**Qué hacer:**3013**Qué hacer:**
2991 3014
2992* Cambie a un directorio que exista, como su directorio de inicio o directorio de proyecto, luego ejecute `claude` nuevamente3015* Cámbiate a un directorio que exista, como tu directorio home o el de tu proyecto, y vuelve a ejecutar `claude`
2993* Si el directorio fue recreado en la misma ruta, su shell aún mantiene el eliminado. Ejecute `cd "$PWD"` o salga y vuelva a ingresar al directorio, luego ejecute `claude` nuevamente3016* Si el directorio se volvió a crear en la misma ruta, tu shell todavía conserva el que se eliminó. Ejecuta `cd "$PWD"` o sal del directorio y vuelve a entrar, y luego vuelve a ejecutar `claude`
2994* Para `EPERM` en macOS, cierre su aplicación de terminal con Cmd+Q, ábrala nuevamente, regrese a esa carpeta y ejecute `claude`. Si `ls` en esa carpeta aún falla, abra **System Settings > Privacy & Security > Files and Folders**, active la carpeta para su aplicación de terminal, luego reabre la terminal3017* Para `EPERM` en macOS, cierra tu aplicación de terminal con Cmd+Q, ábrela de nuevo, regresa a esa carpeta y ejecuta `claude`. Si `ls` en esa carpeta sigue fallando, abre **System Settings > Privacy & Security > Files and Folders**, activa la carpeta para tu aplicación de terminal y vuelve a abrir la terminal
2995 3018
2996<h3 id="temp-directory-refused-or-cannot-be-created">3019<h3 id="temp-directory-refused-or-cannot-be-created">
2997 El directorio temporal fue rechazado o no se puede crear3020 Directorio temporal rechazado o que no se puede crear
2998</h3>3021</h3>
2999 3022
3000En macOS y Linux, Claude Code crea un directorio temporal privado al inicio, `claude-<uid>` bajo el directorio temporal del sistema o la anulación [`CLAUDE_CODE_TMPDIR`](/docs/es/env-vars). Cuando el directorio no se puede crear, o una entrada ya en esa ruta falla las verificaciones de seguridad, Claude Code imprime el fallo en stderr y sale con código 1 en lugar de iniciar la sesión:3023En macOS y Linux, Claude Code crea un directorio temporal privado al iniciar, `claude-<uid>`, dentro del directorio temporal del sistema o de la sobrescritura [`CLAUDE_CODE_TMPDIR`](/docs/es/env-vars). Cuando el directorio no se puede crear, o una entrada que ya existe en esa ruta no supera las verificaciones de seguridad, Claude Code imprime el fallo en stderr y termina con el código 1 en lugar de iniciar la sesión:
3001 3024
3002```text wrap theme={null}3025```text wrap theme={null}
3003ENOSPC: no space left on device, mkdir '/tmp/claude-501'3026ENOSPC: no space left on device, mkdir '/tmp/claude-501'
3011 3034
3012**Qué hacer:**3035**Qué hacer:**
3013 3036
3014* Para `ENOSPC`, libere espacio en disco en el volumen que contiene el directorio temporal3037* Para `ENOSPC`, libera espacio en disco en el volumen que contiene el directorio temporal
3015* Para las formas `Refusing to use it`, elimine la entrada nombrada en sí, no lo que apunta un enlace, e inicie Claude Code nuevamente; para la forma `owned by uid`, solo un administrador o ese usuario puede eliminarlo3038* Para las formas `Refusing to use it`, elimina la propia entrada nombrada, no aquello a lo que apunta un enlace, y vuelve a iniciar Claude Code; para la forma `owned by uid`, solo un administrador o ese usuario puede eliminarla
3016* Para `is not readable`, ejecute `chmod 0700` en el directorio nombrado, o elimínelo e inicie nuevamente3039* Para `is not readable`, ejecuta `chmod 0700` sobre el directorio nombrado, o elimínalo y vuelve a iniciar
3017* En cualquiera de estos casos, establezca [`CLAUDE_CODE_TMPDIR`](/docs/es/env-vars) en un directorio que controle e inicie Claude Code nuevamente, dejando la ruta rechazada sola3040* En cualquiera de estos casos, establece [`CLAUDE_CODE_TMPDIR`](/docs/es/env-vars) en un directorio que controles y vuelve a iniciar Claude Code, sin tocar la ruta rechazada
3018 3041
3019<h3 id="directory-couldnt-be-resolved-to-a-real-location">3042<h3 id="directory-couldnt-be-resolved-to-a-real-location">
3020 El directorio no se pudo resolver a una ubicación real3043 No se pudo resolver el directorio a una ubicación real
3021</h3>3044</h3>
3022 3045
3023Ejecutó `/add-dir` para un subdirectorio de su directorio de trabajo, y Claude Code no pudo resolver el directorio a su ubicación real.3046Ejecutaste `/add-dir` para un subdirectorio de tu directorio de trabajo, y Claude Code no pudo resolver el directorio a su ubicación real.
3024 3047
3025Ya tiene acceso a archivos en un subdirectorio del directorio de trabajo, por lo que `/add-dir` solo carga sus skills, comandos y agentes. Antes de cargarlos, Claude Code verifica que la ubicación real del directorio, con cualquier enlace simbólico resuelto, esté dentro del directorio de trabajo. Cuando Claude Code no puede resolver esa ubicación, no carga nada y muestra este mensaje:3048Ya tienes acceso a los archivos de un subdirectorio del directorio de trabajo, así que `/add-dir` solo carga sus skills, comandos y agentes. Antes de cargarlos, Claude Code verifica que la ubicación real del directorio, con los enlaces simbólicos resueltos, esté dentro del directorio de trabajo. Cuando Claude Code no puede resolver esa ubicación, no carga nada y muestra este mensaje:
3026 3049
3027```text theme={null}3050```text theme={null}
3028packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.3051packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.
3030 3053
3031**Qué hacer:**3054**Qué hacer:**
3032 3055
3033* Verifique que la ruta nombre un directorio real dentro del directorio de trabajo, luego ejecute `/add-dir` nuevamente3056* Verifica que la ruta nombre un directorio real dentro del directorio de trabajo y vuelve a ejecutar `/add-dir`
3034* El mensaje no cambia su acceso a archivos; solo reporta que el contenido `.claude/` del directorio no fue cargado3057* El mensaje no cambia tu acceso a los archivos; solo informa que el contenido `.claude/` del directorio no se cargó
3035 3058
3036Antes de v2.1.261, este mensaje también aparecía para cada `/add-dir <subdirectory>` cuando el directorio de trabajo estaba en un automontaje `/net/<host>`, donde Claude Code se niega a resolver rutas por diseño; el directorio estaba bien y reintentar no podía ayudar.3059Antes de v2.1.261, este mensaje también aparecía en cada `/add-dir <subdirectory>` cuando el directorio de trabajo estaba en un montaje automático `/net/<host>`, donde Claude Code, por diseño, no resuelve rutas; el directorio estaba bien y reintentar no podía ayudar.
3037 3060
3038<h3 id="workspace-not-trusted-when-starting-remote-control">3061<h3 id="workspace-not-trusted-when-starting-remote-control">
3039 Espacio de trabajo no confiable al iniciar Remote Control3062 Espacio de trabajo no confiable al iniciar Remote Control
3040</h3>3063</h3>
3041 3064
3042Inició el modo servidor de [Remote Control](/docs/es/remote-control) con `claude remote-control` o su alias `claude rc` en un directorio que no ha confiado, y el comando no pudo preguntarle si confiar en él. Por ejemplo, la entrada estándar o la salida estándar del comando no es una terminal porque una de ellas se redirige o se canaliza. El comando sale con código 1:3065Iniciaste el modo servidor de [Remote Control](/docs/es/remote-control) con `claude remote-control` o su alias `claude rc` en un directorio en el que no has confiado, y el comando no pudo preguntarte si confiar en él. Por ejemplo, la entrada estándar o la salida estándar del comando no es una terminal porque una de ellas está redirigida o canalizada. El comando termina con el código 1:
3043 3066
3044```text theme={null}3067```text theme={null}
3045Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.3068Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.
3046```3069```
3047 3070
3048Dos variantes que también comienzan con `Error: Workspace not trusted.` aparecen en una terminal también demasiado pequeña para mostrar qué confiar en el directorio activa, o una que no reportó su tamaño. Amplíe la ventana o cambie a una ventana de terminal normal, luego ejecute `claude rc` nuevamente.3071Dos variantes que también comienzan con `Error: Workspace not trusted.` aparecen en una terminal demasiado pequeña para mostrar lo que activa confiar en el directorio, o en una que no informó su tamaño. Agranda la ventana o cambia a una ventana de terminal normal, y vuelve a ejecutar `claude rc`.
3049 3072
3050En su directorio de inicio el mensaje es diferente, porque el diálogo de confianza del espacio de trabajo nunca guarda confianza para el directorio de inicio, por lo que aceptarlo allí no puede satisfacer esta verificación. Antes de v2.1.214, el directorio de inicio mostraba el mensaje anterior, cuyo consejo no puede tener éxito allí.3073En tu directorio home el mensaje es diferente, porque el diálogo de confianza del espacio de trabajo nunca guarda la confianza para el directorio home, así que aceptarlo ahí no puede satisfacer esta verificación. Antes de v2.1.214, el directorio home mostraba el mensaje anterior, cuyo consejo no puede funcionar ahí.
3051 3074
3052```text theme={null}3075```text theme={null}
3053Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).3076Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).
3054```3077```
3055 3078
3056Si responde `n` o presiona Enter en la [pregunta `Trust <directory>?`](/docs/es/remote-control#requirements), el comando imprime un mensaje `Remote Control did not start` que nombra el directorio y sale con código 1. Ejecute `claude rc` nuevamente para responder `y`.3079Si respondes `n` o presionas Enter en la [pregunta `Trust <directory>?`](/docs/es/remote-control#requirements), el comando imprime un mensaje `Remote Control did not start` que nombra el directorio y termina con el código 1. Vuelve a ejecutar `claude rc` para responder `y`.
3057 3080
3058**Qué hacer:**3081**Qué hacer:**
3059 3082
3060* Confíe en el directorio desde una terminal primero: ejecute `claude rc` allí y responda `y`, o ejecute `claude` allí y acepte el [diálogo de confianza del espacio de trabajo](/docs/es/permissions#project-allow-rules-and-workspace-trust), luego ejecute su comando original nuevamente3083* Primero confía en el directorio desde una terminal: ejecuta `claude rc` ahí y responde `y`, o ejecuta `claude` ahí y acepta el [diálogo de confianza del espacio de trabajo](/docs/es/permissions#project-allow-rules-and-workspace-trust), y luego vuelve a ejecutar tu comando original
3061* En su directorio de inicio, cambie a un directorio de proyecto e inicie Remote Control allí3084* En tu directorio home, cámbiate a un directorio de proyecto e inicia Remote Control ahí
3062 3085
3063Antes de v2.1.284, el comando nunca preguntó, incluso en una terminal.3086Antes de v2.1.284, el comando nunca preguntaba, ni siquiera en una terminal.
3064 3087
3065<h3 id="not-carried-over-to-the-sessions-remote-control-starts">3088<h3 id="not-carried-over-to-the-sessions-remote-control-starts">
3066 No se trasladó a las sesiones que inicia Remote Control3089 No se transfiere a las sesiones que inicia Remote Control
3067</h3>3090</h3>
3068 3091
3069Inició [Remote Control](/docs/es/remote-control) con una bandera global `claude` antes del verbo `remote-control`, una que restringiría o configuraría las sesiones que inicia Remote Control, como `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools`, o `--mcp-config`. Una bandera colocada antes del verbo nunca llega a esas sesiones. Claude Code se niega a iniciar en su lugar, nombrando la bandera:3092Iniciaste [Remote Control](/docs/es/remote-control) 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:
3070 3093
3071```text theme={null}3094```text theme={null}
3072Error: `--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`).3095Error: `--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`).
3073```3096```
3074 3097
3075Claude Code no se niega a banderas globales que son inofensivas de descartar, como `--verbose`, `--model`, o un `--session-id` inyectado por envoltorio o `--plugin-dir`: las ignora e inicia Remote Control.3098Claude Code no rechaza los flags globales que son inofensivos de descartar, como `--verbose`, `--model`, o un `--session-id` o `--plugin-dir` inyectado por un wrapper: los ignora y Remote Control se inicia.
3076 3099
3077Claude Code también se niega a iniciar para una bandera global que aún no reconoce como inofensiva, por lo que una bandera agregada en una versión más nueva puede aparecer en este mensaje hasta que una versión posterior la marque como inofensiva.3100Claude Code también se niega a iniciar con un flag global que todavía no reconoce como inofensivo, así que un flag agregado en una versión más reciente puede aparecer en este mensaje hasta que una versión posterior lo marque como inofensivo.
3078 3101
3079**Qué hacer:**3102**Qué hacer:**
3080 3103
3081* Elimine la bandera de antes del verbo y pase [las opciones propias de Remote Control](/docs/es/remote-control#start-a-remote-control-session) después de él; `claude remote-control --help` las enumera3104* Quita el flag de antes del verbo y pasa las [opciones propias de Remote Control](/docs/es/remote-control#start-a-remote-control-session) después de él; `claude remote-control --help` las enumera
3082* Cuando la bandera rechazada es `--permission-mode`, ejecute `claude remote-control --permission-mode <mode>` para establecer el modo de permiso para las sesiones que inicia Remote Control3105* Cuando el flag rechazado es `--permission-mode`, ejecuta `claude remote-control --permission-mode <mode>` para establecer el modo de permisos de las sesiones que inicia Remote Control
3083 3106
3084Antes de v2.1.248, `claude remote-control` no aceptaba sus propias banderas cuando una bandera global venía primero, y el comando falló con un error de `unknown option`.3107Antes 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`.
3085 3108
3086<h3 id="claude-import-is-not-yet-available-in-this-build">3109<h3 id="claude-import-is-not-yet-available-in-this-build">
3087 claude import aún no está disponible en esta compilación3110 claude import todavía no está disponible en esta compilación
3088</h3>3111</h3>
3089 3112
3090Ejecutó [`claude import`](/docs/es/cli-reference#cli-commands), y Claude Code encontró el flujo de importación desactivado, por lo que el comando sale con código 1 en lugar de iniciar la importación. Antes de v2.1.222, una compilación con el flujo de importación desactivado trataba `import` como un símbolo del sistema e iniciaba una sesión interactiva en lugar de imprimir este mensaje.3113Ejecutaste [`claude import`](/docs/es/cli-reference#cli-commands), y Claude Code encontró el flujo de importación desactivado, así que el comando termina con el código 1 en lugar de iniciar la importación. Antes de v2.1.222, una compilación con el flujo de importación desactivado trataba `import` como un prompt e iniciaba una sesión interactiva en lugar de imprimir este mensaje.
3091 3114
3092```text theme={null}3115```text theme={null}
3093`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.3116`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.
3094```3117```
3095 3118
3096Claude Code activa `claude import` a través de una bandera de característica que obtiene de Anthropic y almacena en caché en disco. Este mensaje significa que el valor almacenado en caché está desactivado. La causa es generalmente una de las siguientes:3119Claude Code activa `claude import` mediante un feature flag que obtiene de Anthropic y almacena en caché en el disco. Este mensaje significa que el valor en caché está desactivado. La causa suele ser una de las siguientes:
3097 3120
3098* No ha iniciado una sesión desde la instalación, por lo que Claude Code aún no ha obtenido la bandera. El primer `claude import` puede imprimir esto incluso cuando la característica está disponible para usted.3121* No has iniciado una sesión desde la instalación, así que Claude Code todavía no ha obtenido el flag. El primer `claude import` puede imprimir esto incluso cuando la función está disponible para ti.
3099* Usa Claude Code a través de Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, o Claude Platform en AWS, o a través de una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway#availability-and-limitations). Claude Code no obtiene banderas de características en estas sesiones, por lo que `claude import` permanece no disponible.3122* Usas Claude Code a través de Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry o Claude Platform en AWS, o a través de un [gateway de aplicaciones de Claude](/docs/es/claude-apps-gateway#availability-and-limitations). Claude Code no obtiene feature flags en estas sesiones, así que `claude import` sigue sin estar disponible.
3100* Estableció `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK`, o [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/es/env-vars), que desactivan la obtención de banderas de características, por lo que `claude import` permanece no disponible.3123* Estableciste `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` o [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/es/env-vars), que desactivan la obtención de feature flags, así que `claude import` sigue sin estar disponible.
3101 3124
3102**Qué hacer:**3125**Qué hacer:**
3103 3126
3104* En una instalación nueva, inicie `claude`, espere a que la sesión se cargue, salga y ejecute `claude import` nuevamente3127* En una instalación nueva, inicia `claude`, espera a que la sesión cargue, sal y vuelve a ejecutar `claude import`
3105* Donde la obtención de banderas de características permanece desactivada, configure la configuración usted mismo: agregue servidores MCP con [`claude mcp add`](/docs/es/mcp#installing-mcp-servers), y cree los [archivos `CLAUDE.md`](/docs/es/memory#how-claude-md-files-load), [skills y comandos](/docs/es/skills#where-skills-live), y [subagentes](/docs/es/sub-agents#choose-the-subagent-scope) que desea trasladar. El mensaje también nombra `~/.claude/settings.json`. De la configuración que `claude import` traslada, ese archivo contiene solo el [modo de permiso](/docs/es/settings-reference#permission-settings); Claude Code no lee servidores MCP de él.3128* Donde la obtención de feature flags permanece desactivada, prepara la configuración tú mismo: agrega servidores MCP con [`claude mcp add`](/docs/es/mcp#installing-mcp-servers), y crea los [archivos `CLAUDE.md`](/docs/es/memory#how-claude-md-files-load), [skills y comandos](/docs/es/skills#where-skills-live) y [subagentes](/docs/es/sub-agents#choose-the-subagent-scope) que quieras transferir. El mensaje también nombra `~/.claude/settings.json`. De la configuración que transfiere `claude import`, ese archivo contiene solo el [modo de permisos](/docs/es/settings-reference#permission-settings); Claude Code no lee servidores MCP desde él.
3106 3129
3107<h3 id="could-not-read-claude-code-config">3130<h3 id="could-not-read-claude-code-config">
3108 No se pudo leer la configuración de Claude Code3131 No se pudo leer la configuración de Claude Code
3109</h3>3132</h3>
3110 3133
3111Ejecutó [`claude import`](/docs/es/cli-reference#cli-commands) mientras Claude Code no podía analizar `~/.claude.json`, el archivo donde almacena su inicio de sesión y estado por proyecto. El subcomando lee ese archivo para verificar disponibilidad pero no muestra el diálogo de recuperación que muestra la sesión interactiva, por lo que sale con código 1. Antes de v2.1.222, `claude import` con un archivo de configuración ilegible iniciaba una sesión interactiva, cuyo diálogo de recuperación manejaba el archivo.3134Ejecutaste [`claude import`](/docs/es/cli-reference#cli-commands) mientras Claude Code no podía analizar `~/.claude.json`, el archivo donde almacena tu inicio de sesión y el estado de cada proyecto. El subcomando lee ese archivo para verificar la disponibilidad, pero no muestra el diálogo de recuperación que muestra la sesión interactiva, así que termina con el código 1. Antes de v2.1.222, `claude import` con un archivo de configuración ilegible iniciaba una sesión interactiva, cuyo diálogo de recuperación se encargaba del archivo.
3112 3135
3113```text theme={null}3136```text theme={null}
3114Could not read Claude Code config — run `claude` with no arguments to recover it.3137Could not read Claude Code config — run `claude` with no arguments to recover it.
3116 3139
3117**Qué hacer:**3140**Qué hacer:**
3118 3141
3119* Ejecute `claude` sin argumentos. Claude Code detecta el archivo inválido y ofrece restablecerlo. Luego ejecute `claude import` nuevamente.3142* Ejecuta `claude` sin argumentos. Claude Code detecta el archivo no válido y ofrece restablecerlo. Luego vuelve a ejecutar `claude import`.
3120* Para mantener ediciones manuales que ha realizado, corrija la sintaxis JSON en `~/.claude.json` en un editor en su lugar, luego vuelva a ejecutar `claude import`3143* Para conservar las ediciones manuales que hayas hecho, corrige en su lugar la sintaxis JSON de `~/.claude.json` en un editor y vuelve a ejecutar `claude import`
3121 3144
3122<h3 id="could-not-import-a-server-from-claude-desktop">3145<h3 id="could-not-import-a-server-from-claude-desktop">
3123 No se pudo importar un servidor desde Claude Desktop3146 No se pudo importar un servidor desde Claude Desktop
3124</h3>3147</h3>
3125 3148
3126Claude Code no pudo agregar uno de los servidores que seleccionó en `claude mcp add-from-claude-desktop`. El comando aún importa los otros servidores seleccionados e imprime una línea por servidor que no pudo agregar. Antes de v2.1.205, el primer servidor que falló detuvo la importación.3149Claude Code no pudo agregar uno de los servidores que seleccionaste en `claude mcp add-from-claude-desktop`. El comando igualmente importa los demás servidores seleccionados e imprime una línea por cada servidor que no pudo agregar. Antes de v2.1.205, el primer servidor que fallaba detenía la importación.
3127 3150
3128```text theme={null}3151```text theme={null}
3129Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.3152Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.
3130```3153```
3131 3154
3132El texto después del nombre del servidor es la razón. La más común es la verificación de nombre: Claude Desktop permite caracteres en nombres de servidor, como espacios y períodos, que `claude mcp` restringe a letras, números, guiones y guiones bajos. Otras razones incluyen una configuración de servidor que falla en la validación y un servidor bloqueado por la [política MCP](/docs/es/managed-mcp) de su organización.3155El texto después del nombre del servidor es el motivo. El más común es la verificación del nombre: Claude Desktop permite en los nombres de servidor caracteres, como espacios y puntos, que `claude mcp` restringe a letras, números, guiones y guiones bajos. Otros motivos incluyen una configuración de servidor que no supera la validación y un servidor bloqueado por la [política de MCP](/docs/es/managed-mcp) de tu organización.
3133 3156
3134**Qué hacer:**3157**Qué hacer:**
3135 3158
3136* Cambie el nombre del servidor en `claude_desktop_config.json` para usar solo letras, números, guiones y guiones bajos, luego ejecute `claude mcp add-from-claude-desktop` nuevamente3159* Cambia el nombre del servidor en `claude_desktop_config.json` para que use solo letras, números, guiones y guiones bajos, y vuelve a ejecutar `claude mcp add-from-claude-desktop`
3137* Agregue ese servidor directamente con `claude mcp add` o `claude mcp add-json` bajo un nombre válido. Consulte [Importar servidores MCP desde Claude Desktop](/docs/es/mcp#import-mcp-servers-from-claude-desktop).3160* Agrega ese servidor directamente con `claude mcp add` o `claude mcp add-json` con un nombre válido. Consulta [Importar servidores MCP desde Claude Desktop](/docs/es/mcp#import-mcp-servers-from-claude-desktop).
3138 3161
3139<h3 id="cannot-add-mcp-server-to-the-managed-scope">3162<h3 id="cannot-add-mcp-server-to-the-managed-scope">
3140 No se puede agregar servidor MCP al alcance administrado3163 No se puede agregar el servidor MCP al alcance managed
3141</h3>3164</h3>
3142 3165
3143Ejecutó `claude mcp add` o `claude mcp add-json` con `--scope managed`. Ese alcance contiene los servidores que su organización proporciona a través de la configuración administrada [`managedMcpServers`](/docs/es/settings-reference#managedmcpservers). Claude Code los lee solo desde configuraciones administradas, por lo que el comando no puede escribir un servidor en ese alcance.3166Ejecutaste `claude mcp add` o `claude mcp add-json` con `--scope managed`. Ese alcance contiene los servidores que tu organización proporciona mediante el ajuste administrado [`managedMcpServers`](/docs/es/settings-reference#managedmcpservers). Claude Code los lee solo desde la configuración administrada, así que el comando no puede escribir un servidor en ese alcance.
3144 3167
3145```text theme={null}3168```text theme={null}
3146Cannot add MCP server to scope: managed3169Cannot add MCP server to scope: managed
3148 3171
3149**Qué hacer:**3172**Qué hacer:**
3150 3173
3151* Agregue el servidor a un alcance en el que pueda escribir: `local`, `user`, o `project`. Sin `--scope`, el comando usa `local`. Consulte [Alcances de instalación de MCP](/docs/es/mcp#mcp-installation-scopes)3174* Agrega el servidor a un alcance en el que puedas escribir: `local`, `user` o `project`. Sin `--scope`, el comando usa `local`. Consulta [Alcances de instalación de MCP](/docs/es/mcp#mcp-installation-scopes)
3152* Para proporcionar el servidor a cada usuario en su organización, agréguelo a [`managedMcpServers`](/docs/es/settings-reference#managedmcpservers) en la configuración administrada que implementa3175* Para proporcionar el servidor a todos los usuarios de tu organización, agrégalo a [`managedMcpServers`](/docs/es/settings-reference#managedmcpservers) en la configuración administrada que despliegas
3153 3176
3154<h3 id="cant-read-mcp-json">3177<h3 id="cant-read-mcp-json">
3155 No se puede leer .mcp.json3178 No se puede leer .mcp.json
3156</h3>3179</h3>
3157 3180
3158Un comando que lee el [`.mcp.json`](/docs/es/mcp#project-scope) del proyecto, como `claude mcp add` o `claude mcp add-json` con `--scope project`, o `claude mcp remove`, encontró que el archivo en su directorio actual no es un archivo regular o es más grande que 2 MiB, por lo que sale con este error en lugar de leer el archivo.3181Un comando que lee el [`.mcp.json`](/docs/es/mcp#project-scope) del proyecto, como `claude mcp add` o `claude mcp add-json` con `--scope project`, o `claude mcp remove`, encontró que el archivo en tu directorio actual no es un archivo normal o es mayor de 2 MiB, así que termina con este error en lugar de leer el archivo.
3159 3182
3160```text theme={null}3183```text theme={null}
3161Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.3184Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.
3162```3185```
3163 3186
3164Antes de v2.1.257, un FIFO en `.mcp.json` dejaba el comando esperando para siempre sin salida, y un enlace simbólico a un archivo de dispositivo como `/dev/zero` crecía en memoria hasta que el proceso fue eliminado.3187Antes de v2.1.257, un FIFO en `.mcp.json` dejaba el comando esperando para siempre sin salida, y un enlace simbólico a un archivo de dispositivo como `/dev/zero` hacía crecer la memoria hasta que el proceso se terminaba.
3165 3188
3166**Qué hacer:**3189**Qué hacer:**
3167 3190
3168* Verifique qué se encuentra en `.mcp.json` en su directorio actual. Reemplácelo con un archivo JSON ordinario en el [formato de alcance de proyecto](/docs/es/mcp#project-scope), o elimínelo, luego ejecute el comando nuevamente.3191* Revisa qué hay en `.mcp.json` en tu directorio actual. Reemplázalo por un archivo JSON común en el [formato de alcance de proyecto](/docs/es/mcp#project-scope), o elimínalo, y vuelve a ejecutar el comando.
3169 3192
3170<h3 id="mcp-server-was-not-saved-or-removed">3193<h3 id="mcp-server-was-not-saved-or-removed">
3171 El servidor MCP no se guardó ni se eliminó3194 El servidor MCP no se guardó ni se eliminó
3172</h3>3195</h3>
3173 3196
3174Ejecutó `claude mcp add`, `claude mcp add-json`, o `claude mcp remove` para un servidor en el alcance `user` o `local` [scope](/docs/es/mcp#mcp-installation-scopes). Ambos alcances se almacenan en `~/.claude.json`, y el cambio no está en ese archivo cuando Claude Code lo lee después de escribir. El comando sale con este error en lugar de su línea de éxito.3197Ejecutaste `claude mcp add`, `claude mcp add-json` o `claude mcp remove` para un servidor en el [alcance](/docs/es/mcp#mcp-installation-scopes) `user` o `local`. Ambos alcances se almacenan en `~/.claude.json`, y el cambio no está en ese archivo cuando Claude Code lo vuelve a leer después de escribirlo. El comando termina con este error en lugar de su línea de éxito.
3175 3198
3176```text theme={null}3199```text theme={null}
3177MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.3200MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.
3178```3201```
3179 3202
3180Después de una eliminación, el mensaje lee `was not removed from` y termina con `then remove the server again`. Para un servidor de alcance `local`, la ruta es seguida por el directorio del proyecto al que pertenece la entrada, como `(local scope for /path/to/project)`.3203Después de una eliminación, el mensaje dice `was not removed from` y termina con `then remove the server again`. Para un servidor de alcance `local`, la ruta va seguida del directorio de proyecto al que pertenece la entrada, como `(local scope for /path/to/project)`.
3181 3204
3182Antes de v2.1.283, `claude mcp add`, `claude mcp add-json`, y `claude mcp remove` reportaban éxito incluso cuando el cambio no llegaba al archivo.3205Antes de v2.1.283, `claude mcp add`, `claude mcp add-json` y `claude mcp remove` informaban éxito incluso cuando el cambio no llegaba al archivo.
3183 3206
3184**Qué hacer:**3207**Qué hacer:**
3185 3208
3186* Haga que el archivo que nombra el mensaje sea escribible, o ejecute el comando fuera del sandbox, luego ejecute el mismo comando de agregar o eliminar nuevamente.3209* Haz que el archivo que nombra el mensaje se pueda escribir, o ejecuta el comando fuera del sandbox, y luego vuelve a ejecutar el mismo comando de agregar o eliminar.
3187 3210
3188<h3 id="mcp-server-may-not-have-been-saved-or-removed">3211<h3 id="mcp-server-may-not-have-been-saved-or-removed">
3189 El servidor MCP puede no haber sido guardado o eliminado3212 Es posible que el servidor MCP no se haya guardado ni eliminado
3190</h3>3213</h3>
3191 3214
3192Ejecutó `claude mcp add`, `claude mcp add-json`, o `claude mcp remove` para un servidor en el alcance `user` o `local` [scope](/docs/es/mcp#mcp-installation-scopes), y Claude Code no pudo leer `~/.claude.json` de vuelta para confirmar el cambio. El cambio puede o no estar en el disco. El texto entre paréntesis es el error de esa lectura.3215Ejecutaste `claude mcp add`, `claude mcp add-json` o `claude mcp remove` para un servidor en el [alcance](/docs/es/mcp#mcp-installation-scopes) `user` o `local`, y Claude Code no pudo volver a leer `~/.claude.json` para confirmar el cambio. Puede que el cambio esté en el disco o puede que no. El texto entre paréntesis es el error de esa lectura.
3193 3216
3194```text theme={null}3217```text theme={null}
3195MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.3218MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.
3196```3219```
3197 3220
3198Después de una eliminación, el mensaje lee `may not have been removed` y termina con `then remove the server again if it is still listed`.3221Después de una eliminación, el mensaje dice `may not have been removed` y termina con `then remove the server again if it is still listed`.
3199 3222
3200Antes de v2.1.283, los comandos reportaban éxito incluso cuando el cambio no podía ser confirmado.3223Antes de v2.1.283, los comandos informaban éxito incluso cuando el cambio no se podía confirmar.
3201 3224
3202**Qué hacer:**3225**Qué hacer:**
3203 3226
3204* Ejecute `claude mcp get <name>` para verificar si el cambio está en el disco. Para un servidor de alcance `local`, ejecútelo desde el directorio del proyecto al que pertenece el servidor, ya que el alcance local es por proyecto.3227* Ejecuta `claude mcp get <name>` para verificar si el cambio está en el disco. Para un servidor de alcance `local`, ejecútalo desde el directorio de proyecto al que pertenece el servidor, ya que el alcance local es por proyecto.
3205* Si el servidor falta después de un agregar, o aún está listado después de una eliminación, ejecute el mismo comando de agregar o eliminar nuevamente.3228* Si el servidor falta después de agregarlo, o sigue en la lista después de eliminarlo, vuelve a ejecutar el mismo comando de agregar o eliminar.
3206 3229
3207<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3230<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">
3208 El servidor está alojado por Anthropic y no admite OAuth local3231 El servidor está alojado por Anthropic y no admite OAuth local
3209</h3>3232</h3>
3210 3233
3211Inició un inicio de sesión para un servidor MCP cuya URL apunta a un host de conector alojado por Anthropic que se autentica a través de un proveedor de identidad de terceros. Estos hosts incluyen `microsoft365.mcp.claude.com`, `gmail.mcp.claude.com`, y `gcal.mcp.claude.com`. Claude Code se niega a iniciar su flujo OAuth local para estos hosts tanto desde el panel `/mcp` como desde `claude mcp login`, porque [su inicio de sesión funciona solo a través de claude.ai](/docs/es/mcp#use-mcp-servers-from-claude-ai).3234Iniciaste un inicio de sesión para un servidor MCP cuya URL apunta a un host de conectores alojado por Anthropic que autentica mediante un proveedor de identidad de terceros. Estos hosts incluyen `microsoft365.mcp.claude.com`, `gmail.mcp.claude.com` y `gcal.mcp.claude.com`. Claude Code se niega a iniciar su flujo OAuth local para estos hosts tanto desde el panel `/mcp` como desde `claude mcp login`, porque [su inicio de sesión solo funciona a través de claude.ai](/docs/es/mcp#use-mcp-servers-from-claude-ai).
3212 3235
3213```text theme={null}3236```text theme={null}
3214"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.3237"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.
3215```3238```
3216 3239
3217Claude Code coincide con estos hosts por URL, por lo que el mensaje aparece cuando un servidor que agregó con `claude mcp add` o en `.mcp.json` apunta a uno de ellos.
3218
3219**Qué hacer:**3240**Qué hacer:**
3220 3241
3221* Elimine su entrada con `claude mcp remove <name>`, para que no pueda ocultar el conector de claude.ai en la misma URL3242* Elimina tu entrada con `claude mcp remove <name>`, para que no pueda ocultar el conector de claude.ai en la misma URL
3222* Después de eliminarlo, conecte el servicio en [claude.ai/customize/connectors](https://claude.ai/customize/connectors), mientras está conectado a la cuenta que usa en Claude Code. Una vez conectado, [el conector aparece en Claude Code automáticamente](/docs/es/mcp#use-mcp-servers-from-claude-ai) si su método de autenticación activo es un inicio de sesión de suscripción de claude.ai3243* Después de eliminarla, conecta el servicio en [claude.ai/customize/connectors](https://claude.ai/customize/connectors), con la sesión iniciada en la cuenta que usas en Claude Code. Una vez conectado, [el conector aparece en Claude Code automáticamente](/docs/es/mcp#use-mcp-servers-from-claude-ai) si tu método de autenticación activo es un inicio de sesión con una suscripción de claude.ai
3223 3244
3224<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">3245<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">
3225 El servidor rechazó el encabezado de autorización acuñado por el headersHelper configurado3246 El servidor rechazó el encabezado Authorization generado por el headersHelper configurado
3226</h3>3247</h3>
3227 3248
3228Un servidor MCP cuyo [`headersHelper`](/docs/es/mcp#use-dynamic-headers-for-custom-authentication) proporciona el encabezado `Authorization` respondió la conexión con HTTP 401 o 403, por lo que Claude Code reporta la conexión como fallida. Porque el helper proporciona el encabezado `Authorization`, Claude Code [no recurre a OAuth](/docs/es/mcp#authenticate-with-remote-mcp-servers) para el servidor:3249Un servidor MCP cuyo [`headersHelper`](/docs/es/mcp#use-dynamic-headers-for-custom-authentication) proporciona el encabezado `Authorization` respondió a la conexión con HTTP 401 o 403, así que Claude Code informa la conexión como fallida. Como el helper proporciona el encabezado `Authorization`, Claude Code [no recurre a OAuth](/docs/es/mcp#authenticate-with-remote-mcp-servers) para el servidor:
3229 3250
3230```text theme={null}3251```text theme={null}
3231Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.3252Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.
3232```3253```
3233 3254
3234Claude Code vuelve a ejecutar el helper en cada intento de conexión, por lo que un reintento después de un rechazo transitorio, como una carrera de rotación de token, puede tener éxito con una credencial nueva.3255Claude Code vuelve a ejecutar el helper en cada intento de conexión, así que un reintento después de un rechazo transitorio, como una condición de carrera en la rotación de tokens, puede tener éxito con una credencial nueva.
3235 3256
3236**Qué hacer:**3257**Qué hacer:**
3237 3258
3238* Ejecute el comando `headersHelper` usted mismo de la manera que Claude Code lo ejecuta: desde el [directorio en el que Claude Code lo ejecuta](/docs/es/mcp#where-the-helper-runs), con las [variables de entorno que Claude Code establece para él](/docs/es/mcp#use-dynamic-headers-for-custom-authentication), y sin las [variables de credencial que Claude Code elimina](/docs/es/mcp#which-variables-a-helper-can-read) para un servidor de un `.mcp.json` de proyecto, un plugin, o un archivo de agente de proyecto. Verifique que imprima un valor `Authorization` que el punto final del servidor acepte3259* Ejecuta tú mismo el comando `headersHelper` de la forma en que lo ejecuta Claude Code: desde el [directorio en el que Claude Code lo ejecuta](/docs/es/mcp#where-the-helper-runs), con las [variables de entorno que Claude Code establece para él](/docs/es/mcp#use-dynamic-headers-for-custom-authentication), y sin las [variables de credenciales que Claude Code quita](/docs/es/mcp#which-variables-a-helper-can-read) para un servidor de un `.mcp.json` de proyecto, un plugin o un archivo de agente de proyecto. Verifica que imprima un valor de `Authorization` que el endpoint del servidor acepte
3239* Después de corregir el helper o su fuente de credencial, seleccione el servidor en `/mcp` y elija **Reconnect**3260* Después de corregir el helper o la fuente de su credencial, selecciona el servidor en `/mcp` y elige **Reconnect**
3240 3261
3241Antes de v2.1.248, Claude Code ejecutaba descubrimiento OAuth para un servidor cuyo helper proporcionaba el encabezado `Authorization`. Ese descubrimiento podría fallar con `Incompatible auth server: does not support dynamic client registration` en lugar de reportar la credencial rechazada.3262Antes de v2.1.248, Claude Code ejecutaba la detección de OAuth para un servidor cuyo helper proporcionaba el encabezado `Authorization`. Esa detección podía fallar con `Incompatible auth server: does not support dynamic client registration` en lugar de informar la credencial rechazada.
3242 3263
3243<h3 id="mcp-permission-prompt-tool-not-found">3264<h3 id="mcp-permission-prompt-tool-not-found">
3244 Herramienta de solicitud de permiso MCP no encontrada3265 No se encontró la herramienta de solicitud de permisos de MCP
3245</h3>3266</h3>
3246 3267
3247La herramienta que pasó a [`--permission-prompt-tool`](/docs/es/cli-reference#cli-flags) no estaba entre las herramientas MCP conectadas cuando la ejecución primero necesitó una decisión de permiso, ya sea porque su servidor nunca se conectó o porque ningún servidor conectado expone una herramienta con ese nombre. Claude Code aún envía su símbolo del sistema: la ejecución [no interactiva](/docs/es/headless) sale con este error, y código de salida 1, en la primera llamada de herramienta que necesita aprobación, por lo que no produce respuesta aunque la solicitud fue realizada. Antes del primer símbolo del sistema, Claude Code espera hasta el tiempo de espera de conexión por servidor de 30 segundos establecido por [`MCP_TIMEOUT`](/docs/es/env-vars) para que ese servidor se conecte. Antes de v2.1.206, el inicio no esperaba a que el servidor terminara de conectarse, por lo que un servidor que se inicia lentamente pero saludable producía este error también.3268La herramienta que pasaste a [`--permission-prompt-tool`](/docs/es/cli-reference#cli-flags) no estaba entre las herramientas MCP conectadas cuando la ejecución necesitó por primera vez una decisión de permisos, ya sea porque su servidor nunca se conectó o porque ningún servidor conectado expone una herramienta con ese nombre. Claude Code igualmente envía tu prompt: la ejecución [no interactiva](/docs/es/headless) termina con este error, y el código de salida 1, en la primera llamada a herramienta, así que no produce ninguna respuesta aunque la solicitud se haya hecho. Antes del primer prompt, Claude Code espera hasta el tiempo de espera de conexión por servidor de 30 segundos establecido por [`MCP_TIMEOUT`](/docs/es/env-vars) a que ese servidor se conecte. Antes de v2.1.206, el inicio no esperaba a que el servidor terminara de conectarse, así que un servidor sano pero lento en iniciar también producía este error.
3248 3269
3249```text theme={null}3270```text theme={null}
3250Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3271Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none
3251```3272```
3252 3273
3253La lista después de `Available MCP tools:` nombra las herramientas MCP que estaban conectadas cuando terminó la espera.3274La lista después de `Available MCP tools:` nombra las herramientas MCP que estaban conectadas.
3254 3275
3255**Qué hacer:**3276**Qué hacer:**
3256 3277
3257* Verifique que el servidor se inicie y permanezca conectado: ejecute `claude mcp list` en el mismo directorio y confirme que el servidor está listado como conectado3278* Verifica que el servidor se inicie y permanezca conectado: ejecuta `claude mcp list` en el mismo directorio y confirma que el servidor aparece como conectado
3258* Confirme que el nombre de la herramienta coincida con el nombre `mcp__<server>__<tool>` que expone el servidor3279* Confirma que el nombre de la herramienta coincida con el nombre `mcp__<server>__<tool>` que expone el servidor
3259* Si el servidor necesita más de 30 segundos para iniciarse, aumente [`MCP_TIMEOUT`](/docs/es/env-vars)3280* Si el servidor necesita más de 30 segundos para iniciar, aumenta [`MCP_TIMEOUT`](/docs/es/env-vars)
3260 3281
3261<h3 id="oauth-callback-port-is-already-in-use">3282<h3 id="oauth-callback-port-is-already-in-use">
3262 El puerto de devolución de llamada OAuth ya está en uso3283 El puerto de callback de OAuth ya está en uso
3263</h3>3284</h3>
3264 3285
3265Cuando inicia sesión en un servidor MCP remoto con OAuth, Claude Code inicia un oyente local para recibir la devolución de llamada de inicio de sesión. Si el puerto que necesita ese oyente está siendo utilizado por otro proceso, el inicio de sesión falla con este mensaje. Esto sucede principalmente con un [puerto de devolución de llamada fijo](/docs/es/mcp#use-a-fixed-oauth-callback-port) establecido a través de la variable [`MCP_OAUTH_CALLBACK_PORT`](/docs/es/env-vars) o `--callback-port`, ya que sin uno Claude Code elige un puerto disponible.3286Cuando inicias sesión en un servidor MCP remoto con OAuth, Claude Code inicia un listener local para recibir el callback del inicio de sesión. Si otro proceso ocupa el puerto que necesita ese listener, el inicio de sesión falla con este mensaje. Esto ocurre principalmente con un [puerto de callback fijo](/docs/es/mcp#use-a-fixed-oauth-callback-port) establecido mediante la variable [`MCP_OAUTH_CALLBACK_PORT`](/docs/es/env-vars) o `--callback-port`, ya que sin uno Claude Code elige un puerto disponible.
3266 3287
3267```text theme={null}3288```text theme={null}
3268OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.3289OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.
3272 3293
3273**Qué hacer:**3294**Qué hacer:**
3274 3295
3275* Ejecute el comando del mensaje para encontrar el proceso que mantiene el puerto, y deténgalo o espere a que termine3296* Ejecuta el comando del mensaje para encontrar el proceso que ocupa el puerto, y detenlo o espera a que termine
3276* Si otro programa necesita ese puerto permanentemente, registre un URI de redirección diferente con el servidor y establezca su puerto con `MCP_OAUTH_CALLBACK_PORT` o `--callback-port`, el que use3297* Si otro programa necesita ese puerto de forma permanente, registra un URI de redirección diferente en el servidor y establece su puerto con `MCP_OAUTH_CALLBACK_PORT` o `--callback-port`, el que uses
3277* Luego inicie el inicio de sesión nuevamente, por ejemplo seleccionando el servidor en `/mcp`3298* Luego vuelve a iniciar el inicio de sesión, por ejemplo seleccionando el servidor en `/mcp`
3278 3299
3279<h3 id="no-available-ports-for-oauth-redirect">3300<h3 id="no-available-ports-for-oauth-redirect">
3280 No hay puertos disponibles para redirección OAuth3301 No hay puertos disponibles para la redirección de OAuth
3281</h3>3302</h3>
3282 3303
3283Cuando inicia sesión en un servidor MCP remoto con [OAuth](/docs/es/mcp#authenticate-with-remote-mcp-servers), Claude Code inicia un oyente local para recibir la devolución de llamada de inicio de sesión. El inicio de sesión falla con este mensaje cuando Claude Code no puede vincular un puerto local para él. Algo en la máquina está impidiendo que escuche en `127.0.0.1`, por ejemplo software de seguridad o una política de sandbox que deniega oyentes locales.3304Cuando inicias sesión en un servidor MCP remoto con [OAuth](/docs/es/mcp#authenticate-with-remote-mcp-servers), Claude Code inicia un listener local para recibir el callback del inicio de sesión. El inicio de sesión falla con este mensaje cuando Claude Code no puede vincular un puerto local para él. Algo en la máquina le impide escuchar en `127.0.0.1`, por ejemplo software de seguridad o una política de sandbox que deniega los listeners locales.
3284 3305
3285```text theme={null}3306```text theme={null}
3286No available ports for OAuth redirect3307No available ports for OAuth redirect
3287```3308```
3288 3309
3289Antes de v2.1.268, Claude Code no recurría a un puerto asignado por el sistema operativo, por lo que el mensaje también aparecía cuando solo sus puertos autopickados no podían ser vinculados. Esto puede suceder en hosts Windows donde Hyper-V reserva rangos de puertos que cubren los puertos que Claude Code elige.3310Antes de v2.1.268, Claude Code no recurría a un puerto asignado por el sistema operativo, así que el mensaje también aparecía cuando solo los puertos que elegía por sí mismo no se podían vincular. Eso puede ocurrir en hosts Windows donde Hyper-V reserva rangos de puertos que cubren los puertos entre los que elige Claude Code.
3290 3311
3291**Qué hacer:**3312**Qué hacer:**
3292 3313
3293* Verifique si el software de seguridad o una política de sandbox bloquea procesos de escuchar en `127.0.0.1`, y permita que Claude Code vincule un puerto local3314* Verifica si algún software de seguridad o una política de sandbox impide que los procesos escuchen en `127.0.0.1`, y permite que Claude Code vincule un puerto local
3294* Luego inicie el inicio de sesión nuevamente, por ejemplo seleccionando el servidor en `/mcp`3315* Luego vuelve a iniciar el inicio de sesión, por ejemplo seleccionando el servidor en `/mcp`
3295 3316
3296<h3 id="security-review-fails-without-origin-head">3317<h3 id="security-review-fails-without-origin-head">
3297 /security-review falla sin origin/HEAD3318 /security-review falla sin origin/HEAD
3298</h3>3319</h3>
3299 3320
3300[`/security-review`](/docs/es/commands#all-commands) construye su contexto de revisión comparando su rama contra `origin/HEAD`, la ref local que registra qué rama es la predeterminada en su remoto `origin`. Cuando esa ref no existe, los comandos git que recopilan la comparación fallan y la revisión se detiene antes de comenzar.3321[`/security-review`](/docs/es/commands#all-commands) construye el contexto de su revisión haciendo un diff de tu rama contra `origin/HEAD`, la referencia local que registra qué rama es la predeterminada en tu remoto `origin`. Cuando esa referencia no existe, los comandos de git que recopilan el diff fallan y la revisión se detiene antes de empezar.
3301 3322
3302```text theme={null}3323```text theme={null}
3303Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]3324Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]
3306'git <command> [<revision>...] -- [<file>...]'3327'git <command> [<revision>...] -- [<file>...]'
3307```3328```
3308 3329
3309El mensaje puede citar `git log` o una `git diff` diferente en su lugar. Git crea `origin/HEAD` solo cuando el remoto anuncia una rama predeterminada y su refspec de obtención la cubre, que un `git clone` completo de un remoto con commits hace. La ref falta en estas configuraciones:3330El mensaje puede citar `git log` o un `git diff` diferente en su lugar. Git crea `origin/HEAD` solo cuando el remoto anuncia una rama predeterminada y tu refspec de fetch la cubre, lo que ocurre con un `git clone` completo de un remoto con commits. La referencia falta en estas configuraciones:
3310 3331
3311* Un checkout de rama única o CI, que obtiene un refspec demasiado estrecho3332* Un checkout de una sola rama o de CI, que obtiene un refspec demasiado limitado
3312* Un remoto cuyo HEAD del lado del servidor apunta a una rama que nadie envió3333* Un remoto cuyo HEAD del lado del servidor apunta a una rama que nadie ha subido
3313* Un repositorio sin remoto `origin`, o uno del que nunca obtuvo3334* Un repositorio sin remoto `origin`, o uno del que nunca hiciste fetch
3314 3335
3315Claude Code muestra el mismo error para cualquier skill que [inyecta contexto dinámico](/docs/es/skills#when-an-injected-command-fails), y un comando inyectado fallido aborta la invocación de ese skill. Dos cadenas hermanas se activan antes de que el comando se ejecute en absoluto:3336Claude Code muestra el mismo error para cualquier skill que [inyecta contexto dinámico](/docs/es/skills#when-an-injected-command-fails), y un comando inyectado que falla aborta la invocación de ese skill. Dos cadenas hermanas se activan antes de que el comando llegue a ejecutarse:
3316 3337
3317* `Shell command permission check failed for pattern "..."`: la verificación de permiso del comando no lo permitió. [Las verificaciones de permiso en comandos inyectados](/docs/es/skills#permission-checks-on-injected-commands) cubre qué resultados abortan en cada modo de permiso y cómo pre-aprobar un comando con `allowed-tools`3338* `Shell command permission check failed for pattern "..."`: la verificación de permisos del comando no lo permitió. [Verificaciones de permisos en comandos inyectados](/docs/es/skills#permission-checks-on-injected-commands) explica qué resultados abortan en cada modo de permisos y cómo aprobar previamente un comando con `allowed-tools`
3318* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: el frontmatter del skill exige bash en una máquina sin él. Instale Git para Windows o cambie el frontmatter a `shell: powershell`. Consulte [Cómo se ejecutan los comandos inyectados](/docs/es/skills#how-injected-commands-run)3339* ``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](/docs/es/skills#how-injected-commands-run)
3319 3340
3320**Qué hacer:**3341**Qué hacer:**
3321 3342
3322* Cree la ref nombrando la rama predeterminada de su remoto: `git remote set-head origin <default-branch>`. Esto funciona siempre que exista la ref de seguimiento local `origin/<default-branch>`. Si no existe, como en clones de rama única, obtenga la rama primero: ejecute `git remote set-branches --add origin <branch>`, luego `git fetch origin`, luego vuelva a ejecutar el comando set-head. Vuelva a ejecutar `/security-review`.3343* Crea la referencia nombrando la rama predeterminada de tu remoto: `git remote set-head origin <default-branch>`. Esto funciona siempre que exista la referencia de seguimiento local `origin/<default-branch>`. Si no existe, como en los clones de una sola rama, primero obtén la rama: ejecuta `git remote set-branches --add origin <branch>`, luego `git fetch origin`, y luego vuelve a ejecutar el comando set-head. Vuelve a ejecutar `/security-review`.
3323* Si prefiere no nombrar la rama, ejecute `git fetch origin` y luego `git remote set-head origin --auto`, que pregunta al remoto qué rama es su predeterminada. Falla con `error: Cannot determine remote HEAD` cuando el remoto no anuncia una rama predeterminada, porque está vacío o su HEAD apunta a una rama que nadie envió; nombre la rama explícitamente en su lugar. Falla con `error: Not a valid ref` cuando su clon no obtiene esa rama; amplíe el refspec como se indicó anteriormente primero.3344* Si prefieres no nombrar la rama, ejecuta `git fetch origin` y luego `git remote set-head origin --auto`, que pregunta al remoto cuál es su rama predeterminada. Falla con `error: Cannot determine remote HEAD` cuando el remoto no anuncia ninguna rama predeterminada, porque está vacío o su HEAD apunta a una rama que nadie ha subido; en ese caso, nombra la rama explícitamente. Falla con `error: Not a valid ref` cuando tu clon no obtiene esa rama; primero amplía el refspec como se indicó arriba.
3324* Si el repositorio no tiene remoto, agregue uno con `git remote add origin <url>` y obtenga antes de crear la ref. Si el remoto está vacío, envíe su rama primero con `git push -u origin HEAD` y nombre esa rama en el comando set-head; `origin/HEAD` luego apunta a la rama que acaba de enviar, por lo que `/security-review` ve una comparación vacía hasta que la rama diverja de ella.3345* Si el repositorio no tiene remoto, agrega uno con `git remote add origin <url>` y haz fetch antes de crear la referencia. Si el remoto está vacío, primero sube tu rama con `git push -u origin HEAD` y nombra esa rama en el comando set-head; `origin/HEAD` apunta entonces a la rama que acabas de subir, así que `/security-review` ve un diff vacío hasta que la rama diverja de ella.
3325 3346
3326<h3 id="input-must-be-provided-when-using-print">3347<h3 id="input-must-be-provided-when-using-print">
3327 Se debe proporcionar entrada cuando se usa `--print`3348 Se debe proporcionar una entrada al usar `--print`
3328</h3>3349</h3>
3329 3350
3330`claude` desnudo necesita que stdout sea una terminal para iniciar la interfaz de usuario interactiva. Cuando stdout se redirige, o la consola no es una terminal real, como PowerShell ISE y algunos paneles de salida de IDE, `claude` se ejecuta en [modo no interactivo](/docs/es/headless) en su lugar. Ese es el mismo modo que `claude -p`, que requiere un símbolo del sistema, por lo que el mensaje nombra `--print` incluso cuando no pasó la bandera. Pasar `-p`/`--print` sin símbolo del sistema y nada canalizando en stdin produce el mismo error en cualquier lugar.3351`claude` sin argumentos necesita que stdout sea una terminal para iniciar la interfaz interactiva. Cuando stdout está redirigido, o la consola no es una terminal real, como PowerShell ISE y algunos paneles de salida de IDE, `claude` se ejecuta de forma [no interactiva](/docs/es/headless). Ese es el mismo modo que `claude -p`, que requiere un prompt, así que el mensaje nombra `--print` aunque no hayas pasado el flag. Pasar `-p`/`--print` sin prompt y sin nada canalizado en stdin produce el mismo error en cualquier lugar.
3331 3352
3332```text theme={null}3353```text theme={null}
3333Error: Input must be provided either through stdin or as a prompt argument when using --print3354Error: Input must be provided either through stdin or as a prompt argument when using --print
3335 3356
3336**Qué hacer:**3357**Qué hacer:**
3337 3358
3338* Para uso interactivo, ejecute `claude` en una terminal real: Windows Terminal o la consola de PowerShell en lugar de ISE, y la terminal integrada de su IDE en lugar de un panel de salida3359* Para uso interactivo, ejecuta `claude` en una terminal real: Windows Terminal o la consola de PowerShell en lugar de ISE, y la terminal integrada de tu IDE en lugar de un panel de salida
3339* Para uso de una sola vez, pase el símbolo del sistema: `claude -p "your question"`, o canalícelo con `echo "your question" | claude -p`3360* Para uso puntual, pasa el prompt: `claude -p "your question"`, o canalízalo con `echo "your question" | claude -p`
3340 3361
3341<h3 id="input-contained-only-whitespace">3362<h3 id="input-contained-only-whitespace">
3342 La entrada contenía solo espacios en blanco3363 La entrada contenía solo espacios en blanco
3343</h3>3364</h3>
3344 3365
3345En [modo no interactivo](/docs/es/headless), Claude Code rechaza un símbolo del sistema compuesto enteramente por espacios, tabulaciones o saltos de línea en lugar de enviarlo, porque la API rechaza mensajes sin texto visible. Qué mensaje ve depende de dónde vino el símbolo del sistema en blanco:3366En [modo no interactivo](/docs/es/headless), Claude Code rechaza un prompt compuesto por completo de espacios, tabulaciones o saltos de línea en lugar de enviarlo, porque la API rechaza los mensajes sin texto visible. El mensaje que ves depende de dónde provino el prompt en blanco:
3346 3367
3347* **Argumento de símbolo del sistema o stdin canalizado para `claude -p`**: `claude` sale con `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`3368* **Argumento de prompt o stdin canalizado para `claude -p`**: `claude` termina con `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`
3348* **Mensaje enviado a una sesión `--input-format stream-json` en ejecución o [Agent SDK](/docs/es/agent-sdk/overview)**: Claude Code termina el turno sin llamar al modelo y la sesión permanece usable. El rechazo llega como un mensaje informativo y como el texto de resultado del turno: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`3369* **Mensaje enviado a una sesión en ejecución con `--input-format stream-json` o del [Agent SDK](/docs/es/agent-sdk/overview)**: Claude Code termina el turno sin llamar al modelo y la sesión sigue siendo utilizable. El rechazo llega como un mensaje informativo y como el texto del resultado del turno: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`
3349 3370
3350Antes de v2.1.229, Claude Code enviaba el mensaje solo con espacios en blanco a la API, que rechazaba la solicitud con un error 400.3371Antes de v2.1.229, Claude Code enviaba el mensaje compuesto solo de espacios en blanco a la API, que rechazaba la solicitud con un error 400.
3351 3372
3352**Qué hacer:**3373**Qué hacer:**
3353 3374
3354* Incluya texto visible en el símbolo del sistema. Si un script construye el símbolo del sistema a partir de una variable o archivo, verifique que la fuente no esté vacía antes de llamar a Claude Code.3375* Incluye texto visible en el prompt. Si un script construye el prompt a partir de una variable o un archivo, verifica que la fuente no esté vacía antes de llamar a Claude Code.
3355 3376
3356<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">3377<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">
3357 stream-json input llevaba más de 256M caracteres sin salto de línea3378 La entrada stream-json contenía más de 256M caracteres sin salto de línea
3358</h3>3379</h3>
3359 3380
3360Su programa envió más de 268,435,456 caracteres en stdin sin un salto de línea a una ejecución `claude -p --input-format stream-json`, por lo que Claude Code imprime este error en stderr y sale con código 1 en lugar de almacenar más entrada en búfer. El mensaje establece ese presupuesto como `256M`. Antes de v2.1.257, Claude Code almacenaba tal entrada en búfer sin límite, creciendo en memoria hasta que el proceso se bloqueaba o era eliminado.3381Tu programa envió más de 268,435,456 caracteres por stdin sin un salto de línea a una ejecución de `claude -p --input-format stream-json`, así que Claude Code imprime este error en stderr y termina con el código 1 en lugar de almacenar más entrada en búfer. El mensaje expresa ese límite como `256M`. Antes de v2.1.257, Claude Code almacenaba esa entrada en búfer sin límite, haciendo crecer la memoria hasta que el proceso fallaba o se terminaba.
3361 3382
3362```text theme={null}3383```text theme={null}
3363Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.3384Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.
3364```3385```
3365 3386
3366La entrada de esta longitud sin un salto de línea generalmente significa que el productor no es un productor stream-json en absoluto, como un archivo binario o salida de registro simple canalizada por accidente. Un único mensaje sobre el presupuesto falla la misma verificación.3387Una entrada tan larga sin salto de línea suele significar que el productor no es en absoluto un productor de stream-json, como un archivo binario o una salida de registro de texto plano canalizada por accidente. Un único mensaje que supera el límite falla la misma verificación.
3367 3388
3368**Qué hacer:**3389**Qué hacer:**
3369 3390
3370* Verifique qué se canaliza a stdin. Con [`--input-format stream-json`](/docs/es/cli-reference#cli-flags), cada mensaje debe ser una línea JSON terminada por salto de línea3391* Revisa qué se está canalizando a stdin. Con [`--input-format stream-json`](/docs/es/cli-reference#cli-flags), cada mensaje debe ser una línea JSON terminada en salto de línea
3371* Para enviar texto sin formato en su lugar, elimine `--input-format stream-json`; `claude -p` lee un símbolo del sistema de texto sin formato desde stdin de forma predeterminada3392* Para enviar texto plano en su lugar, quita `--input-format stream-json`; `claude -p` lee un prompt de texto plano desde stdin de forma predeterminada
3372 3393
3373<h3 id="unknown-command">3394<h3 id="unknown-command">
3374 Comando desconocido3395 Comando desconocido
3375</h3>3396</h3>
3376 3397
3377En una sesión de terminal interactiva, envió un nombre `/` que no coincide con ningún comando en esta sesión, por lo que Claude Code reporta el nombre en lugar de ejecutar cualquier cosa:3398En una sesión interactiva de terminal, enviaste un nombre con `/` que no coincide con ningún comando de esta sesión, así que Claude Code informa el nombre en lugar de ejecutar algo:
3378 3399
3379```text theme={null}3400```text theme={null}
3380Unknown command: /hepl. Did you mean /help?3401Unknown command: /hepl. Did you mean /help?
3381```3402```
3382 3403
3383Claude Code sugiere el nombre de comando o alias más cercano que el menú enumera en esta sesión. Cuando nada está cerca, el mensaje termina después del nombre. La causa es generalmente una de las siguientes:3404Claude Code sugiere el nombre o alias de comando más cercano que el menú enumera en esta sesión. Cuando no hay nada cercano, el mensaje termina después del nombre. La causa suele ser una de las siguientes:
3384 3405
3385* Un error tipográfico, como `/hepl` para `/help`. [Cómo el menú de comandos coincide con lo que escribe](/docs/es/commands#how-the-command-menu-matches-what-you-type) cubre elegir una coincidencia cercana antes de enviar3406* Un error de tipeo, como `/hepl` en lugar de `/help`. [Cómo el menú de comandos hace coincidir lo que escribes](/docs/es/commands#how-the-command-menu-matches-what-you-type) explica cómo elegir una coincidencia cercana antes de enviar
3386* Un comando que existe pero no está disponible en esta sesión porque no se cumple un requisito, como su plataforma, plan o método de autenticación. Las entradas de solución de problemas para [`/web-setup`](/docs/es/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) y [`/schedule`](/docs/es/routines#schedule-returns-unknown-command) recorren dos casos comunes. Algunos comandos responden con su propio mensaje cuando la política de su organización los desactiva, como [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)3407* Un comando que existe pero no está disponible en esta sesión porque no se cumple un requisito, como tu plataforma, tu plan o tu método de autenticación. Las entradas de solución de problemas de [`/web-setup`](/docs/es/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) y [`/schedule`](/docs/es/routines#schedule-returns-unknown-command) explican dos casos comunes. Algunos comandos responden con su propio mensaje cuando la política de tu organización los deshabilita, como [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)
3387* Un comando de un [plugin](/docs/es/plugins/overview) o [servidor MCP](/docs/es/mcp#use-mcp-prompts-as-commands) que no está instalado o conectado en esta sesión3408* Un comando de un [plugin](/docs/es/plugins/overview) o de un [servidor MCP](/docs/es/mcp#use-mcp-prompts-as-commands) que no está instalado o conectado en esta sesión
3388 3409
3389Claude Code responde a un nombre `/` que no coincide con ningún comando de esta manera solo en una sesión de terminal interactiva. En todas las otras sesiones, envía el símbolo del sistema a Claude como un mensaje normal en su lugar, con una nota de que el comando no se ejecutó y una lista de comandos que Claude puede ejecutar en la sesión. Esas sesiones incluyen:3410Claude Code responde de esta forma a un nombre con `/` sin coincidencia solo en una sesión interactiva de terminal. En cualquier otra sesión, envía el prompt a Claude como un mensaje normal, con una nota de que el comando no se ejecutó y una lista de los comandos que Claude puede ejecutar en la sesión. Esas sesiones incluyen:
3390 3411
3391* Ejecuciones `-p`3412* Ejecuciones con `-p`
3392* Aplicaciones [Agent SDK](/docs/es/agent-sdk/overview)3413* Aplicaciones del [Agent SDK](/docs/es/agent-sdk/overview)
3393* La pestaña Code de la [aplicación Desktop](/docs/es/desktop)3414* La pestaña Code de la [aplicación de escritorio](/docs/es/desktop)
3394* El panel de chat de la [extensión VS Code](/docs/es/vs-code)3415* El panel de chat de la [extensión de VS Code](/docs/es/vs-code)
3395* [Sesiones en la nube](/docs/es/claude-code-on-the-web) y [rutinas](/docs/es/routines)3416* [Sesiones en la nube](/docs/es/claude-code-on-the-web) y [rutinas](/docs/es/routines)
3396 3417
3397Para un comando integrado que no puede ejecutarse en una de esas sesiones, Claude Code aún responde que el comando no está disponible en su lugar de enviarlo a Claude. Antes de v2.1.274, solo las sesiones en la nube y las rutinas enviaban un nombre que no coincidía a Claude. Antes de v2.1.273, también respondían `Unknown command`.3418Para un comando integrado que no se puede ejecutar en una de esas sesiones, Claude Code sigue respondiendo que el comando no está disponible en lugar de enviarlo a Claude. Antes de v2.1.274, solo las sesiones en la nube y las rutinas enviaban a Claude un nombre sin coincidencia. Antes de v2.1.273, también respondían `Unknown command`.
3398 3419
3399Claude Code no trata cada símbolo del sistema que comienza con `/` como un comando. Envía el símbolo del sistema a Claude como un mensaje normal cuando la primera palabra después del `/` comienza con puntuación, como el `/--` que abre un comentario de documento Lean, o es una ruta como `/var/log/syslog`.3420Claude Code no trata como comando todo prompt que comienza con `/`. Envía el prompt a Claude como un mensaje normal cuando la primera palabra después de la `/` comienza con un signo de puntuación, como el `/--` que abre un comentario de documentación de Lean, o es una ruta como `/var/log/syslog`.
3400 3421
3401Antes de v2.1.236, si presionaba `Enter` mientras el menú de comandos enumeraba una coincidencia cercana para el nombre que escribió, Claude Code ejecutaba esa coincidencia, por lo que un error tipográfico como `/hepl` ejecutaba `/help` en lugar de producir este mensaje.3422Antes de v2.1.236, si presionabas `Enter` mientras el menú de comandos mostraba una coincidencia cercana al nombre que escribiste, Claude Code ejecutaba esa coincidencia, así que un error de tipeo como `/hepl` ejecutaba `/help` en lugar de producir este mensaje.
3402 3423
3403**Qué hacer:**3424**Qué hacer:**
3404 3425
3405* Ejecute el nombre sugerido, o escriba `/` seguido de parte del nombre para ver qué está disponible en esta sesión3426* Ejecuta el nombre sugerido, o escribe `/` seguido de parte del nombre para ver qué está disponible en esta sesión
3406* Si Claude Code reporta un comando documentado como desconocido, verifique su fila en la [referencia de comandos](/docs/es/commands) para el requisito que nombra3427* Si Claude Code informa como desconocido un comando documentado, revisa su fila en la [referencia de comandos](/docs/es/commands) para ver el requisito que nombra
3407 3428
3408<h3 id="diff-is-too-large-for-ultrareview">3429<h3 id="diff-is-too-large-for-ultrareview">
3409 La comparación es demasiado grande para ultrareview3430 El diff es demasiado grande para ultrareview
3410</h3>3431</h3>
3411 3432
3412La comparación entre su rama y la rama base, incluidos los cambios no confirmados y preparados, excede los límites de tamaño para una [ultrareview](/docs/es/ultrareview), por lo que `/code-review ultra` y el subcomando `claude ultrareview` rechazan la revisión antes de que comience la sesión en la nube. Una revisión rechazada no usa una ejecución gratuita y no factura créditos de uso. El mensaje nombra los límites en vigor, el tamaño de su comparación y los archivos que contribuyen la mayoría de líneas cambiadas. Antes de v2.1.216, el mensaje mostraba solo las estadísticas de comparación sin procesar.3433El diff entre tu rama y la rama base, incluidos los cambios sin commit y los preparados, supera los límites de tamaño de un [ultrareview](/docs/es/ultrareview), así que `/code-review ultra` y el subcomando `claude ultrareview` rechazan la revisión antes de que se inicie la sesión en la nube. Una revisión rechazada no usa una ejecución gratuita ni cobra créditos de uso. El mensaje nombra los límites vigentes, el tamaño de tu diff y los archivos que aportan más líneas modificadas. Antes de v2.1.216, el mensaje mostraba solo las estadísticas sin procesar del diff.
3413 3434
3414```text theme={null}3435```text theme={null}
3415Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.3436Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.
3416```3437```
3417 3438
3418Revisar una solicitud de extracción aplica los mismos límites; esa forma del mensaje comienza `PR #<N> is too large for ultrareview` y nombra los recuentos de archivo y línea de la PR.3439La revisión de un pull request aplica los mismos límites; esa forma del mensaje comienza con `PR #<N> is too large for ultrareview` y nombra las cantidades de archivos y líneas del PR.
3419 3440
3420**Qué hacer:**3441**Qué hacer:**
3421 3442
3422* Pase una rama base más cercana a su trabajo, como `/code-review ultra develop`, para que la revisión cubra solo la comparación contra esa rama3443* Pasa una rama base más cercana a tu trabajo, como `/code-review ultra develop`, para que la revisión cubra solo el diff contra esa rama
3423* Divida el cambio en ramas más pequeñas y revise cada una. Los archivos que el mensaje nombra contribuyen la mayoría de líneas cambiadas, así que comience moviendo esos a su propia rama.3444* Divide el cambio en ramas más pequeñas y revisa cada una. Los archivos que nombra el mensaje aportan más líneas modificadas, así que empieza por mover esos a su propia rama.
3424 3445
3425<h3 id="could-not-find-merge-base-with-the-base-branch">3446<h3 id="could-not-find-merge-base-with-the-base-branch">
3426 No se pudo encontrar merge-base con la rama base3447 No se pudo encontrar el merge-base con la rama base
3427</h3>3448</h3>
3428 3449
3429`/code-review ultra` y el subcomando `claude ultrareview` revisan la comparación entre su rama y una rama base, que necesita un commit que ambas compartan. Cuando `git merge-base` no encuentra ninguno, Claude Code rechaza la revisión antes de que comience la sesión en la nube. En un clon que Claude Code puede verificar que está completo, con al menos una rama, recurre a [revisar cada archivo rastreado](/docs/es/ultrareview#diff-limits-and-fallbacks) en su lugar de rechazar. Ve este rechazo cuando la rama base no se puede encontrar en absoluto, cuando Claude Code no puede verificar que su clon está completo, o en el raro repositorio donde la comparación de árbol completo no es posible, como el formato de objeto SHA-256.3450`/code-review ultra` y el subcomando `claude ultrareview` revisan el diff entre tu rama y una rama base, lo que requiere un commit que ambas compartan. Cuando `git merge-base` no encuentra ninguno, Claude Code rechaza la revisión antes de que se inicie la sesión en la nube. En un clon que Claude Code puede verificar como completo, con al menos una rama, recurre a [revisar todos los archivos con seguimiento](/docs/es/ultrareview#diff-limits-and-fallbacks) en lugar de rechazarla. Ves este rechazo cuando la rama base no se encuentra en absoluto, cuando Claude Code no puede verificar que tu clon esté completo, o en el raro repositorio donde el diff del árbol completo no es posible, como con el formato de objetos SHA-256.
3430 3451
3431```text theme={null}3452```text theme={null}
3432Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.3453Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.
3434 3455
3435La sugerencia después de la primera oración depende de lo que Claude Code observó:3456La sugerencia después de la primera oración depende de lo que Claude Code observó:
3436 3457
3437* **No pasó una rama base**: Claude Code comparó contra la rama predeterminada del repositorio y sugiere pasar su base explícitamente, como en el ejemplo anterior3458* **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
3438* **Pasó una rama base que ya estaba en su clon**: la sugerencia lee ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3459* **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>`)``
3439* **Pasó una rama base que no estaba en su clon**: Claude Code la obtuvo de origin antes de comparar. La sugerencia lee ``<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 su clon es superficial, sugiere `git fetch --unshallow origin` en su lugar. Antes de v2.1.221, la sugerencia sugerí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`.3460* **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`.
3440 3461
3441**Qué hacer:**3462**Qué hacer:**
3442 3463
3443* Si otra rama es su base real, pásela explícitamente: `/code-review ultra <branch>`3464* Si otra rama es tu base real, pásala explícitamente: `/code-review ultra <branch>`
3444* Si su clon podría no tener historial completo, ejecute `git fetch --unshallow origin` y vuelva a ejecutar la revisión3465* Si es posible que tu clon no tenga el historial completo, ejecuta `git fetch --unshallow origin` y vuelve a ejecutar la revisión
3445 3466
3446<h3 id="your-checkout-has-no-branches">3467<h3 id="your-checkout-has-no-branches">
3447 Su checkout no tiene ramas3468 Tu checkout no tiene ramas
3448</h3>3469</h3>
3449 3470
3450Un checkout puede tener commits pero sin ramas: si ejecuta `git init` seguido de `git fetch <url>` y `git checkout FETCH_HEAD`, obtiene un HEAD desconectado sin refs. Claude Code empaqueta su repositorio como un paquete git para cargarlo para una [ultrareview](/docs/es/ultrareview), y no puede empaquetar un repositorio que no tiene ramas u otras refs, por lo que `/code-review ultra` y el subcomando `claude ultrareview` rechazan la revisión antes de que comience la sesión en la nube.3471Un checkout puede tener commits pero no ramas: si ejecutas `git init` seguido de `git fetch <url>` y `git checkout FETCH_HEAD`, obtienes un HEAD desacoplado sin referencias. Claude Code empaqueta tu repositorio como un bundle de git para subirlo para un [ultrareview](/docs/es/ultrareview), y no puede empaquetar un repositorio que no tiene ramas ni otras referencias, así que `/code-review ultra` y el subcomando `claude ultrareview` rechazan la revisión antes de que se inicie la sesión en la nube.
3451 3472
3452```text theme={null}3473```text theme={null}
3453Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.3474Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.
3454```3475```
3455 3476
3456Antes de v2.1.221, Claude Code intentaba revisar cada archivo rastreado en este checkout, y la carga fallaba.3477Antes de v2.1.221, Claude Code intentaba revisar todos los archivos con seguimiento de este checkout, y la subida fallaba.
3457 3478
3458**Qué hacer:**3479**Qué hacer:**
3459 3480
3460* Cree una rama en su commit actual con `git checkout -b <name>`, luego vuelva a ejecutar la revisión3481* Crea una rama en tu commit actual con `git checkout -b <name>` y vuelve a ejecutar la revisión
3461 3482
3462<h3 id="no-github-account-is-connected-to-your-claude-account">3483<h3 id="no-github-account-is-connected-to-your-claude-account">
3463 Ninguna cuenta de GitHub está conectada a su cuenta de Claude3484 No hay ninguna cuenta de GitHub conectada a tu cuenta de Claude
3464</h3>3485</h3>
3465 3486
3466Ejecutó `/code-review ultra <PR#>` o `claude ultrareview <PR#>`, y antes de crear la sesión en la nube Claude Code pregunta al servidor si [la cuenta de GitHub conectada a su cuenta de Claude](/docs/es/ultrareview#review-a-pull-request) puede alcanzar el repositorio de la PR. Ninguna cuenta está conectada, o la conexión expiró, por lo que el clon en la nube fallaría y Claude Code rechaza el lanzamiento. Claude Code no gasta una ejecución gratuita ni factura créditos de uso para un lanzamiento rechazado.3487Ejecutaste `/code-review ultra <PR#>` o `claude ultrareview <PR#>`, y antes de crear la sesión en la nube Claude Code pregunta al servidor si [la cuenta de GitHub conectada a tu cuenta de Claude](/docs/es/ultrareview#review-a-pull-request) puede acceder al repositorio del PR. No hay ninguna cuenta conectada, o la conexión caducó, así que el clon en la nube fallaría y Claude Code rechaza el inicio. Claude Code no gasta una ejecución gratuita ni cobra créditos de uso por un inicio rechazado.
3467 3488
3468```text theme={null}3489```text theme={null}
3469Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).3490Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).
3470```3491```
3471 3492
3472Cuando [`/web-setup`](/docs/es/web-quickstart#connect-from-your-terminal) no está disponible en su sesión, el mensaje nombra solo el enlace de claude.ai.3493Cuando [`/web-setup`](/docs/es/web-quickstart#connect-from-your-terminal) no está disponible en tu sesión, el mensaje nombra solo el enlace de claude.ai.
3473 3494
3474**Qué hacer:**3495**Qué hacer:**
3475 3496
3476* Ejecute `/web-setup` para conectar su inicio de sesión de GitHub CLI a su cuenta de Claude, o conecte una cuenta en [claude.ai/connect-github](https://claude.ai/connect-github)3497* Ejecuta `/web-setup` para conectar tu inicio de sesión de la CLI de GitHub a tu cuenta de Claude, o conecta una cuenta en [claude.ai/connect-github](https://claude.ai/connect-github)
3477* Vuelva a ejecutar la revisión un minuto después de conectar3498* Vuelve a ejecutar la revisión un minuto después de conectarte
3478 3499
3479Antes de v2.1.248, Claude Code no verificaba esto antes del lanzamiento.3500Antes de v2.1.248, Claude Code no verificaba esto antes del inicio.
3480 3501
3481<h3 id="your-connected-github-account-cant-see-the-repository">3502<h3 id="your-connected-github-account-cant-see-the-repository">
3482 Su cuenta de GitHub conectada no puede ver el repositorio3503 Tu cuenta de GitHub conectada no puede ver el repositorio
3483</h3>3504</h3>
3484 3505
3485Ejecutó `/code-review ultra <PR#>` o `claude ultrareview <PR#>`, y [la cuenta de GitHub conectada a su cuenta de Claude](/docs/es/ultrareview#review-a-pull-request) no puede leer el repositorio de la PR, por lo que el clon en la nube fallaría y Claude Code rechaza el lanzamiento. Claude Code no gasta una ejecución gratuita ni factura créditos de uso para un lanzamiento rechazado.3506Ejecutaste `/code-review ultra <PR#>` o `claude ultrareview <PR#>`, y [la cuenta de GitHub conectada a tu cuenta de Claude](/docs/es/ultrareview#review-a-pull-request) no puede leer el repositorio del PR, así que el clon en la nube fallaría y Claude Code rechaza el inicio. Claude Code no gasta una ejecución gratuita ni cobra créditos de uso por un inicio rechazado.
3486 3507
3487```text theme={null}3508```text theme={null}
3488Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.3509Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.
3489```3510```
3490 3511
3491Cuando [`/web-setup`](/docs/es/web-quickstart#connect-from-your-terminal) no está disponible en su sesión, el mensaje nombra solo la instalación de la aplicación.3512Cuando [`/web-setup`](/docs/es/web-quickstart#connect-from-your-terminal) no está disponible en tu sesión, el mensaje nombra solo la instalación de la aplicación.
3492 3513
3493**Qué hacer:**3514**Qué hacer:**
3494 3515
3495* Si su CLI `gh` local puede leer el repositorio, ejecute `/web-setup` para conectar ese inicio de sesión a su cuenta de Claude3516* Si tu CLI `gh` local puede leer el repositorio, ejecuta `/web-setup` para conectar ese inicio de sesión a tu cuenta de Claude
3496* Vuelva a ejecutar la revisión después del cambio3517* Vuelve a ejecutar la revisión después del cambio
3497 3518
3498Antes de v2.1.248, Claude Code no verificaba esto antes del lanzamiento.3519Antes de v2.1.248, Claude Code no verificaba esto antes del inicio.
3499 3520
3500<h3 id="the-github-app-preflight-failed-transiently">3521<h3 id="the-github-app-preflight-failed-transiently">
3501 La verificación previa de la aplicación de GitHub falló transitoriamente3522 La verificación previa de la GitHub App falló de forma transitoria
3502</h3>3523</h3>
3503 3524
3504Inició una [sesión en la nube](/docs/es/claude-code-on-the-web) desde un repositorio local, y dos pasos fallaron juntos. Claude Code no pudo construir o cargar el paquete de su repositorio. Antes de la carga, verificó si el servicio en la nube puede clonar el repositorio desde GitHub, y en lugar de una respuesta definitiva, esa verificación terminó en un error que un reintento podría aclarar, como un error de red, un tiempo de espera, o un error temporal del servidor. El mensaje completo comienza con lo que detuvo el paquete, por ejemplo `Could not upload repo bundle (<error>)`, y termina con la oración de verificación previa:3525Iniciaste una [sesión en la nube](/docs/es/claude-code-on-the-web) desde un repositorio local, y dos pasos fallaron a la vez. Claude Code no pudo construir ni subir el bundle de tu repositorio. Antes de la subida, verificó si el servicio en la nube puede clonar el repositorio desde GitHub, y en lugar de una respuesta definitiva, esa verificación terminó en un error que un reintento podría resolver, como un error de red, un tiempo de espera agotado o un error temporal del servidor. El mensaje completo comienza con lo que detuvo el bundle, por ejemplo `Could not upload repo bundle (<error>)`, y termina con la oración de la verificación previa:
3505 3526
3506```text theme={null}3527```text theme={null}
3507Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3528Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead
3509 3530
3510**Qué hacer:**3531**Qué hacer:**
3511 3532
3512* Vuelva a ejecutar el comando después de un momento. Cuando la verificación de GitHub pasa, Claude Code puede iniciar la sesión desde un clon de GitHub, por lo que la carga fallida ya no bloquea el lanzamiento3533* Vuelve a ejecutar el comando después de un momento. Cuando la verificación de GitHub pasa, Claude Code puede iniciar la sesión desde un clon de GitHub, así que la subida fallida ya no bloquea el inicio
3513* Si los reintentos siguen fallando, el inicio del mensaje nombra lo que detuvo la carga. Cuando esa causa es algo que puede corregir, corríjalo para que la sesión pueda iniciarse desde su repositorio local en su lugar3534* Si los reintentos siguen fallando, el inicio del mensaje nombra lo que detuvo la subida. Cuando esa causa es algo que puedes corregir, corrígela para que la sesión pueda iniciarse desde tu repositorio local en su lugar
3514 3535
3515Antes de v2.1.251, Claude Code terminaba el mensaje con `Please set up GitHub on https://claude.ai/code` incluso cuando la verificación de GitHub falló solo transitoriamente, y el consejo de configuración no puede aclarar una falla transitoria.3536Antes de v2.1.251, Claude Code terminaba el mensaje con `Please set up GitHub on https://claude.ai/code` incluso cuando la verificación de GitHub fallaba solo de forma transitoria, y un consejo de configuración no puede resolver un fallo transitorio.
3516 3537
3517<h3 id="the-repository-upload-cant-follow-a-git-setting">3538<h3 id="the-repository-upload-cant-follow-a-git-setting">
3518 La carga del repositorio no puede seguir una configuración de git3539 La subida del repositorio no puede seguir un ajuste de git
3519</h3>3540</h3>
3520 3541
3521Inició una [sesión en la nube que carga su repositorio local](/docs/es/claude-code-on-the-web#send-local-repositories-without-github), o una [ultrareview](/docs/es/ultrareview) de una rama, y la carga no puede seguir una de las configuraciones de git que deciden qué reglas de atributo se aplican a sus archivos. Si la carga continuara y perdiera una regla, un archivo que git transforma antes de almacenarlo, como uno que un filtro limpio cifra, podría llegar a la nube tal como está en el disco. Claude Code rechaza la carga en su lugar, y nada se carga:3542Iniciaste una [sesión en la nube que sube tu repositorio local](/docs/es/claude-code-on-the-web#send-local-repositories-without-github), o un [ultrareview](/docs/es/ultrareview) de una rama, y la subida no puede seguir uno de los ajustes de git que deciden qué reglas de atributos se aplican a tus archivos. Si la subida continuara y se saltara una regla, un archivo que git transforma antes de almacenarlo, como uno que un filtro clean cifra, podría llegar a la nube tal como está en el disco. En su lugar, Claude Code rechaza la subida y no se sube nada:
3522 3543
3523```text theme={null}3544```text theme={null}
3524Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository's .git/config or directly into your ~/.gitconfig, then retry.3545Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry.
3525```3546```
3526 3547
3527El mensaje nombra la configuración y dónde está establecida, y termina con la solución para el caso que golpeó. El mismo rechazo aparece para `core.attributesFile` y `attr.tree`, cada uno con su propia solución.3548El mensaje nombra el ajuste y dónde está establecido, y termina con la solución para el caso que encontraste. El mismo rechazo aparece para `core.attributesFile` y `attr.tree`, cada uno con su propia solución.
3528 3549
3529El mensaje puede nombrar un archivo de configuración que su configuración de git extrae a través de una directiva `include` o `includeIf`, incluso cuando esa condición de directiva no se aplica a este repositorio.3550El mensaje puede nombrar un archivo de configuración que tu configuración de git incorpora mediante una directiva `include` o `includeIf`, incluso cuando la condición de esa directiva no se aplica a este repositorio.
3530 3551
3531**Qué hacer:**3552**Qué hacer:**
3532 3553
3533* Aplique la solución en la oración final del mensaje3554* Aplica la solución de la oración final del mensaje
3534 3555
3535<h3 id="github-isnt-connected-to-your-claude-account">3556<h3 id="github-isnt-connected-to-your-claude-account">
3536 GitHub no está conectado a su cuenta de Claude3557 GitHub no está conectado a tu cuenta de Claude
3537</h3>3558</h3>
3538 3559
3539Inició una [sesión en la nube](/docs/es/claude-code-on-the-web) desde su repositorio local, por ejemplo con `/autofix-pr`. Ninguna cuenta de GitHub está conectada a su cuenta de Claude, o la conexión expiró, por lo que Claude Code rechaza el lanzamiento:3560Iniciaste una [sesión en la nube](/docs/es/claude-code-on-the-web) desde tu repositorio local, por ejemplo con `/autofix-pr`. No hay ninguna cuenta de GitHub conectada a tu cuenta de Claude, o la conexión caducó, así que Claude Code rechaza el inicio:
3540 3561
3541```text theme={null}3562```text theme={null}
3542GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github3563GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github
3543```3564```
3544 3565
3545Cuando crea una rutina con [`/schedule`](/docs/es/routines), el mismo mensaje aparece como una nota de configuración que nombra el repositorio; la nota no bloquea la creación de la rutina.3566Cuando creas una rutina con [`/schedule`](/docs/es/routines), el mismo mensaje aparece como una nota de configuración que nombra el repositorio; la nota no impide crear la rutina.
3546 3567
3547**Qué hacer:**3568**Qué hacer:**
3548 3569
3549* Ejecute `/web-setup` para conectar su inicio de sesión de GitHub CLI a su cuenta de Claude, o conecte una cuenta en [claude.ai/connect-github](https://claude.ai/connect-github). Consulte [Opciones de autenticación de GitHub](/docs/es/claude-code-on-the-web#github-authentication-options) para ver cómo difieren los dos.3570* Ejecuta `/web-setup` para conectar tu inicio de sesión de la CLI de GitHub a tu cuenta de Claude, o conecta una cuenta en [claude.ai/connect-github](https://claude.ai/connect-github). Consulta [Opciones de autenticación de GitHub](/docs/es/claude-code-on-the-web#github-authentication-options) para ver en qué se diferencian.
3550* Vuelva a ejecutar el comando un minuto después de conectar3571* Vuelve a ejecutar el comando un minuto después de conectarte
3551 3572
3552Antes de v2.1.268, Claude Code reportaba esto como una falla temporal de la verificación de la aplicación de GitHub de Claude y sugería reintentar o instalar la aplicación; ninguno conecta una cuenta de GitHub.3573Antes de v2.1.268, Claude Code informaba esto como un fallo temporal de la verificación de la Claude GitHub App y sugería reintentar o instalar la aplicación; ninguna de las dos opciones conecta una cuenta de GitHub.
3553 3574
3554<h3 id="single-sign-on-authorization-needed">3575<h3 id="single-sign-on-authorization-needed">
3555 Autorización de inicio de sesión único necesaria3576 Se necesita autorización de inicio de sesión único
3556</h3>3577</h3>
3557 3578
3558Ejecutó [`/install-github-app`](/docs/es/github-actions#quick-setup) y eligió un repositorio cuya organización aplica inicio de sesión único SAML. Antes de la configuración, Claude Code verifica su acceso al repositorio con la CLI de GitHub, y GitHub rechazó esa verificación porque su token `gh` aún no está autorizado para la organización. El asistente muestra la advertencia con los pasos para autorizar:3579Ejecutaste [`/install-github-app`](/docs/es/github-actions#quick-setup) y elegiste un repositorio cuya organización exige el inicio de sesión único SAML. Antes de la configuración, Claude Code verifica tu acceso al repositorio con la CLI de GitHub, y GitHub rechazó esa verificación porque tu token de `gh` todavía no está autorizado para la organización. El asistente muestra la advertencia con los pasos para autorizarlo:
3559 3580
3560```text theme={null}3581```text theme={null}
3561Single sign-on authorization needed3582Single sign-on authorization needed
3564 3585
3565**Qué hacer:**3586**Qué hacer:**
3566 3587
3567* Vuelva a autorizar su inicio de sesión de GitHub CLI con los alcances `repo` y `workflow` ejecutando `gh auth refresh -h github.com -s repo,workflow`, y autorice la organización cuando GitHub solicite inicio de sesión único3588* Vuelve a autorizar tu inicio de sesión de la CLI de GitHub con los alcances `repo` y `workflow` ejecutando `gh auth refresh -h github.com -s repo,workflow`, y autoriza la organización cuando GitHub solicite el inicio de sesión único
3568* Si se autentica con un token de acceso personal en `GH_TOKEN`, abra [github.com/settings/tokens](https://github.com/settings/tokens), seleccione **Configure SSO** en el token, y autorice la organización3589* Si te autenticas con un token de acceso personal en `GH_TOKEN`, abre [github.com/settings/tokens](https://github.com/settings/tokens), selecciona **Configure SSO** en el token y autoriza la organización
3569* Ejecute `/install-github-app` nuevamente3590* Vuelve a ejecutar `/install-github-app`
3570 3591
3571Antes de v2.1.273, Claude Code mostraba la advertencia `Admin permissions required` para esta condición en su lugar.3592Antes de v2.1.273, Claude Code mostraba la advertencia `Admin permissions required` para esta condición en su lugar.
3572 3593
3574 No se pudo reanudar la conversación3595 No se pudo reanudar la conversación
3575</h3>3596</h3>
3576 3597
3577Claude Code no pudo leer o procesar la transcripción guardada para la sesión que seleccionó del [selector `claude --resume`](/docs/es/sessions#use-the-session-picker), por lo que termina el proceso en lugar de continuar en un estado parcialmente cargado. El mensaje incluye el comando para reintentar:3598Claude Code no pudo leer ni procesar la transcripción guardada de la sesión que seleccionaste en el [selector de `claude --resume`](/docs/es/sessions#use-the-session-picker), así que termina el proceso en lugar de continuar en un estado cargado parcialmente. El mensaje incluye el comando para reintentar:
3578 3599
3579```text theme={null}3600```text theme={null}
3580Failed to resume the conversation.3601Failed to resume the conversation.
3581Run claude --resume <session-id> to retry, or claude to start a new session.3602Run claude --resume <session-id> to retry, or claude to start a new session.
3582```3603```
3583 3604
3584Claude Code sale con código 1 después de mostrar el mensaje. El selector `/resume` dentro de una sesión en ejecución reporta `Failed to resume conversation` en la conversación en su lugar, y su sesión actual sigue ejecutándose. Antes de v2.1.216, un reintento fallido desde el selector `claude --resume` permanecía en el spinner `Resuming conversation…` indefinidamente en lugar de mostrar este mensaje.3605Claude Code termina con el código 1 después de mostrar el mensaje. El selector de `/resume` dentro de una sesión en ejecución informa `Failed to resume conversation` en la conversación en su lugar, y tu sesión actual sigue ejecutándose. Antes de v2.1.216, una reanudación fallida desde el selector de `claude --resume` se quedaba indefinidamente en el indicador giratorio `Resuming conversation…` en lugar de mostrar este mensaje.
3585 3606
3586**Qué hacer:**3607**Qué hacer:**
3587 3608
3588* Ejecute `claude --resume <session-id>` con el ID de sesión del mensaje para reintentar3609* Ejecuta `claude --resume <session-id>` con el ID de sesión del mensaje para reintentar
3589* Si cada reintento falla de la misma manera, ejecute `claude update` y reanude nuevamente. Las versiones anteriores a v2.1.275 fallan en la reanudación cuando la transcripción guardada contiene una entrada que no pueden leer.3610* Si todos los reintentos fallan de la misma forma, ejecuta `claude update` y vuelve a reanudar. Las versiones anteriores a v2.1.275 hacen fallar la reanudación cuando la transcripción guardada contiene una entrada que no pueden leer.
3590* Si el reintento falla nuevamente, ejecute `claude` para iniciar una nueva sesión3611* Si el reintento vuelve a fallar, ejecuta `claude` para iniciar una nueva sesión
3591 3612
3592<h3 id="no-conversation-found-with-the-session-id">3613<h3 id="no-conversation-found-with-the-session-id">
3593 No se encontró conversación con el ID de sesión3614 No se encontró ninguna conversación con el ID de sesión
3594</h3>3615</h3>
3595 3616
3596Pasó un ID de sesión a `claude --resume <session-id>` y ninguna transcripción guardada coincidió:3617Pasaste un ID de sesión a `claude --resume <session-id>` y ninguna transcripción guardada coincidió con él:
3597 3618
3598```text theme={null}3619```text theme={null}
3599No conversation found with session ID: <session-id>3620No conversation found with session ID: <session-id>
3600```3621```
3601 3622
3602Claude Code sale con código 1 después de mostrar el mensaje. Claude Code [busca el proyecto actual primero, luego cada otro proyecto en esta máquina](/docs/es/sessions#resume-a-session) para el ID. Antes de v2.1.223, la búsqueda se detuvo en el directorio del proyecto actual y sus worktrees de git, por lo que reanude desde el directorio donde la sesión trabajó por última vez.3623Claude Code termina con el código 1 después de mostrar el mensaje. Claude Code [busca el ID primero en el proyecto actual y luego en todos los demás proyectos de esta máquina](/docs/es/sessions#resume-a-session). Antes de v2.1.223, la búsqueda se detenía en el directorio del proyecto actual y sus worktrees de git, así que debías reanudar desde el directorio en el que la sesión trabajó por última vez.
3603 3624
3604Las causas comunes:3625Causas comunes:
3605 3626
3606* **ID mal escrito**: para una ejecución no interactiva, el ID es el campo `session_id` de la salida [`--output-format json`](/docs/es/headless#get-structured-output)3627* **ID mal escrito**: para una ejecución no interactiva, el ID es el campo `session_id` de la [salida de `--output-format json`](/docs/es/headless#get-structured-output)
3607* **Transcripción eliminada**: Claude Code elimina transcripciones después del [período de retención](/docs/es/sessions#where-transcripts-are-stored), 30 días de forma predeterminada, siguiendo las [reglas de barrido de retención](/docs/es/claude-directory#cleaned-up-automatically)3628* **Transcripción eliminada**: Claude Code elimina las transcripciones después del [período de retención](/docs/es/sessions#where-transcripts-are-stored), 30 días de forma predeterminada, siguiendo las [reglas de limpieza por retención](/docs/es/claude-directory#cleaned-up-automatically)
3608* **Máquina diferente**: Claude Code almacena transcripciones localmente, por lo que reanude la sesión en la máquina donde se ejecutó3629* **Otra máquina**: Claude Code almacena las transcripciones localmente, así que reanuda la sesión en la máquina donde se ejecutó
3609* **Copias duplicadas**: si copió un directorio de proyecto bajo `~/.claude/projects` para que dos transcripciones lleven el mismo ID, Claude Code reporta este mensaje en lugar de reanudar una copia arbitrariamente3630* **Copias duplicadas**: si copiaste un directorio de proyecto dentro de `~/.claude/projects` de modo que dos transcripciones tienen el mismo ID, Claude Code informa este mensaje en lugar de reanudar una copia de forma arbitraria
3610 3631
3611**Qué hacer:**3632**Qué hacer:**
3612 3633
3613* Para una sesión interactiva, abra el [selector de sesión](/docs/es/sessions#use-the-session-picker) con `claude --resume` y presione `Ctrl+A` para ampliarlo a cada proyecto en esta máquina, luego seleccione la sesión3634* Para una sesión interactiva, abre el [selector de sesiones](/docs/es/sessions#use-the-session-picker) con `claude --resume` y presiona `Ctrl+A` para ampliarlo a todos los proyectos de esta máquina, y luego selecciona la sesión
3614* Las sesiones creadas con `claude -p` o el [Agent SDK](/docs/es/agent-sdk/overview) no aparecen en el selector, por lo que vuelva a verificar el ID contra el `session_id` que su ejecución original imprimió3635* Las sesiones creadas con `claude -p` o con el [Agent SDK](/docs/es/agent-sdk/overview) no aparecen en el selector, así que vuelve a comprobar el ID con el `session_id` que imprimió tu ejecución original
3615 3636
3616<h3 id="windows-reported-an-error-ebadf">3637<h3 id="windows-reported-an-error-ebadf">
3617 Windows reportó un error (EBADF) cuando Claude Code leyó el archivo de transcripción de esta sesión3638 Windows informó un error (EBADF) cuando Claude Code leyó el archivo de transcripción de esta sesión
3618</h3>3639</h3>
3619 3640
3620Reanudó una sesión en Windows, su archivo de [transcripción](/docs/es/sessions#where-transcripts-are-stored) guardado se abrió normalmente, y la lectura falló con el error del sistema EBADF. El error del sistema no dice por qué la lectura falló, por lo que el mensaje sugiere causas probables y qué intentar:3641Reanudaste una sesión en Windows, su [archivo de transcripción](/docs/es/sessions#where-transcripts-are-stored) guardado se abrió normalmente y luego la lectura falló con el error del sistema EBADF. El error del sistema no dice por qué falló la lectura, así que el mensaje sugiere causas probables y qué intentar:
3621 3642
3622```text theme={null}3643```text theme={null}
3623Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.3644Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.
3624```3645```
3625 3646
3626El mensaje sigue la línea de fallo propio del comando, como `Failed to resume session <session-id>`. Un comando `claude --resume` o [`claude -p`](/docs/es/headless) sale con código 1 después de mostrarlo. Después de `/resume` dentro de una sesión, su sesión actual sigue ejecutándose.3647El mensaje aparece después de la propia línea de error del comando, como `Failed to resume session <session-id>`. Un comando `claude --resume` o [`claude -p`](/docs/es/headless) termina con el código 1 después de mostrarlo. Después de `/resume` dentro de una sesión, tu sesión actual sigue ejecutándose.
3627 3648
3628**Qué hacer:**3649**Qué hacer:**
3629 3650
3630* Excluya la carpeta que contiene sus transcripciones de sesión del software que escanea o intercepta lecturas de archivos, como herramientas de seguridad, cifrado o gestión de puntos finales. Las transcripciones viven bajo `%USERPROFILE%\.claude\projects` de forma predeterminada, o bajo el directorio que [`CLAUDE_CONFIG_DIR`](/docs/es/env-vars) nombra3651* Excluye la carpeta que contiene las transcripciones de tus sesiones del software que analiza o intercepta lecturas de archivos, como herramientas de seguridad, cifrado o administración de endpoints. Las transcripciones se encuentran en `%USERPROFILE%\.claude\projects` de forma predeterminada, o en el directorio que indique [`CLAUDE_CONFIG_DIR`](/docs/es/env-vars)
3631* Si no puede agregar una exclusión, agregue Claude Code a las aplicaciones permitidas de ese software en su lugar3652* Si no puedes agregar una exclusión, agrega Claude Code a las aplicaciones permitidas de ese software
3632* Reanude la sesión nuevamente3653* Reanuda la sesión de nuevo
3633 3654
3634Antes de v2.1.282, el fallo vino sin explicación: `claude --resume <session-id>` terminó en `Failed to resume session <session-id>`, y una ejecución `-p` imprimió solo el texto de error del sistema, como `Failed to resume session: EBADF: bad file descriptor, read`.3655Antes de la v2.1.282, el error aparecía sin explicación: `claude --resume <session-id>` terminaba en `Failed to resume session <session-id>`, y una ejecución con `-p` imprimía solo el texto del error del sistema, como `Failed to resume session: EBADF: bad file descriptor, read`.
3635 3656
3636<h3 id="cannot-switch-renderers-in-this-session">3657<h3 id="cannot-switch-renderers-in-this-session">
3637 No se puede cambiar renderizadores en esta sesión3658 No se pueden cambiar los renderizadores en esta sesión
3638</h3>3659</h3>
3639 3660
3640Cuando cambia renderizadores, Claude Code reinicia su proceso. Ejecutó [`/tui`](/docs/es/fullscreen#enable-fullscreen-rendering) en una sesión que Claude Code se niega a reiniciar, por lo que no cambia y no guarda nada. Qué mensaje ve le dice la causa:3661Cuando cambias de renderizador, Claude Code reinicia su proceso. Ejecutaste [`/tui`](/docs/es/fullscreen#enable-fullscreen-rendering) en una sesión que Claude Code se niega a reiniciar, así que no cambia y no guarda nada. El mensaje que ves te indica la causa:
3641 3662
3642* `Cannot switch renderers while work is running in the background`: tiene trabajo en segundo plano ejecutándose que un reinicio abandonaría, como un shell en segundo plano o un subagente. Espere a que el trabajo termine o deténgalo con [`/tasks`](/docs/es/commands), luego ejecute `/tui fullscreen` o `/tui default` nuevamente3663* `Cannot switch renderers while work is running in the background`: tienes trabajo en segundo plano en ejecución que un reinicio abandonaría, como un shell en segundo plano o un subagente. Espera a que el trabajo termine o detenlo con [`/tasks`](/docs/es/commands), y luego ejecuta `/tui fullscreen` o `/tui default` de nuevo
3643* `Cannot switch renderers in this session`: la sesión tiene restricciones que Claude Code no puede pasar al proceso reiniciado. Antes de v2.1.234, Claude Code reiniciaba de todas formas y la sesión relanzada se ejecutaba sin ellas3664* `Cannot switch renderers in this session`: la sesión tiene restricciones que Claude Code no puede pasar al proceso reiniciado. Antes de la v2.1.234, Claude Code reiniciaba de todos modos y la sesión relanzada se ejecutaba sin ellas
3644 3665
3645En el mensaje de restricciones, la parte entre paréntesis nombra las restricciones que Claude Code encontró:3666En el mensaje de restricciones, la parte entre paréntesis nombra las restricciones que Claude Code encontró:
3646 3667
3648Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.3669Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.
3649```3670```
3650 3671
3651Cada razón que el mensaje puede mostrar entre paréntesis:3672Cada motivo que el mensaje puede mostrar entre paréntesis:
3652 3673
3653* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: inició la sesión con una bandera que Claude Code no pasa de vuelta al proceso reiniciado. Estas banderas incluyen [`--system-prompt`](/docs/es/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, una lista de permitidos [`--tools`](/docs/es/cli-reference#cli-flags), [`--setting-sources`](/docs/es/cli-reference#cli-flags), y [`--permission-prompt-tool`](/docs/es/cli-reference#cli-flags)3674* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: iniciaste la sesión con un flag que Claude Code no vuelve a pasar al proceso reiniciado. Estos flags incluyen [`--system-prompt`](/docs/es/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, una lista de herramientas permitidas con [`--tools`](/docs/es/cli-reference#cli-flags), [`--setting-sources`](/docs/es/cli-reference#cli-flags) y [`--permission-prompt-tool`](/docs/es/cli-reference#cli-flags)
3654* `permission rules set for this session only`: una [actualización de permiso](/docs/es/hooks#permission-update-entries) de un hook o llamador SDK agregó reglas de denegación o solicitud con el destino `session`. Las reglas de permiso de alcance de sesión no desencadenan el rechazo. Un reinicio las elimina, y Claude Code solicita nuevamente en su lugar3675* `permission rules set for this session only`: una [actualización de permisos](/docs/es/hooks#permission-update-entries) de un hook o de un llamador del SDK agregó reglas deny o ask con el destino `session`. Las reglas allow con alcance de sesión no provocan el rechazo. Un reinicio las descarta, y Claude Code vuelve a pedir permiso en su lugar
3655* `ask-before-running rules with no command-line form`: una actualización de permiso agregó reglas de solicitud junto con las reglas que Claude Code pasa de vuelta como `--allowed-tools` y `--disallowed-tools`. No existe bandera para reglas de solicitud3676* `ask-before-running rules with no command-line form`: una actualización de permisos de un hook o de un llamador del SDK agregó reglas ask junto con las reglas que Claude Code vuelve a pasar como `--allowed-tools` y `--disallowed-tools`. No existe ningún flag para las reglas ask
3656* `permission rules a command line cannot carry intact` y `added directories a command line cannot carry intact`: una actualización de permiso agregó una regla o ruta de directorio a mitad de sesión. La línea de comandos del proceso reiniciado no puede llevar su texto como el mismo valor3677* `permission rules a command line cannot carry intact` y `added directories a command line cannot carry intact`: una actualización de permisos agregó una regla o una ruta de directorio a mitad de la sesión. La línea de comandos del proceso reiniciado no puede transportar su texto como el mismo valor
3657 3678
3658**Qué hacer:**3679**Qué hacer:**
3659 3680
3660* En una sesión iniciada sin esas restricciones, ejecute `/tui fullscreen`, o `/tui default` para cambiar de vuelta. Claude Code guarda la [configuración `tui`](/docs/es/settings-reference#tui) allí3681* En una sesión iniciada sin esas restricciones, ejecuta `/tui fullscreen`, o `/tui default` para volver atrás. Claude Code guarda ahí el [ajuste `tui`](/docs/es/settings-reference#tui)
3661 3682
3662<h3 id="couldnt-open-claude-desktop">3683<h3 id="couldnt-open-claude-desktop">
3663 No se pudo abrir Claude Desktop3684 No se pudo abrir Claude Desktop
3664</h3>3685</h3>
3665 3686
3666Ejecutó [`/desktop`](/docs/es/desktop#coming-from-the-cli) o su alias `/app` en una sesión, o [`claude --desktop`](/docs/es/cli-reference#cli-flags) en su shell, y el comando del sistema que Claude Code usa para abrir Claude Desktop falló. Después de `/desktop`, la sesión permanece en la terminal; `claude --desktop` imprime el mensaje sin el prefijo `Error:` y sale con estado 1.3687Ejecutaste [`/desktop`](/docs/es/desktop#coming-from-the-cli) o su alias `/app` en una sesión, o [`claude --desktop`](/docs/es/cli-reference#cli-flags) en tu shell, y el comando del sistema que Claude Code usa para abrir Claude Desktop falló. Después de `/desktop`, la sesión permanece en la terminal; `claude --desktop` imprime el mensaje sin el prefijo `Error:` y termina con el estado 1.
3667 3688
3668El texto entre paréntesis nombra el comando que falló, con su estado de salida y la primera línea de su salida de error cuando la produjo. En macOS ese comando es `open`, como en este ejemplo; en Windows es `rundll32`:3689El texto entre paréntesis nombra el comando que falló, con su estado de salida y la primera línea de su salida de error cuando los produjo. En macOS ese comando es `open`, como en este ejemplo; en Windows es `rundll32`:
3669 3690
3670```text theme={null}3691```text theme={null}
3671Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.3692Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.
3673 3694
3674**Qué hacer:**3695**Qué hacer:**
3675 3696
3676* Abra Claude Desktop usted mismo, luego ejecute `/desktop` o `claude --desktop` nuevamente3697* Abre Claude Desktop tú mismo y luego ejecuta `/desktop` o `claude --desktop` de nuevo
3677* Para leer la salida de error completa del comando fallido, active el registro de depuración con `/debug` y ejecute `/desktop` nuevamente, o ejecute `claude --desktop --debug-file <path>`, luego verifique el registro de depuración3698* Para leer la salida de error completa del comando que falló, activa el registro de depuración con `/debug` y ejecuta `/desktop` de nuevo, o ejecuta `claude --desktop --debug-file <path>`, y luego revisa el registro de depuración
3678 3699
3679Antes de v2.1.285, el mensaje terminaba `Open Claude Desktop and run /desktop again.` Antes de v2.1.275, era `Failed to open Claude Desktop. Please try opening it manually.` y no decía qué falló.3700Antes de la v2.1.285, el mensaje terminaba con `Open Claude Desktop and run /desktop again.` Antes de la v2.1.275, era `Failed to open Claude Desktop. Please try opening it manually.` y no decía qué había fallado.
3680 3701
3681<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3702<h3 id="terminal-setup-left-your-zed-keymap-unchanged">
3682 /terminal-setup dejó su mapa de atajos de teclado de Zed sin cambios3703 /terminal-setup dejó tu keymap de Zed sin cambios
3683</h3>3704</h3>
3684 3705
3685Ejecutó [`/terminal-setup`](/docs/es/terminal-config#enter-multiline-prompts) en Zed, y Claude Code no pudo completar la actualización a su `keymap.json` de Zed, por lo que lo dejó como estaba.3706Ejecutaste [`/terminal-setup`](/docs/es/terminal-config#enter-multiline-prompts) en Zed y Claude Code no pudo completar la actualización de tu `keymap.json` de Zed, así que dejó el archivo como estaba.
3686 3707
3687Cada mensaje nombra la ruta a su mapa de atajos de teclado y termina con el bloque de atajos de teclado para agregar usted mismo:3708Cada mensaje nombra la ruta a tu keymap y termina con el bloque de atajo de teclado que debes agregar tú mismo:
3688 3709
3689```text theme={null}3710```text theme={null}
3690Couldn't update your Zed keymap, so it was left unchanged.3711Couldn't update your Zed keymap, so it was left unchanged.
3694 3715
3695La primera línea del mensaje nombra la causa:3716La primera línea del mensaje nombra la causa:
3696 3717
3697* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code no pudo leer el archivo, por ejemplo debido a permisos de archivo3718* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code no pudo leer el archivo, por ejemplo debido a los permisos del archivo
3698* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: el archivo se leyó bien pero no se analiza como una matriz de bloques de atajos de teclado, incluso con comentarios `//` y comas finales permitidas3719* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: el archivo se leyó bien, pero no se analiza como un array de bloques de atajos de teclado, incluso permitiendo comentarios `//` y comas finales
3699* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code no pudo copiar el archivo a una copia de seguridad `.bak` junto a él, por lo que no cambió nada3720* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code no pudo copiar el archivo a una copia de seguridad `.bak` junto a él, así que no cambió nada
3700* `Couldn't update your Zed keymap, so it was left unchanged.`: el resultado fusionado no se verificó como un mapa de atajos de teclado válido que lleve el atajo de teclado, por lo que Claude Code lo descartó en lugar de escribir. Un bloque de atajos de teclado con una clave duplicada puede causar esto3721* `Couldn't update your Zed keymap, so it was left unchanged.`: el resultado combinado no se verificó como un keymap válido que contuviera el atajo, así que Claude Code lo descartó en lugar de escribirlo. Un bloque de atajos de teclado con una clave duplicada puede causar esto
3701 3722
3702**Qué hacer:**3723**Qué hacer:**
3703 3724
3704* Copie el bloque del mensaje en la matriz de nivel superior en su `keymap.json` en la ruta que nombra el mensaje3725* Copia el bloque del mensaje en el array de nivel superior de tu `keymap.json`, en la ruta que indica el mensaje
3705* Para `isn't a readable list of keybindings`, corrija el error de sintaxis, o haga que el valor de nivel superior del archivo sea una matriz, luego ejecute `/terminal-setup` nuevamente3726* Para `isn't a readable list of keybindings`, corrige el error de sintaxis o haz que el valor de nivel superior del archivo sea un array, y luego ejecuta `/terminal-setup` de nuevo
3706 3727
3707Antes de v2.1.247, `/terminal-setup` no podía analizar un mapa de atajos de teclado de Zed que usara comentarios `//` o comas finales, y reemplazó el archivo completo con solo su propio atajo de teclado mientras reportaba el atajo de teclado como instalado. Para restaurar un mapa de atajos de teclado que una versión anterior reemplazó, use el archivo de copia de seguridad `.bak` descrito en [Ingrese indicadores de varias líneas](/docs/es/terminal-config#enter-multiline-prompts).3728Antes de la v2.1.247, `/terminal-setup` no podía analizar un keymap de Zed que usara comentarios `//` o comas finales, y reemplazaba el archivo completo solo con su propio atajo mientras informaba que el atajo estaba instalado. Para restaurar un keymap que una versión anterior reemplazó, usa el archivo de copia de seguridad `.bak` descrito en [Ingresar prompts de varias líneas](/docs/es/terminal-config#enter-multiline-prompts).
3708 3729
3709<h3 id="skill-usage-reports-are-not-available-on-this-connection">3730<h3 id="skill-usage-reports-are-not-available-on-this-connection">
3710 Los reportes de uso de skills no están disponibles en esta conexión3731 Los informes de uso de skills no están disponibles en esta conexión
3711</h3>3732</h3>
3712 3733
3713Ejecutó [`/skill-doctor`](/docs/es/skills#find-unused-skills) sobre [Remote Control](/docs/es/remote-control), desde su teléfono o navegador. Claude Code no envía el informe de uso de skills sobre Remote Control y responde con este mensaje en su lugar:3734Ejecutaste [`/skill-doctor`](/docs/es/skills#find-unused-skills) a través de [Remote Control](/docs/es/remote-control), desde tu teléfono o navegador. Claude Code no envía el informe de uso de skills a través de Remote Control y responde con este mensaje en su lugar:
3714 3735
3715```text theme={null}3736```text theme={null}
3716Skill usage reports are not available on this connection.3737Skill usage reports are not available on this connection.
3718 3739
3719**Qué hacer:**3740**Qué hacer:**
3720 3741
3721* Ejecute `/skill-doctor` en la terminal en la máquina donde se ejecuta la sesión, o ejecute `claude -p "/skill-doctor"` allí3742* Ejecuta `/skill-doctor` en la terminal de la máquina donde se está ejecutando la sesión, o ejecuta `claude -p "/skill-doctor"` allí
3722 3743
3723<h3 id="custom-output-styles-cant-be-selected-over-remote-control">3744<h3 id="custom-output-styles-cant-be-selected-over-remote-control">
3724 Los estilos de salida personalizados no se pueden seleccionar sobre Remote Control3745 Los estilos de salida personalizados no se pueden seleccionar a través de Remote Control
3725</h3>3746</h3>
3726 3747
3727Ejecutó [`/output-style`](/docs/es/output-styles#change-your-output-style) desde la aplicación móvil o web a través de [Remote Control](/docs/es/remote-control), o el comando llegó en un mensaje retransmitido a la sesión. Porque tal turno puede no provenir del propietario de la cuenta, Claude Code enumera y selecciona solo [estilos integrados](/docs/es/output-styles#built-in-output-styles) en él, y agrega este aviso siempre que el comando enumera los estilos o no reconoce el nombre que dio. Un nombre de [estilo personalizado](/docs/es/output-styles#create-a-custom-output-style) obtiene la misma respuesta que un nombre que no existe:3748Ejecutaste [`/output-style`](/docs/es/output-styles#change-your-output-style) desde la aplicación móvil o la web a través de [Remote Control](/docs/es/remote-control), o el comando llegó en un mensaje retransmitido a la sesión. Como un turno así podría no provenir del propietario de la cuenta, Claude Code solo lista y selecciona [estilos integrados](/docs/es/output-styles#built-in-output-styles) en él, y agrega este aviso cada vez que el comando lista los estilos o no reconoce el nombre que indicaste. El nombre de un [estilo personalizado](/docs/es/output-styles#create-a-custom-output-style) recibe la misma respuesta que un nombre que no existe:
3728 3749
3729```text theme={null}3750```text theme={null}
3730Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.3751Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.
3732 3753
3733**Qué hacer:**3754**Qué hacer:**
3734 3755
3735* Elija un estilo integrado, por ejemplo `/output-style concise`3756* Elige un estilo integrado, por ejemplo `/output-style concise`
3736* Para usar un estilo personalizado, establezca [`outputStyle`](/docs/es/settings-reference#outputstyle) en `.claude/settings.local.json` del proyecto, o ejecute `/output-style <style>` en la terminal de la sesión si tiene una3757* Para usar un estilo personalizado, establece [`outputStyle`](/docs/es/settings-reference#outputstyle) en el `.claude/settings.local.json` del proyecto, o ejecuta `/output-style <style>` en la propia terminal de la sesión, si tiene una
3737 3758
3738<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">3759<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">
3739 Los estilos de salida se guardan en la configuración local que esta sesión no carga3760 Los estilos de salida se guardan en la configuración local, que esta sesión no carga
3740</h3>3761</h3>
3741 3762
3742Intentó cambiar [estilos de salida](/docs/es/output-styles) con `/output-style <style>` o `/config outputStyle=<style>` en una sesión cuyas fuentes de configuración excluyen `local`. Los ejemplos son una sesión [Agent SDK](/docs/es/agent-sdk/typescript) cuyo [`settingSources`](/docs/es/agent-sdk/typescript#options) deja fuera `"local"` y una sesión CLI iniciada con un valor [`--setting-sources`](/docs/es/cli-reference#cli-flags) que deja fuera `local`. Ambos comandos guardan el estilo en `.claude/settings.local.json`, un archivo que tal sesión nunca vuelve a leer, por lo que Claude Code se niega en lugar de escribir una configuración que no tendría efecto:3763Intentaste cambiar de [estilo de salida](/docs/es/output-styles) con `/output-style <style>` o `/config outputStyle=<style>` en una sesión cuyas fuentes de configuración excluyen `local`. Algunos ejemplos son una sesión del [Agent SDK](/docs/es/agent-sdk/typescript) cuyo [`settingSources`](/docs/es/agent-sdk/typescript#options) omite `"local"` y una sesión de la CLI iniciada con un valor de [`--setting-sources`](/docs/es/cli-reference#cli-flags) que omite `local`. Ambos comandos guardan el estilo en `.claude/settings.local.json`, un archivo que una sesión así nunca vuelve a leer, por lo que Claude Code se niega en lugar de escribir un ajuste que no tendría ningún efecto:
3743 3764
3744```text theme={null}3765```text theme={null}
3745Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.3766Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.
3747 3768
3748**Qué hacer:**3769**Qué hacer:**
3749 3770
3750* Agregue `local` a las fuentes de configuración de la sesión y cambie nuevamente3771* Agrega `local` a las fuentes de configuración de la sesión y cambia de nuevo
3751* Establezca la clave [`outputStyle`](/docs/es/settings-reference#outputstyle) en un archivo de configuración que la sesión sí carga, como `.claude/settings.json` en el proyecto o `~/.claude/settings.json`. En el SDK de TypeScript, establezca `outputStyle` dentro del objeto `settings` en línea en su lugar; consulte [Activar un estilo de salida](/docs/es/agent-sdk/modifying-system-prompts#activate-an-output-style)3772* Establece la clave [`outputStyle`](/docs/es/settings-reference#outputstyle) en un archivo de configuración que la sesión sí cargue, como `.claude/settings.json` en el proyecto o `~/.claude/settings.json`. En el SDK de TypeScript, establece `outputStyle` dentro del objeto `settings` en línea; consulta [Activar un estilo de salida](/docs/es/agent-sdk/modifying-system-prompts#activate-an-output-style)
3752 3773
3753<h2 id="plugin-errors">3774<h2 id="plugin-errors">
3754 Errores de plugins3775 Errores de plugins
4476 Errores de sesión en segundo plano4497 Errores de sesión en segundo plano
4477</h2>4498</h2>
4478 4499
4479Las [sesiones en segundo plano](/docs/es/agent-view) se ejecutan sin su propia terminal interactiva, por lo que los comandos que necesitan una se comportan de manera diferente allí. Estos mensajes aparecen en la transcripción de una sesión en segundo plano, en la terminal que se conecta a una, en la sesión o shell desde la que se envía, o, para las [entradas de protección de worktree](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) a continuación, en cualquier sesión aislada en un worktree o ejecutando un subagente aislado en worktree; cuando un mensaje es específico de una superficie, su entrada lo indica.4500Las [sesiones en segundo plano](/docs/es/agent-view) se ejecutan sin su propia terminal interactiva, por lo que los comandos que necesitan una se comportan de manera diferente allí. Estos mensajes aparecen en la transcripción de una sesión en segundo plano, en la terminal que se conecta a una, en la sesión o shell desde la que haces el envío, o, para las [entradas de protección de worktree](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) a continuación, en cualquier sesión aislada en un worktree o que ejecute un subagente aislado en worktree; cuando un mensaje es específico de una superficie, su entrada lo indica.
4480 4501
4481<h3 id="commands-refused-in-a-background-session">4502<h3 id="commands-refused-in-a-background-session">
4482 Comandos rechazados en una sesión en segundo plano4503 Comandos rechazados en una sesión en segundo plano
4483</h3>4504</h3>
4484 4505
4485Los comandos que abren un diálogo interactivo no pueden hacerlo mientras no hay terminal conectada a una sesión en segundo plano. `/install-github-app`, la lista de configuración `/mcp`, y las acciones de autenticación en el menú del servidor MCP responden con un mensaje. Para `/install-github-app` y la lista de configuración `/mcp`, la sesión también aparece bajo **Needs input** en [agent view](/docs/es/agent-view) para que pueda encontrarla, conectarse y ejecutar el comando nuevamente. Mientras una terminal está conectada, estos comandos funcionan normalmente.4506Los comandos que abren un diálogo interactivo no pueden hacerlo mientras no hay terminal conectada a una sesión en segundo plano. `/install-github-app`, la lista de configuración `/mcp` y las acciones de autenticación en el menú del servidor MCP responden con un mensaje. Para `/install-github-app` y la lista de configuración `/mcp`, la sesión también aparece bajo **Needs input** en [agent view](/docs/es/agent-view) para que puedas encontrarla, conectarte y ejecutar el comando nuevamente. Mientras una terminal está conectada, estos comandos funcionan normalmente.
4486 4507
4487Antes de v2.1.216, la sesión no aparecía bajo **Needs input** después de que `/install-github-app` o la lista de configuración `/mcp` se rechazara. En v2.1.213 a v2.1.215, los comandos seguían funcionando mientras una terminal estaba conectada, y el mensaje de rechazo le indicaba que se conectara y ejecutara el comando nuevamente. De v2.1.208 a v2.1.212, Claude Code los rechazaba incluso mientras una terminal estaba conectada, con un mensaje como `Can't open MCP settings in a background session`; en esas versiones, ejecute el comando desde una sesión `claude` normal en su lugar, o actualice. Antes de v2.1.208, abrían su diálogo dentro de la sesión en segundo plano. En v2.1.208 solamente, Claude Code también rechazó el selector `/model` en una sesión en segundo plano, y `/upgrade` imprimió la URL de actualización en lugar de abrir un navegador.4508Antes de v2.1.216, la sesión no aparecía bajo **Needs input** después de que `/install-github-app` o la lista de configuración `/mcp` se rechazara. En v2.1.213 a v2.1.215, los comandos seguían funcionando mientras una terminal estaba conectada, y el mensaje de rechazo te indicaba que te conectaras y ejecutaras el comando nuevamente. De v2.1.208 a v2.1.212, Claude Code los rechazaba incluso mientras una terminal estaba conectada, con un mensaje como `Can't open MCP settings in a background session`; en esas versiones, ejecuta el comando desde una sesión `claude` normal en su lugar, o actualiza. Antes de v2.1.208, abrían su diálogo dentro de la sesión en segundo plano. Solo en v2.1.208, Claude Code también rechazaba el selector `/model` en una sesión en segundo plano, y `/upgrade` imprimía la URL de actualización en lugar de abrir un navegador.
4488 4509
4489La redacción nombra el comando. La lista de configuración `/mcp` reporta:4510La redacción nombra el comando. La lista de configuración `/mcp` reporta:
4490 4511
4494 4515
4495**Qué hacer:**4516**Qué hacer:**
4496 4517
4497* Conéctese a la sesión desde agent view y ejecute el comando nuevamente4518* Conéctate a la sesión desde agent view y ejecuta el comando nuevamente
4498* O use la forma que el mensaje nombra, como `/mcp reconnect <server>`, `/mcp enable`, o `/mcp disable`, que funcionan sin conectarse4519* O usa la forma que el mensaje nombra, como `/mcp reconnect <server>`, `/mcp enable` o `/mcp disable`, que funcionan sin conectarse
4499 4520
4500<h3 id="write-or-command-blocked-because-the-path-cannot-be-safely-resolved">4521<h3 id="write-or-command-blocked-because-the-path-cannot-be-safely-resolved">
4501 Escritura o comando bloqueado porque la ruta no se puede resolver de forma segura4522 Escritura o comando bloqueado porque la ruta no se puede resolver de forma segura
4502</h3>4523</h3>
4503 4524
4504Claude dirigió un archivo o directorio de trabajo a través de una ortografía que el [protector de aislamiento de worktree](/docs/es/agent-view#how-file-edits-are-isolated) no puede resolver a una ubicación verificable. El protector verifica escrituras y directorios de trabajo de comandos en [cualquier sesión aislada en un worktree](/docs/es/worktrees#how-claude-code-enforces-isolation), interactiva o en segundo plano, y en [subagentes aislados en worktree](/docs/es/worktrees#isolate-subagents-with-worktrees). Resuelve enlaces simbólicos antes de verificar que la operación no llegue al checkout compartido, y cuando la resolución falla, bloquea la operación en lugar de permitir que llegue allí. El mensaje nombra las formas de ruta que rechaza y cómo reintentar:4525Claude se refirió a un archivo o directorio de trabajo mediante una escritura de ruta que el [protector de aislamiento de worktree](/docs/es/agent-view#how-file-edits-are-isolated) no puede resolver a una única ubicación verificable. El protector verifica escrituras y directorios de trabajo de comandos en [cualquier sesión aislada en un worktree](/docs/es/worktrees#how-claude-code-enforces-isolation), interactiva o en segundo plano, y en [subagentes aislados en worktree](/docs/es/worktrees#isolate-subagents-with-worktrees). Resuelve enlaces simbólicos antes de verificar que la operación no llegue al checkout compartido, y cuando la resolución falla, bloquea la operación en lugar de permitir que llegue allí. El mensaje nombra las formas de ruta que rechaza y cómo reintentar:
4505 4526
4506```text theme={null}4527```text theme={null}
4507This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.4528This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.
4508```4529```
4509 4530
4510Un comando bloqueado reporta la misma causa para su directorio de trabajo y termina con `re-run the command from its direct symlink-free path`. Antes de v2.1.217, el protector comparaba ortografías de ruta sin resolver enlaces simbólicos, por lo que estas ortografías no se bloqueaban y una escritura enrutada a través de un enlace simbólico podría llegar al checkout compartido.4531Un comando bloqueado reporta la misma causa para su directorio de trabajo y termina con `re-run the command from its direct symlink-free path`. Antes de v2.1.217, el protector comparaba las escrituras de ruta sin resolver enlaces simbólicos, por lo que estas escrituras no se bloqueaban y una escritura enrutada a través de un enlace simbólico podía llegar al checkout compartido.
4511 4532
4512**Qué hacer:**4533**Qué hacer:**
4513 4534
4514* Generalmente nada: el mensaje completo va a Claude como un error de herramienta, y Claude reintenta con la ruta directa que nombra. Para una edición de archivo bloqueada, la vista de conversación muestra solo una línea corta `Error editing file`; el mensaje completo aparece en la vista de transcripción, que abre con `Ctrl+O`. Un comando bloqueado lo imprime en su salida.4535* Generalmente nada: el mensaje completo va a Claude como un error de herramienta, y Claude reintenta con la ruta directa que nombra. Para una edición de archivo bloqueada, la vista de conversación muestra solo una línea corta `Error editing file`; el mensaje completo aparece en la vista de transcripción, que abres con `Ctrl+O`. Un comando bloqueado lo imprime en su salida.
4515* Si el bloqueo se repite en el mismo archivo, la ruta probablemente se ejecuta a través de un enlace simbólico confirmado cuyo destino contiene `..`, como `docs/current -> ../README.md`; pida a Claude que edite el archivo de destino por su ruta real en lugar de a través del enlace4536* Si el bloqueo se repite en el mismo archivo, la ruta probablemente pasa por un enlace simbólico incluido en un commit cuyo destino contiene `..`, como `docs/current -> ../README.md`; pide a Claude que edite el archivo de destino por su ruta real en lugar de a través del enlace
4516 4537
4517<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">4538<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">
4518 Escritura o comando bloqueado porque la ruta nombra una ubicación de red4539 Escritura o comando bloqueado porque la ruta nombra una ubicación de red
4519</h3>4540</h3>
4520 4541
4521Claude dirigió un archivo o directorio de trabajo a través de una ruta que nombra una unidad que no está en su máquina, una compartición UNC como `\\server\share\file` o una ruta de automontaje `/net`, mientras que el checkout de la sesión está en un disco local. El mismo [protector de aislamiento de worktree](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) no puede verificar que tal ruta se mantenga fuera del checkout compartido, por lo que bloquea la operación. Aislar la sesión en un worktree no levanta el bloqueo. El mensaje nombra la forma de ruta a usar en su lugar:4542Claude se refirió a un archivo o directorio de trabajo mediante una ruta que nombra una unidad que no está en tu máquina, un recurso compartido UNC como `\\server\share\file` o una ruta de automontaje `/net`, mientras que el checkout de la sesión está en un disco local. El mismo [protector de aislamiento de worktree](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) no puede verificar que tal ruta se mantenga fuera del checkout compartido, por lo que bloquea la operación. Aislar la sesión en un worktree no levanta el bloqueo. El mensaje nombra la forma de ruta a usar en su lugar:
4522 4543
4523```text theme={null}4544```text theme={null}
4524This write was blocked because the path is network-shaped (a UNC share or /net automount spelling) while this session's checkout is local. Isolating cannot unblock it. If the file is genuinely inside the worktree /path/to/worktree, address it by its local, plainly-spelled path instead.4545This write was blocked because the path is network-shaped (a UNC share or /net automount spelling) while this session's checkout is local. Isolating cannot unblock it. If the file is genuinely inside the worktree /path/to/worktree, address it by its local, plainly-spelled path instead.
4525```4546```
4526 4547
4527Un comando bloqueado reporta la misma causa para su directorio de trabajo y termina con `re-run the command from its local, plainly-spelled path`. Antes de v2.1.217, el protector comparaba solo texto de ruta, por lo que dirigir un archivo dentro del checkout a través de una ruta UNC o `/net` no se bloqueaba.4548Un comando bloqueado reporta la misma causa para su directorio de trabajo y termina con `re-run the command from its local, plainly-spelled path`. Antes de v2.1.217, el protector comparaba solo el texto de la ruta, por lo que referirse a un archivo dentro del checkout mediante una ruta UNC o `/net` no se bloqueaba.
4528 4549
4529**Qué hacer:**4550**Qué hacer:**
4530 4551
4531* Generalmente nada: Claude reintenta con la ortografía local que el mensaje solicita4552* Generalmente nada: Claude reintenta con la escritura local que el mensaje solicita
4532 4553
4533<h3 id="command-blocked-by-the-worktree-isolation-checks">4554<h3 id="command-blocked-by-the-worktree-isolation-checks">
4534 Comando bloqueado por las verificaciones de aislamiento de worktree4555 Comando bloqueado por las verificaciones de aislamiento de worktree
4539* El comando apunta git al checkout principal.4560* El comando apunta git al checkout principal.
4540* Claude Code no puede verificar a partir del texto del comando que cualquier git que ejecute el comando se mantenga dentro del worktree. Un comando que nunca nombra git aún puede ser rechazado por esta razón, porque expandir una indirección de variable como `${!name}` o ejecutar una sustitución de función Bash como `${ command; }` produce un valor en tiempo de ejecución que en sí mismo puede ser un comando.4561* Claude Code no puede verificar a partir del texto del comando que cualquier git que ejecute el comando se mantenga dentro del worktree. Un comando que nunca nombra git aún puede ser rechazado por esta razón, porque expandir una indirección de variable como `${!name}` o ejecutar una sustitución de función Bash como `${ command; }` produce un valor en tiempo de ejecución que en sí mismo puede ser un comando.
4541 4562
4542El medio del mensaje nombra lo que no se pudo verificar:4563La parte central del mensaje nombra lo que no se pudo verificar:
4543 4564
4544```text wrap theme={null}4565```text wrap theme={null}
4545This session is isolated in the worktree /path/to/worktree, but this command evaluates ${!x@P} arithmetically inside a construct too complex to verify, which can run a command hidden in a variable's value. Refusing to run it — a worktree-isolated session's git operations must target its own worktree. Split it into plain, separate commands and run them from /path/to/worktree.4566This session is isolated in the worktree /path/to/worktree, but this command evaluates ${!x@P} arithmetically inside a construct too complex to verify, which can run a command hidden in a variable's value. Refusing to run it — a worktree-isolated session's git operations must target its own worktree. Split it into plain, separate commands and run them from /path/to/worktree.
4548**Qué hacer:**4569**Qué hacer:**
4549 4570
4550* Generalmente nada: Claude lee el mensaje y reescribe el comando de la manera que su oración final solicita4571* Generalmente nada: Claude lee el mensaje y reescribe el comando de la manera que su oración final solicita
4551* Si un comando que solicitó sigue siendo rechazado, deletree el valor marcado literalmente: reemplace la indirección o sustitución con su valor, y ejecute git como su propio comando simple desde dentro del worktree4572* Si un comando que pediste sigue siendo rechazado, escribe el valor marcado literalmente: reemplaza la indirección o sustitución con su valor, y ejecuta git como su propio comando simple desde dentro del worktree
4552* Para actuar en el checkout principal a propósito, ejecute el comando usted mismo en una terminal fuera de la sesión4573* Para actuar en el checkout principal a propósito, ejecuta el comando tú mismo en una terminal fuera de la sesión
4553 4574
4554<h3 id="this-session-has-no-saved-transcript">4575<h3 id="this-session-has-no-saved-transcript">
4555 Esta sesión no tiene transcripción guardada4576 Esta sesión no tiene transcripción guardada
4556</h3>4577</h3>
4557 4578
4558Se conectó a una [sesión en segundo plano](/docs/es/agent-view) detenida que fue enviada a segundo plano desde otra conversación con `←` o `/background` y se detuvo antes de que su primera respuesta terminara. Hasta que esa primera respuesta termine, la conversación aún vive solo en la sesión desde la que fue enviada a segundo plano, por lo que `claude attach` rechaza iniciar la sesión detenida en lugar de comenzar una conversación en blanco bajo el mismo ID de sesión. El mensaje termina con el comando `claude respawn` para esta sesión:4579Te conectaste a una [sesión en segundo plano](/docs/es/agent-view) detenida que fue enviada a segundo plano desde otra conversación con `←` o `/background` y se detuvo antes de que su primera respuesta terminara. Hasta que esa primera respuesta termine, la conversación aún vive solo en la sesión desde la que fue enviada a segundo plano, por lo que `claude attach` se niega a iniciar la sesión detenida en lugar de comenzar una conversación en blanco bajo el mismo ID de sesión. El mensaje termina con el comando `claude respawn` para esta sesión:
4559 4580
4560```text theme={null}4581```text theme={null}
4561This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.4582This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.
4562```4583```
4563 4584
4564Abrir la fila de la misma sesión en [agent view](/docs/es/agent-view) muestra `Press enter again to restart this session fresh` debajo de la lista en su lugar, y un segundo `Enter` en la fila reinicia la sesión con una conversación vacía. Antes de v2.1.212, abrir la fila mostraba el mensaje de rechazo sin forma de reiniciar desde agent view. Antes de v2.1.211, abrir la sesión detenida iniciaba silenciosamente esa conversación en blanco y podría volver a ejecutar el prompt original de la sesión.4585Abrir la fila de la misma sesión en [agent view](/docs/es/agent-view) muestra `Press enter again to restart this session fresh` debajo de la lista en su lugar, y un segundo `Enter` en la fila reinicia la sesión con una conversación vacía. Antes de v2.1.212, abrir la fila mostraba el mensaje de rechazo sin forma de reiniciar desde agent view. Antes de v2.1.211, abrir la sesión detenida iniciaba silenciosamente esa conversación en blanco y podía volver a ejecutar el prompt original de la sesión.
4565 4586
4566**Qué hacer:**4587**Qué hacer:**
4567 4588
4568* La conversación que envió a segundo plano está intacta: reanúdela con [`claude --resume`](/docs/es/sessions) o continúe trabajando en ella4589* La conversación desde la que enviaste a segundo plano está intacta: reanúdala con [`claude --resume`](/docs/es/sessions) o sigue trabajando en ella
4569* Para iniciar la sesión detenida de todas formas, ejecute `claude respawn <id>` con el ID del mensaje, o presione `Enter` dos veces en su fila en agent view4590* Para iniciar la sesión detenida desde cero de todas formas, ejecuta `claude respawn <id>` con el ID del mensaje, o presiona `Enter` dos veces en su fila en agent view
4570* Si la sesión terminó una respuesta y aún ve este rechazo en una versión anterior a v2.1.214, una carpeta ilegible en `~/.claude/projects` podría hacer que el escaneo de transcripción pierda la conversación guardada; actualice a v2.1.214 o posterior, que tolera carpetas ilegibles durante el escaneo4591* Si la sesión sí terminó una respuesta y aún ves este rechazo en una versión anterior a v2.1.214, una carpeta ilegible en `~/.claude/projects` podía hacer que el escaneo de transcripciones no encontrara la conversación guardada; actualiza a v2.1.214 o posterior, que tolera carpetas ilegibles durante el escaneo
4571 4592
4572<h3 id="this-session-is-running-in-another-terminal">4593<h3 id="this-session-is-running-in-another-terminal">
4573 Esta sesión se está ejecutando en otra terminal4594 Esta sesión se está ejecutando en otra terminal
4574</h3>4595</h3>
4575 4596
4576Abrió la fila de una sesión detenida en [agent view](/docs/es/agent-view), y su conversación guardada ya está abierta en otro proceso Claude Code activo en esta máquina, por lo que Claude Code rechaza iniciar un segundo proceso que escribiría en la misma transcripción. Qué mensaje ve depende de [qué mantiene la conversación](/docs/es/agent-view#opening-a-session-says-the-conversation-is-already-open):4597Abriste la fila de una sesión detenida en [agent view](/docs/es/agent-view), y su conversación guardada ya está abierta en otro proceso activo de Claude Code en esta máquina, por lo que Claude Code se niega a iniciar un segundo proceso que escribiría en la misma transcripción. El mensaje que ves depende de [qué mantiene la conversación](/docs/es/agent-view#opening-a-session-says-the-conversation-is-already-open):
4577 4598
4578```text theme={null}4599```text theme={null}
4579Can't open — this session is running in another terminal4600Can't open — this session is running in another terminal
4580This conversation is already open in another running Claude session — use that one, or close it and try again4601This conversation is already open in another running Claude session — use that one, or close it and try again
4581```4602```
4582 4603
4583* **`running in another terminal`**: una terminal mantiene la conversación, por ejemplo una donde la reanudó con `claude --resume` o `/resume`. La fila también muestra `Open in a terminal`.4604* **`running in another terminal`**: una terminal mantiene la conversación, por ejemplo una donde la reanudaste con `claude --resume` o `/resume`. La fila también muestra `Open in a terminal`.
4584* **`already open in another running Claude session`**: otro proceso Claude Code no interactivo la mantiene, por ejemplo un proceso de [sesión en segundo plano](/docs/es/agent-view#the-supervisor-process) para la misma conversación que aún no ha salido.4605* **`already open in another running Claude session`**: otro proceso no interactivo de Claude Code la mantiene, por ejemplo un proceso de [sesión en segundo plano](/docs/es/agent-view#the-supervisor-process) para la misma conversación que aún no ha salido.
4585 4606
4586Claude Code guarda una respuesta que escribió al abrir la fila y la envía como el siguiente prompt de la sesión cuando la sesión se inicia nuevamente.4607Claude Code guarda una respuesta que escribiste al abrir la fila y la envía como el siguiente prompt de la sesión la próxima vez que la sesión se inicie.
4587 4608
4588**Qué hacer:**4609**Qué hacer:**
4589 4610
4590* Continúe la conversación en el proceso que la tiene abierta, o salga de ese proceso y abra la fila nuevamente4611* Continúa la conversación en el proceso que la tiene abierta, o sal de ese proceso y abre la fila nuevamente
4591 4612
4592Antes de v2.1.248, solo existía el rechazo `already open in another running Claude session`: una conversación reanudada en una terminal no contaba como abierta, y abrir la fila iniciaba un segundo proceso Claude Code escribiendo en la misma conversación.4613Antes de v2.1.248, solo existía el rechazo `already open in another running Claude session`: una conversación reanudada en una terminal no contaba como abierta, y abrir la fila iniciaba un segundo proceso de Claude Code que escribía en la misma conversación.
4593 4614
4594<h3 id="this-sessions-saved-conversation-is-no-longer-on-disk">4615<h3 id="this-sessions-saved-conversation-is-no-longer-on-disk">
4595 La conversación guardada de esta sesión ya no está en el disco4616 La conversación guardada de esta sesión ya no está en el disco
4596</h3>4617</h3>
4597 4618
4598Abrió una [sesión en segundo plano](/docs/es/agent-view) que terminó mientras el servicio en segundo plano estaba apagado, y [la limpieza de transcripción](/docs/es/settings-reference#cleanupperioddays) ha eliminado desde entonces su conversación guardada, por ejemplo después de que la máquina estuvo apagada durante semanas. Abrir tal fila normalmente [reanuda su conversación guardada](/docs/es/agent-view#sessions-show-as-failed-after-shutdown). Sin nada que reanudar, Claude Code rechaza en lugar de volver a ejecutar el prompt original de la sesión sin preguntar:4619Abriste una [sesión en segundo plano](/docs/es/agent-view) que terminó mientras el servicio en segundo plano estaba apagado, y [la limpieza de transcripciones](/docs/es/settings-reference#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](/docs/es/agent-view#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:
4599 4620
4600```text theme={null}4621```text theme={null}
4601This 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.4622This 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.
4605 4626
4606**Qué hacer:**4627**Qué hacer:**
4607 4628
4608* Ejecute `claude rm <id>` para eliminar la fila. Cuando se aplica uno de los [casos mantenidos](/docs/es/agent-view#what-deleting-a-session-removes), `claude rm` mantiene la fila y el worktree en su lugar y nombra la razón4629* Ejecuta `claude rm <id>` para eliminar la fila. Cuando se aplica uno de los [casos conservados](/docs/es/agent-view#what-deleting-a-session-removes), `claude rm` conserva la fila y el worktree en su lugar e indica la razón
4609* Para ejecutar el prompt original de la sesión nuevamente como una conversación nueva, ejecute `claude respawn <id>`4630* Para ejecutar el prompt original de la sesión nuevamente como una conversación nueva, ejecuta `claude respawn <id>`
4610 4631
4611Antes de v2.1.248, abrir tal fila volvía a ejecutar el prompt original de la sesión en lugar de rechazar, trayendo una tarea de hace semanas al primer plano.4632Antes de v2.1.248, abrir una fila así volvía a ejecutar el prompt original de la sesión en lugar de rechazarlo, trayendo de vuelta al primer plano una tarea de hace semanas.
4612 4633
4613<h3 id="worktree-has-commits-that-are-not-pushed-anywhere">4634<h3 id="worktree-has-commits-that-are-not-pushed-anywhere">
4614 Worktree tiene commits que no se han enviado a ningún lugar4635 El worktree tiene commits que no se han enviado a ningún lugar
4615</h3>4636</h3>
4616 4637
4617Intentó eliminar una [sesión en segundo plano](/docs/es/agent-view#what-deleting-a-session-removes) cuyo worktree contiene commits que Claude Code no puede confirmar que se guardan en otro lugar. Claude Code mantiene el worktree y la fila de sesión en lugar de destruir los commits sin verlos. `claude rm` nombra la rama y los commits no enviados, y dice cómo proceder:4638Intentaste eliminar una [sesión en segundo plano](/docs/es/agent-view#what-deleting-a-session-removes) cuyo worktree contiene commits que Claude Code no puede confirmar que estén guardados en otro lugar. Claude Code conserva el worktree y la fila de la sesión en lugar de destruir los commits sin que los veas. `claude rm` nombra la rama y los commits no enviados, e indica cómo proceder:
4618 4639
4619```text theme={null}4640```text theme={null}
4620kept 7c5dcf5d — its worktree is still at "/home/you/project/.claude/worktrees/fix-login"4641kept 7c5dcf5d — its worktree is still at “/home/you/project/.claude/worktrees/fix-login”
4621 2 unpushed commits on "claude/fix-login": a1b2c3d "Fix login flow" and 1 more. They exist on no remote, so deleting the worktree would lose them.4642 2 unpushed commits on “claude/fix-login”: a1b2c3d “Fix login flow” and 1 more. They exist on no remote, so deleting the worktree would lose them.
4622 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef4643 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef
4623```4644```
4624 4645
4625Cuando Claude Code no puede resumir los commits, la línea de detalle lee `The worktree has unpushed commits` en su lugar. En [agent view](/docs/es/agent-view), la fila de la sesión muestra `not deleted` con la misma razón.4646Cuando Claude Code no puede resumir los commits, la línea de detalle dice `The worktree has unpushed commits` en su lugar. En [agent view](/docs/es/agent-view), la fila de la sesión muestra `not deleted` con la misma razón.
4626 4647
4627Los commits en un remoto no bloquean la eliminación. Tampoco los commits en la copia local de la rama predeterminada de su remoto `origin`, siempre que esa rama esté desprotegida en su checkout principal, el directorio del repositorio en sí en lugar de un worktree.4648Los 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.
4628 4649
4629**Qué hacer:**4650**Qué hacer:**
4630 4651
4631* Para mantener los commits, envíe la rama del worktree, o fusionela en la rama predeterminada desprotegida en su checkout principal, luego elimine la sesión nuevamente4652* Para conservar los commits, envía la rama del worktree, o fusiónala en la rama predeterminada activa en tu checkout principal, y luego elimina la sesión nuevamente
4632* Para descartar los commits, ejecute el comando `claude rm <id> --discard-unpushed` que el mensaje imprimió, o presione `Ctrl+X` dos veces en la fila de la sesión en agent view nuevamente. Esto elimina la sesión y el worktree junto con su rama, los commits no enviados, y cualquier cambio no confirmado. Si el worktree ha ganado un commit desde el rechazo, Claude Code lo mantiene nuevamente y muestra el estado actualizado4653* Para descartar los commits, ejecuta el comando `claude rm <id> --discard-unpushed` que imprimió el mensaje, o presiona `Ctrl+X` dos veces nuevamente en la fila de la sesión en agent view. Esto elimina la sesión y el worktree junto con su rama, los commits no enviados y cualquier cambio sin commit. Si el worktree ha ganado un commit desde el rechazo, Claude Code lo conserva nuevamente y muestra el estado actualizado
4633* Cuando el mensaje dice que el worktree también está registrado por otra sesión terminada, eliminar nuevamente no lo descarta: envíe los commits, luego elimine la sesión nuevamente4654* Cuando el mensaje dice que el worktree también está registrado por otra sesión terminada, eliminar nuevamente no lo descarta: envía los commits y luego elimina la sesión nuevamente
4634 4655
4635Antes de v2.1.268, `claude rm` ponía el resumen de commits en la línea `kept` en sí. Cuando `claude rm` no podía resumir los commits, la línea `kept` leía `worktree has commits that are not pushed anywhere` en lugar del resumen.4656Antes de v2.1.268, `claude rm` ponía el resumen de commits en la propia línea `kept`. Cuando `claude rm` no podía resumir los commits, la línea `kept` decía `worktree has commits that are not pushed anywhere` en lugar del resumen.
4636 4657
4637Antes de v2.1.260, el mensaje no nombraba la rama o los commits, y eliminar nuevamente se rechazaba de la misma manera: eliminar la sesión sin enviar significaba eliminar el worktree usted mismo con `git worktree remove --force <path>`, luego ejecutar `claude rm <id>` nuevamente.4658Antes de v2.1.260, el mensaje no nombraba la rama ni los commits, y eliminar nuevamente se rechazaba de la misma manera: eliminar la sesión sin enviar los commits significaba eliminar el worktree tú mismo con `git worktree remove --force <path>` y luego ejecutar `claude rm <id>` nuevamente.
4638 4659
4639Antes de v2.1.248, la rama predeterminada desprotegida en su checkout principal no contaba: una rama que ya había fusionado allí aún activaba este rechazo hasta que sus commits llegaran a un remoto.4660Antes de v2.1.248, la rama predeterminada activa en tu checkout principal no contaba: una rama que ya habías fusionado allí seguía activando este rechazo hasta que sus commits llegaran a un remoto.
4640 4661
4641<h3 id="terminal-host-process-died">4662<h3 id="terminal-host-process-died">
4642 El proceso host de la terminal murió4663 El proceso host de la terminal murió
4643</h3>4664</h3>
4644 4665
4645Cada terminal de [sesión en segundo plano](/docs/es/agent-view) se ejecuta en un proceso host bajo el servicio en segundo plano, y ese proceso murió mientras el servicio aún mantenía su conexión, por lo que no se pudo acceder a la sesión.4666La terminal de cada [sesión en segundo plano](/docs/es/agent-view) se ejecuta en un proceso host bajo el servicio en segundo plano, y ese proceso murió mientras el servicio aún mantenía su conexión, por lo que no se pudo acceder a la sesión.
4646 4667
4647En Linux y WSL, el servicio en segundo plano verifica cada proceso host cada pocos segundos, marca la sesión como fallida cuando el proceso ha salido pero su conexión al servicio nunca se cerró, y muestra la razón en su fila en [agent view](/docs/es/agent-view#read-session-state):4668En Linux y WSL, el servicio en segundo plano verifica cada proceso host cada pocos segundos, marca la sesión como fallida cuando el proceso ha salido pero su conexión con el servicio nunca se cerró, y muestra la razón en su fila en [agent view](/docs/es/agent-view#read-session-state):
4648 4669
4649```text theme={null}4670```text theme={null}
4650terminal host process died — press Enter to restart4671terminal host process died — press Enter to restart
4651```4672```
4652 4673
4653Desde el shell, `claude attach <id>` reinicia una sesión ya marcada como fallida por un host muerto, y de lo contrario imprime la causa y sale:4674Desde el shell, `claude attach <id>` reinicia una sesión ya marcada como fallida por un host muerto, y en caso contrario imprime la causa y sale:
4654 4675
4655```text theme={null}4676```text theme={null}
4656Couldn't attach to <id> — This session's terminal host process died (the conversation is saved) — run `claude attach <id>` again to restart it on a fresh host.4677Couldn't attach to <id> — This session's terminal host process died (the conversation is saved) — run `claude attach <id>` again to restart it on a fresh host.
4657```4678```
4658 4679
4659La conversación se guarda de cualquier forma.4680La conversación se guarda en cualquier caso.
4660 4681
4661Una fila que ejecuta un [comando shell](/docs/es/agent-view#run-a-shell-command) en su lugar muestra `terminal host process died — its output is gone; the command was not run again`, y `claude attach` imprime `This command's terminal host process died — its output is gone and the command was not run again`. Claude Code nunca vuelve a ejecutar el comando para usted.4682Una fila que ejecuta un [comando de shell](/docs/es/agent-view#run-a-shell-command) muestra en cambio `terminal host process died — its output is gone; the command was not run again`, y `claude attach` imprime `This command's terminal host process died — its output is gone and the command was not run again`. Claude Code nunca vuelve a ejecutar el comando por ti.
4662 4683
4663**Qué hacer:**4684**Qué hacer:**
4664 4685
4665* En agent view, presione `Enter` en la fila fallida; la sesión se reinicia en un nuevo proceso host y la conversación se reanuda4686* En agent view, presiona `Enter` en la fila fallida; la sesión se reinicia en un nuevo proceso host y la conversación se reanuda
4666* Desde el shell, ejecute `claude attach <id>` nuevamente. Claude Code imprime `Session <id>'s terminal host died — restarting it on a fresh one…` y reabre la sesión4687* Desde el shell, ejecuta `claude attach <id>` nuevamente. Claude Code imprime `Session <id>'s terminal host died — restarting it on a fresh one…` y vuelve a abrir la sesión
4667* No puede reiniciar una fila de comando shell de esta manera; envíe el comando nuevamente para volver a ejecutarlo4688* No puedes reiniciar una fila de comando de shell de esta manera; envía el comando nuevamente para volver a ejecutarlo
4668 4689
4669Antes de v2.1.247, un proceso host muerto podría pasar cada verificación de vivacidad que ejecutaba el servicio en segundo plano, por lo que abrir la sesión mostraba `opening… · esc to cancel` indefinidamente y `claude attach <id>` esperaba sin reportar un error.4690Antes de v2.1.247, un proceso host muerto podía pasar todas las verificaciones de actividad que ejecutaba el servicio en segundo plano, por lo que abrir la sesión mostraba `opening… · esc to cancel` indefinidamente y `claude attach <id>` esperaba sin reportar un error.
4670 4691
4671<h3 id="session-isnt-responding">4692<h3 id="session-isnt-responding">
4672 La sesión no responde4693 La sesión no responde
4673</h3>4694</h3>
4674 4695
4675Abrió una [sesión en segundo plano](/docs/es/agent-view) y el servicio en segundo plano aceptó la apertura, pero no llegó salida durante aproximadamente diez segundos, por lo que Claude Code concluye que el proceso que retransmite la terminal de la sesión no puede entregar salida, y termina el intento en lugar de esperar.4696Abriste una [sesión en segundo plano](/docs/es/agent-view) y el servicio en segundo plano aceptó la apertura, pero no llegó ninguna salida durante unos diez segundos, por lo que Claude Code concluye que el proceso que retransmite la terminal de la sesión no puede entregar salida, y termina el intento en lugar de seguir esperando.
4676 4697
4677En agent view, Claude Code ofrece un reinicio en el pie de página:4698En agent view, Claude Code ofrece un reinicio en el pie de página:
4678 4699
4686Couldn't attach to <id> — Session isn't responding — `claude stop <id>`, then `claude attach <id>` restarts it (the conversation is saved).4707Couldn't attach to <id> — Session isn't responding — `claude stop <id>`, then `claude attach <id>` restarts it (the conversation is saved).
4687```4708```
4688 4709
4689Claude Code nunca reinicia una fila que ejecuta un [comando shell](/docs/es/agent-view#run-a-shell-command) para usted, porque un reinicio volvería a ejecutar el comando.4710Claude Code nunca reinicia por ti una fila que ejecuta un [comando de shell](/docs/es/agent-view#run-a-shell-command), porque un reinicio volvería a ejecutar el comando.
4690 4711
4691**Qué hacer:**4712**Qué hacer:**
4692 4713
4693* En agent view, presione `Enter` en la misma fila nuevamente. Claude Code detiene el proceso que no responde y reinicia la sesión, y la conversación se reanuda. Nada se detiene sin ese segundo presión4714* En agent view, presiona `Enter` nuevamente en la misma fila. Claude Code detiene el proceso que no responde y reinicia la sesión, y la conversación se reanuda. No se detiene nada sin esa segunda pulsación
4694* Desde el shell, ejecute `claude stop <id>`, luego `claude attach <id>`4715* Desde el shell, ejecuta `claude stop <id>` y luego `claude attach <id>`
4695* Para una fila de comando shell, presione `Ctrl+X` en agent view o ejecute `claude stop <id>` para detenerla; envíe el comando nuevamente para volver a ejecutarlo4716* Para una fila de comando de shell, presiona `Ctrl+X` en agent view o ejecuta `claude stop <id>` para detenerla; envía el comando nuevamente para volver a ejecutarlo
4696 4717
4697<h3 id="session-was-stopped-while-the-respawn-was-in-flight">4718<h3 id="session-was-stopped-while-the-respawn-was-in-flight">
4698 La sesión se detuvo mientras el respawn estaba en vuelo4719 La sesión se detuvo mientras el respawn estaba en curso
4699</h3>4720</h3>
4700 4721
4701Abrió una [sesión en segundo plano](/docs/es/agent-view) cuyo proceso no se estaba ejecutando, y mientras Claude Code la estaba reiniciando, otro proceso Claude Code la detuvo, por ejemplo `claude stop` en otra terminal. Claude Code mantiene la sesión detenida:4722Abriste una [sesión en segundo plano](/docs/es/agent-view) cuyo proceso no se estaba ejecutando, y mientras Claude Code la reiniciaba, otro proceso de Claude Code la detuvo, por ejemplo `claude stop` en otra terminal. Claude Code mantiene la sesión detenida:
4702 4723
4703```text theme={null}4724```text theme={null}
4704Session <id> was stopped while the respawn was in flight4725Session <id> was stopped while the respawn was in flight
4705```4726```
4706 4727
4707Abrir una sesión que acaba de enviar, mientras su proceso aún se está iniciando, espera al proceso en su lugar. Antes de v2.1.246, abrirla en ese momento podría detenerla y mostrar este mensaje.4728Abrir una sesión que acabas de enviar, mientras su proceso aún se está iniciando, espera al proceso en su lugar. Antes de v2.1.246, abrirla en ese momento podía detenerla y mostrar este mensaje.
4708 4729
4709**Qué hacer:**4730**Qué hacer:**
4710 4731
4711* Si no detuvo la sesión, abra su fila nuevamente en agent view o ejecute `claude respawn <id>` para reiniciarla4732* Si no detuviste la sesión, abre su fila nuevamente en agent view o ejecuta `claude respawn <id>` para reiniciarla
4712* Si la detuvo usted mismo, no queda nada por hacer: la sesión permanece detenida4733* Si la detuviste tú mismo, no queda nada por hacer: la sesión permanece detenida
4713 4734
4714<h3 id="session-agent-no-longer-available">4735<h3 id="session-agent-no-longer-available">
4715 Agente de sesión ya no disponible4736 El agente de la sesión ya no está disponible
4716</h3>4737</h3>
4717 4738
4718Reanudó una sesión que estaba ejecutando un [agente personalizado](/docs/es/sub-agents#invoke-subagents-explicitly), iniciado con `--agent` o la configuración `agent`, y Claude Code no encontró un agente con ese nombre. Busca primero en el directorio original de la sesión, cuando ha [confiado en ese espacio de trabajo](/docs/es/permissions#project-allow-rules-and-workspace-trust), luego en el directorio desde el que reanuda. La sesión aún se reanuda, pero con las herramientas predeterminadas, por lo que las restricciones de herramientas del agente ya no se aplican:4739Reanudaste una sesión que estaba ejecutando un [agente personalizado](/docs/es/sub-agents#invoke-subagents-explicitly), iniciado con `--agent` o el ajuste `agent`, y Claude Code no encontró un agente con ese nombre. Busca primero en el directorio original de la sesión, cuando has [confiado en ese espacio de trabajo](/docs/es/permissions#project-allow-rules-and-workspace-trust), y luego en el directorio desde el que reanudas. La sesión se reanuda de todos modos, pero con las herramientas predeterminadas, por lo que las restricciones de herramientas del agente ya no se aplican:
4719 4740
4720```text theme={null}4741```text theme={null}
4721This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.4742This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.
4722```4743```
4723 4744
4724La advertencia nombra solo los directorios que Claude Code buscó, y aparece en la conversación reanudada ya sea que despierte una [sesión en segundo plano](/docs/es/agent-view), ejecute `/resume` o `claude --resume`, o reanude en [modo no interactivo](/docs/es/headless), donde también va a stderr. Las sesiones que usan `--input-format stream-json` no la muestran, porque el Agent SDK proporciona agentes después del inicio.4745La advertencia nombra solo los directorios en los que Claude Code buscó, y aparece en la conversación reanudada ya sea que despiertes una [sesión en segundo plano](/docs/es/agent-view), ejecutes `/resume` o `claude --resume`, o reanudes en [modo no interactivo](/docs/es/headless), donde también va a stderr. Las sesiones que usan `--input-format stream-json` no la muestran, porque el Agent SDK proporciona los agentes después del inicio.
4725 4746
4726Claude Code no guarda la alternativa en la sesión, por lo que la advertencia se repite en cada reanudación hasta que actúe. El agente `claude` integrado no activa la advertencia, ya que volver a la herramienta predeterminada no cambia nada para él. Antes de v2.1.216, Claude Code continuaba silenciosamente como el agente predeterminado, y la búsqueda cubría solo el directorio desde el que reanudaba, por lo que un agente con alcance de proyecto se perdía en cualquier reanudación desde otro directorio.4747Claude Code no guarda la alternativa en la sesión, por lo que la advertencia se repite en cada reanudación hasta que actúes. El agente integrado `claude` no activa la advertencia, ya que recurrir al conjunto de herramientas predeterminado no cambia nada para él. Antes de v2.1.216, Claude Code continuaba silenciosamente como el agente predeterminado, y la búsqueda cubría solo el directorio desde el que reanudabas, por lo que un agente con alcance de proyecto se perdía en cualquier reanudación desde otro directorio.
4727 4748
4728**Qué hacer:**4749**Qué hacer:**
4729 4750
4730* Vuelva a crear el archivo de agente en `.claude/agents/<name>.md` en el proyecto de la sesión, o en `~/.claude/agents/<name>.md` para un agente personal, luego reanude nuevamente4751* Vuelve a crear el archivo del agente en `.claude/agents/<name>.md` en el proyecto de la sesión, o en `~/.claude/agents/<name>.md` para un agente personal, y luego reanuda nuevamente
4731* O reanude con `--agent <name>` nombrando un agente que sí existe, para ejecutar la sesión como ese agente en su lugar4752* O reanuda con `--agent <name>` nombrando un agente que sí exista, para ejecutar la sesión como ese agente en su lugar
4732* Si el agente tiene alcance de proyecto y no ha confiado en el directorio original de la sesión, ejecute Claude Code allí una vez, acepte el diálogo de confianza, luego reanude nuevamente4753* Si el agente tiene alcance de proyecto y no has confiado en el directorio original de la sesión, ejecuta Claude Code allí una vez, acepta el diálogo de confianza y luego reanuda nuevamente
4733 4754
4734<h3 id="claude_code_process_wrapper-launcher-errors">4755<h3 id="claude_code_process_wrapper-launcher-errors">
4735 Errores del lanzador CLAUDE\_CODE\_PROCESS\_WRAPPER4756 Errores del lanzador CLAUDE\_CODE\_PROCESS\_WRAPPER
4736</h3>4757</h3>
4737 4758
4738[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/es/corporate-launcher) está configurado, y su valor no se puede usar, por lo que Claude Code rechaza iniciar el proceso afectado en lugar de ejecutarlo sin el lanzador. Los problemas de configuración se reportan con un mensaje que comienza con el nombre de la variable y establece la razón, por ejemplo:4759[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/es/corporate-launcher) está configurado y su valor no se puede usar, por lo que Claude Code se niega a iniciar el proceso afectado en lugar de ejecutarlo sin el lanzador. Los problemas de configuración se reportan con un mensaje que comienza con el nombre de la variable e indica la razón, por ejemplo:
4739 4760
4740```text theme={null}4761```text theme={null}
4741CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file4762CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file
4742```4763```
4743 4764
4744Un lanzador que se inicia pero sale sin reemplazarse a sí mismo con Claude Code falla la sesión que estaba iniciando, y la fila de la sesión en agent view reporta que el lanzador `must exec, not daemonize`, seguido de cualquier cosa que el lanzador imprimió. Una sesión que no puede iniciarse o alcanzar el servicio en segundo plano debido al lanzador reporta el problema del lanzador como la razón dentro de `Couldn't reach the background service (...)`.4765Un lanzador que se inicia pero sale sin reemplazarse a sí mismo con Claude Code hace fallar la sesión que estaba iniciando, y la fila de la sesión en agent view reporta que el lanzador `must exec, not daemonize`, seguido de lo que el lanzador haya impreso. Una sesión que no puede iniciarse o comunicarse con el servicio en segundo plano debido al lanzador reporta el problema del lanzador como la razón dentro de `Couldn't reach the background service (...)`.
4745 4766
4746**Qué hacer:**4767**Qué hacer:**
4747 4768
4748* Configure la variable a la ruta absoluta de un ejecutable que termine llamando a `exec "$@"`. Vea [el contrato del lanzador](/docs/es/corporate-launcher#the-launcher-contract) para el contrato completo4769* Configura la variable con la ruta absoluta de un ejecutable que termine llamando a `exec "$@"`. Consulta [el contrato del lanzador](/docs/es/corporate-launcher#the-launcher-contract) para ver el contrato completo
4749* Verifique `/status`, que muestra el comando de lanzamiento resuelto en su entrada Self-exec y advierte cuando el servicio en segundo plano en ejecución no coincide con él, o ejecute `claude daemon status` desde un shell4770* Revisa `/status`, que muestra el comando de lanzamiento resuelto en su entrada Self-exec y advierte cuando el servicio en segundo plano en ejecución no coincide con él, o ejecuta `claude daemon status` desde un shell
4750* Después de corregir el valor en el bloque `env` de [configuración](/docs/es/corporate-launcher#set-up-the-launcher), reinicie el servicio en segundo plano con `claude daemon stop --any` para que el siguiente envío inicie uno envuelto4771* Después de corregir el valor en el bloque `env` de la [configuración](/docs/es/corporate-launcher#set-up-the-launcher), reinicia el servicio en segundo plano con `claude daemon stop --any` para que el siguiente envío inicie uno envuelto por el lanzador
4751 4772
4752<h3 id="eunknown-when-starting-a-background-session">4773<h3 id="eunknown-when-starting-a-background-session">
4753 EUNKNOWN al iniciar una sesión en segundo plano4774 EUNKNOWN al iniciar una sesión en segundo plano
4754</h3>4775</h3>
4755 4776
4756Windows rechazó iniciar un programa con un código de error que no tiene nombre estándar, por lo que el fallo aparece como `EUNKNOWN`. El disparador habitual es una política de restricción de software, como Group Policy o AppLocker, bloqueando el programa que se está iniciando. El error aparece cuando inicia una [sesión en segundo plano](/docs/es/agent-view) con `/background` o `claude --bg`:4777Windows se negó a iniciar un programa con un código de error que no tiene nombre estándar, por lo que el fallo aparece como `EUNKNOWN`. La causa habitual es una política de restricción de software, como Group Policy o AppLocker, que bloquea el programa que se está iniciando. El error aparece cuando inicias una [sesión en segundo plano](/docs/es/agent-view) con `/background` o `claude --bg`:
4757 4778
4758```text theme={null}4779```text theme={null}
4759Couldn't reach the background service (spawn background service: EUNKNOWN: unknown error, uv_spawn) — run 'claude daemon status'4780Couldn't reach the background service (spawn background service: EUNKNOWN: unknown error, uv_spawn) — run 'claude daemon status'
4761 4782
4762En algunas cuentas el mensaje dice `daemon` en lugar de `background service`.4783En algunas cuentas el mensaje dice `daemon` en lugar de `background service`.
4763 4784
4764En una instalación npm, un `EUNKNOWN` que aparece mientras `npm install -g @anthropic-ai/claude-code` está reemplazando el binario tiene la misma causa que [`EACCES` durante una reinstalación](#eacces-when-starting-a-background-session) y se borra cuando reintenta después de que la instalación termina.4785En una instalación con npm, un `EUNKNOWN` que aparece mientras `npm install -g @anthropic-ai/claude-code` está reemplazando el binario tiene la misma causa que [`EACCES` durante una reinstalación](#eacces-when-starting-a-background-session) y desaparece cuando reintentas después de que la instalación termina.
4765 4786
4766Claude Code inicia el servicio en segundo plano a través de PowerShell para que el servicio sobreviva al cierre de la terminal, usando PowerShell 7 cuando está instalado y Windows PowerShell 5.1 de lo contrario. Cuando ningún PowerShell puede ejecutarse, Claude Code inicia el servicio directamente en su lugar, por lo que una política que bloquea solo PowerShell no causa este error.4787Claude Code inicia el servicio en segundo plano a través de PowerShell para que el servicio sobreviva al cierre de la terminal, usando PowerShell 7 cuando está instalado y Windows PowerShell 5.1 en caso contrario. Cuando ninguno de los dos PowerShell puede ejecutarse, Claude Code inicia el servicio directamente, por lo que una política que bloquea solo PowerShell no causa este error.
4767 4788
4768Antes de v2.1.212, Claude Code usaba solo Windows PowerShell 5.1 para iniciar el servicio, por lo que cualquier máquina donde Group Policy bloqueaba PowerShell 5.1 fallaba con `Couldn't start the session — EUNKNOWN: unknown error, uv_spawn`, incluso con PowerShell 7 instalado.4789Antes de v2.1.212, Claude Code usaba solo Windows PowerShell 5.1 para iniciar el servicio, por lo que cualquier máquina donde Group Policy bloqueaba PowerShell 5.1 fallaba con `Couldn't start the session — EUNKNOWN: unknown error, uv_spawn`, incluso con PowerShell 7 instalado.
4769 4790
4770**Qué hacer:**4791**Qué hacer:**
4771 4792
4772* Si el mensaje lee `Couldn't start the session`, actualice a v2.1.212 o posterior. En versiones anteriores también puede ejecutar `claude daemon run` en una terminal separada primero, luego iniciar la sesión en segundo plano nuevamente. Ese comando ejecuta el servicio en segundo plano en el primer plano de la terminal, por lo que el servicio dura solo mientras esa terminal permanece abierta.4793* Si el mensaje dice `Couldn't start the session`, actualiza a v2.1.212 o posterior. En versiones anteriores también puedes ejecutar primero `claude daemon run` en una terminal aparte y luego iniciar la sesión en segundo plano nuevamente. Ese comando ejecuta el servicio en segundo plano en primer plano en la terminal, por lo que el servicio dura solo mientras esa terminal permanezca abierta.
4773* Si una instalación npm estaba reemplazando el binario, espere a que termine, luego inicie la sesión en segundo plano nuevamente4794* Si una instalación con npm estaba reemplazando el binario, espera a que termine y luego inicia la sesión en segundo plano nuevamente
4774* Si el error aparece en v2.1.212 o posterior mientras no se ejecuta ninguna instalación npm, pida al administrador de Windows que permita el ejecutable de Claude Code en la política de restricción4795* Si el error aparece en v2.1.212 o posterior sin que se esté ejecutando ninguna instalación con npm, consulta con tu administrador de Windows si una política de restricción bloquea el ejecutable de Claude Code
4775* Si el servicio en segundo plano se detiene cuando cierra la terminal, Claude Code lo inició sin PowerShell. Instale PowerShell 7, o pida al administrador que desbloquee PowerShell, para que el servicio pueda sobrevivir a la terminal.4796* Si el servicio en segundo plano se detiene cuando cierras la terminal, Claude Code lo inició sin PowerShell. Instala PowerShell 7, o pide a tu administrador que desbloquee PowerShell, para que el servicio pueda sobrevivir a la terminal.
4776 4797
4777<h3 id="eacces-when-starting-a-background-session">4798<h3 id="eacces-when-starting-a-background-session">
4778 EACCES al iniciar una sesión en segundo plano4799 EACCES al iniciar una sesión en segundo plano
4779</h3>4800</h3>
4780 4801
4781Claude Code no pudo ejecutar su propio binario para iniciar el [servicio en segundo plano](/docs/es/agent-view#the-supervisor-process) que aloja sesiones en segundo plano. En una instalación npm, esto generalmente significa que `npm install -g @anthropic-ai/claude-code` estaba reemplazando el binario en ese momento, ya sea que lo ejecutara o el [actualizador automático](/docs/es/setup#auto-updates) lo hizo. El error aparece cuando abre una sesión desde [agent view](/docs/es/agent-view):4802Claude Code no pudo ejecutar su propio binario para iniciar el [servicio en segundo plano](/docs/es/agent-view#the-supervisor-process) que aloja las sesiones en segundo plano. En una instalación con npm, esto generalmente significa que `npm install -g @anthropic-ai/claude-code` estaba reemplazando el binario en ese momento, ya sea que lo ejecutaras tú o el [actualizador automático](/docs/es/setup#auto-updates). El error aparece cuando abres una sesión desde [agent view](/docs/es/agent-view):
4782 4803
4783```text theme={null}4804```text theme={null}
4784Couldn't start the background service — spawn background service: EACCES: permission denied, posix_spawn '/usr/local/lib/node_modules/@anthropic-ai/claude-code/bin/claude'4805Couldn't start the background service — spawn background service: EACCES: permission denied, posix_spawn '/usr/local/lib/node_modules/@anthropic-ai/claude-code/bin/claude'
4785```4806```
4786 4807
4787Cuando inicia una sesión con `/background` o `claude --bg`, la misma razón aparece dentro de `Couldn't reach the background service (...)`. Durante la misma ventana de reinstalación el error puede nombrar otro código en su lugar, como `ENOENT` o `ENOEXEC`, o `EUNKNOWN` o `EPERM` en Windows; un `EUNKNOWN` que persiste en reintentos tiene una [causa diferente](#eunknown-when-starting-a-background-session).4808Cuando inicias una sesión con `/background` o `claude --bg`, la misma razón aparece dentro de `Couldn't reach the background service (...)`. Durante el mismo periodo de reinstalación el error puede nombrar otro código, como `ENOENT` o `ENOEXEC`, o `EUNKNOWN` o `EPERM` en Windows; un `EUNKNOWN` que persiste tras varios reintentos tiene una [causa diferente](#eunknown-when-starting-a-background-session).
4788 4809
4789En una instalación npm, Claude Code espera a que la reinstalación termine y reintenta por su cuenta: hasta diez segundos, y hasta dos minutos mientras una instalación npm de Claude Code aún se está ejecutando visiblemente en la máquina, lo que cubre otro proceso Claude Code descargando una actualización. Cuando la instalación supera esa espera, el fallo nombra la actualización en lugar del código de error simple:4810En una instalación con npm, Claude Code espera a que la reinstalación termine y reintenta por su cuenta: hasta diez segundos, y hasta dos minutos mientras una instalación de Claude Code con npm siga visiblemente en ejecución en la máquina, lo que cubre el caso de otro proceso de Claude Code que descarga una actualización. Cuando la instalación supera esa espera, el fallo nombra la actualización en lugar del código de error sin más:
4790 4811
4791```text theme={null}4812```text theme={null}
4792Claude Code is being updated by npm on this machine (still not runnable after 2 min, EACCES) — try again when the update finishes4813Claude Code is being updated by npm on this machine (still not runnable after 2 min, EACCES) — try again when the update finishes
4793```4814```
4794 4815
4795Antes de v2.1.257, la espera se detuvo a los diez segundos en todos los casos, por lo que este error apareció mientras otro proceso Claude Code aún estaba descargando una actualización. Antes de v2.1.246, Claude Code falló de inmediato, sin esperar.4816Antes de v2.1.257, la espera terminaba a los diez segundos en todos los casos, por lo que este error aparecía mientras otro proceso de Claude Code aún estaba descargando una actualización. Antes de v2.1.246, Claude Code fallaba de inmediato, sin esperar.
4796 4817
4797**Qué hacer:**4818**Qué hacer:**
4798 4819
4799* Espere unos segundos, luego abra la sesión o envíe nuevamente. Cuando el mensaje dice que Claude Code se está actualizando, reintente después de que la actualización termine.4820* Espera unos segundos y luego abre la sesión o haz el envío nuevamente. Cuando el mensaje dice que Claude Code se está actualizando, reintenta después de que la actualización termine.
4800* Si el error persiste mientras no se ejecuta ninguna instalación npm, su usuario no puede ejecutar el binario instalado. Verifique sus permisos y los de su directorio, o reinstale Claude Code.4821* Si el error persiste sin que se esté ejecutando ninguna instalación con npm, tu usuario no puede ejecutar el binario instalado. Revisa sus permisos y los de su directorio, o reinstala Claude Code.
4801 4822
4802<h3 id="background-service-exited-before-it-became-reachable">4823<h3 id="background-service-exited-before-it-became-reachable">
4803 El servicio en segundo plano salió antes de que fuera alcanzable4824 El servicio en segundo plano salió antes de estar disponible
4804</h3>4825</h3>
4805 4826
4806El proceso que Claude Code inició como el [servicio en segundo plano](/docs/es/agent-view#the-supervisor-process) salió antes de aceptar conexiones, por lo que Claude Code no pudo abrir su sesión. Cuando el servicio imprimió un error antes de salir, la razón entre paréntesis da el código de salida o señal y la primera línea que el servicio imprimió, que nombra lo que lo detuvo:4827El proceso que Claude Code inició como el [servicio en segundo plano](/docs/es/agent-view#the-supervisor-process) salió antes de aceptar conexiones, por lo que Claude Code no pudo abrir tu sesión. Cuando el servicio imprimió un error antes de salir, la razón entre paréntesis indica el código de salida o la señal y la primera línea que imprimió el servicio, que nombra lo que lo detuvo:
4807 4828
4808```text theme={null}4829```text theme={null}
4809Couldn't reach the background service (background service exited before it became reachable (exit code N): <the service's first error line>) — run 'claude daemon status'4830Couldn't reach the background service (background service exited before it became reachable (exit code N): <the service's first error line>) — run 'claude daemon status'
4810```4831```
4811 4832
4812Cuando abre una sesión desde [agent view](/docs/es/agent-view), la misma razón sigue a `Couldn't start the background service —`. Cuando el servicio no imprimió nada antes de salir, el mensaje dice `nothing on stderr` en su lugar.4833Cuando abres una sesión desde [agent view](/docs/es/agent-view), la misma razón aparece después de `Couldn't start the background service —`. Cuando el servicio no imprimió nada antes de salir, el mensaje dice `nothing on stderr` en su lugar.
4813 4834
4814Claude Code reporta el fallo con la línea de error del servicio. Antes de v2.1.246, el fallo aparecía solo después de una espera de 45 segundos, como `background service did not become reachable within 45s`, sin la línea de error del servicio.4835Claude Code reporta el fallo con la línea de error del servicio. Antes de v2.1.246, el fallo aparecía solo después de una espera de 45 segundos, como `background service did not become reachable within 45s`, sin la línea de error del servicio.
4815 4836
4816Dos razones entrecomilladas tienen causas conocidas:4837Dos razones citadas tienen causas conocidas:
4817 4838
4818* `Error: claude native binary not installed.`: una instalación npm estaba reemplazando el binario de Claude Code en ese momento, por lo que el servicio ejecutó el marcador de posición de npm en su lugar. Reintente después de que la instalación termine; si la línea persiste sin instalación en ejecución, [complete la instalación npm](/docs/es/troubleshoot-install#native-binary-not-found-after-npm-install). Antes de v2.1.257, una actualización automática de npm en macOS produjo este fallo en cada inicio durante la ventana de instalación.4839* `Error: claude native binary not installed.`: una instalación con npm estaba reemplazando el binario de Claude Code en ese momento, por lo que el servicio ejecutó el marcador de posición de npm en su lugar. Reintenta después de que la instalación termine; si la línea persiste sin ninguna instalación en ejecución, [completa la instalación con npm](/docs/es/troubleshoot-install#native-binary-not-found-after-npm-install). Antes de v2.1.257, una autoactualización con npm en macOS producía este fallo en cada inicio durante el periodo de instalación.
4819* `nothing on stderr` con código de salida 1, en cada inicio, en Windows: `daemon.lock` nombra un proceso que Claude Code no puede señalar ni probar que se ha ido, por lo que cada nuevo servicio concluye que otro mantiene el bloqueo y sale. Un bloqueo cuyo escritor Claude Code puede probar que se ha ido se reemplaza por su cuenta y no produce este fallo. Cuando el fallo se repite en cada inicio, elimine `~/.claude/daemon.lock`, luego abra la sesión o envíe nuevamente. Antes de v2.1.257, tal bloqueo bloqueaba cada inicio hasta que eliminara el archivo.4840* `nothing on stderr` con código de salida 1, en cada inicio, en Windows: `daemon.lock` nombra un proceso al que Claude Code no puede enviar señales ni demostrar que ya no existe, por lo que cada nuevo servicio concluye que otro mantiene el bloqueo y sale. Un bloqueo cuyo escritor Claude Code puede demostrar que ya no existe se reemplaza automáticamente y no produce este fallo. Cuando el fallo se repite en cada inicio, elimina `~/.claude/daemon.lock` y luego abre la sesión o haz el envío nuevamente. Antes de v2.1.257, un bloqueo así impedía cada inicio hasta que eliminaras el archivo.
4820 4841
4821**Qué hacer:**4842**Qué hacer:**
4822 4843
4823* Si el mensaje cita una línea, corrija lo que nombra, luego abra la sesión o envíe nuevamente. El siguiente intento inicia el servicio nuevamente4844* Si el mensaje cita una línea, corrige lo que nombra y luego abre la sesión o haz el envío nuevamente. El siguiente intento vuelve a iniciar el servicio
4824* Ejecute `claude daemon status` para verificar si un servicio se está ejecutando ahora4845* Ejecuta `claude daemon status` para verificar si hay un servicio en ejecución ahora
4825 4846
4826<h3 id="working-directory-no-longer-exists-when-starting-a-background-session">4847<h3 id="working-directory-no-longer-exists-when-starting-a-background-session">
4827 El directorio de trabajo ya no existe al iniciar una sesión en segundo plano4848 El directorio de trabajo ya no existe al iniciar una sesión en segundo plano
4828</h3>4849</h3>
4829 4850
4830El directorio en el que intentó iniciar una [sesión en segundo plano](/docs/es/agent-view) fue removido mientras la sesión se estaba iniciando. Claude Code no inicia la sesión, y el mensaje nombra el directorio faltante:4851El directorio en el que iniciaste una [sesión en segundo plano](/docs/es/agent-view) se eliminó mientras la sesión se estaba iniciando. Claude Code no inicia la sesión, y el mensaje nombra el directorio faltante:
4831 4852
4832```text theme={null}4853```text theme={null}
4833Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)4854Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)
4835 4856
4836Antes de v2.1.257, la sesión parecía iniciarse y luego se mostraba en agent view como una fila fallida con la misma razón.4857Antes de v2.1.257, la sesión parecía iniciarse y luego se mostraba en agent view como una fila fallida con la misma razón.
4837 4858
4838Antes de v2.1.281, este mensaje también aparecía cuando el directorio ya se había ido antes de que iniciara la sesión. Ese caso reporta [`could not be resolved on disk`](#workspace-not-trusted-when-dispatching-a-background-session).4859Antes de v2.1.281, este mensaje también aparecía cuando el directorio ya no existía antes de que iniciaras la sesión. Ese caso reporta [`could not be resolved on disk`](#workspace-not-trusted-when-dispatching-a-background-session).
4839 4860
4840**Qué hacer:**4861**Qué hacer:**
4841 4862
4842* Recree el directorio que el mensaje nombra, o envíe desde un directorio que existe, luego intente nuevamente4863* Vuelve a crear el directorio que nombra el mensaje, o haz el envío desde un directorio que exista, y luego inténtalo de nuevo
4843 4864
4844<h3 id="workspace-not-trusted-when-dispatching-a-background-session">4865<h3 id="workspace-not-trusted-when-dispatching-a-background-session">
4845 Espacio de trabajo no confiable al enviar una sesión en segundo plano4866 Espacio de trabajo no confiable al enviar una sesión en segundo plano
4846</h3>4867</h3>
4847 4868
4848Inició o reinició una [sesión en segundo plano](/docs/es/agent-view) en un directorio que no ha [confiado](/docs/es/permissions#project-allow-rules-and-workspace-trust), y el diálogo de confianza del espacio de trabajo no pudo aparecer para preguntarle. Claude Code no inicia la sesión:4869Iniciaste o reiniciaste una [sesión en segundo plano](/docs/es/agent-view) en un directorio en el que no has [confiado](/docs/es/permissions#project-allow-rules-and-workspace-trust), y el diálogo de confianza del espacio de trabajo no pudo aparecer para preguntarte. Claude Code no inicia la sesión:
4849 4870
4850```text theme={null}4871```text theme={null}
4851Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.4872Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.
4852```4873```
4853 4874
4854Desde una terminal en el directorio de la sesión, el mismo comando muestra el diálogo de confianza en su lugar e inicia la sesión una vez que acepta. Este mensaje aparece donde no puede haber diálogo, como en un script, o cuando reinicia una sesión desde un directorio diferente al suyo.4875Desde una terminal en el propio directorio de la sesión, el mismo comando muestra el diálogo de confianza en su lugar e inicia la sesión una vez que aceptas. Este mensaje aparece donde no puede mostrarse ningún diálogo, como en un script, o cuando reinicias una sesión desde un directorio distinto al suyo.
4855 4876
4856Dos variantes nombran una causa diferente:4877Dos variantes nombran una causa diferente:
4857 4878
4858* **`The home directory is trusted one session at a time`**: el directorio de la sesión es su directorio de inicio. Claude Code nunca guarda confianza para el directorio de inicio, por lo que aceptar el diálogo allí en una sesión anterior no cuenta.4879* **`The home directory is trusted one session at a time`**: el directorio de la sesión es tu directorio home. Claude Code nunca guarda la confianza para el directorio home, por lo que haber aceptado el diálogo allí en una sesión anterior no cuenta.
4859* **`<path> could not be resolved on disk`**: Claude Code no pudo encontrar el directorio de la sesión en el disco.4880* **`<path> could not be resolved on disk`**: Claude Code no pudo encontrar el directorio de la sesión en el disco.
4860 4881
4882Antes de v2.1.286, en Windows, este mensaje también podía aparecer en un directorio en el que ya habías confiado, si su registro de confianza se había guardado con la ruta en mayúsculas y minúsculas diferentes. Actualiza a v2.1.286 o posterior.
4883
4861**Qué hacer:**4884**Qué hacer:**
4862 4885
4863* Ejecute `claude` en el directorio que el mensaje nombra y acepte el diálogo de confianza, luego ejecute el comando nuevamente4886* Ejecuta `claude` en el directorio que nombra el mensaje y acepta el diálogo de confianza, y luego ejecuta el comando nuevamente
4864* Para el mensaje del directorio de inicio, ejecute el comando desde una terminal en su directorio de inicio para que el diálogo pueda aparecer, o inicie la sesión desde un directorio de proyecto en su lugar4887* Para el mensaje del directorio home, ejecuta el comando desde una terminal en tu directorio home para que el diálogo pueda aparecer, o inicia la sesión desde un directorio de proyecto en su lugar
4865* Para el mensaje `could not be resolved on disk`, recree el directorio, o inicie una nueva sesión desde un directorio que existe4888* Para el mensaje `could not be resolved on disk`, vuelve a crear el directorio, o inicia una nueva sesión desde un directorio que exista
4866 4889
4867<h2 id="wrapper-and-ide-errors">4890<h2 id="wrapper-and-ide-errors">
4868 Errores de wrapper e IDE4891 Errores de wrapper e IDE