diff --git a/es/errors.md b/es/errors.md index 54b4a4d8a067d6ffa2e4b73ec7f791238855c065..b5e63914a02829246a147f695978cf575e283161 100644 --- a/es/errors.md +++ b/es/errors.md @@ -4,28 +4,28 @@ # Referencia de errores -> Busque mensajes de error en tiempo de ejecución de Claude Code con lo que cada uno significa y cómo solucionarlo. +> Busca mensajes de error en tiempo de ejecución de Claude Code con lo que cada uno significa y cómo solucionarlo. -Esta 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). +Esta 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). -Excepto 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. +Excepto 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. - 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). + 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).

- Encuentre su error + Encuentra tu error

-Haga coincidir el mensaje que ve con una sección a continuación. +Busca el mensaje que ves en la tabla y ve a la sección correspondiente. | Mensaje | Sección | | :- | :- | | `API Error: 500 Internal server error` | [Errores del servidor](#api-error-500-internal-server-error) | | `API Error: Repeated 529 Overloaded errors` | [Errores del servidor](#api-error-repeated-529-overloaded-errors) | | `Opus is experiencing high load` / `Fable is experiencing high load` | [Errores del servidor](#api-error-repeated-529-overloaded-errors) | -| `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 | +| `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 | | `API Error: No response from API` | [Errores del servidor](#no-response-from-api) | | `Server error mid-response. The response above may be incomplete.` | [Errores del servidor](#the-response-above-may-be-incomplete) | | `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Errores del servidor](#the-response-above-may-be-incomplete) | @@ -75,7 +75,11 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [Autenticación](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) | | `Remote Control stopped — the app running this session is signed out of Claude` | [Autenticación](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) | | `Couldn't verify your organization's policy for remote control` | [Solucionar problemas de Remote Control](/docs/es/remote-control#couldnt-verify-your-organizations-policy-for-remote-control) | +| `Remote Control is disabled by your organization's policy` | [Solucionar problemas de Remote Control](/docs/es/remote-control#remote-control-is-disabled-by-your-organizations-policy) | +| `Remote Control was turned off by your organization's policy` | [Solucionar problemas de Remote Control](/docs/es/remote-control#remote-control-was-turned-off-by-your-organizations-policy) | | `OAuth token revoked` / `OAuth token has expired` | [Autenticación](#oauth-token-revoked-or-expired) | +| `Failed to authenticate: OAuth token revoked` | [Autenticación](#oauth-token-revoked-or-expired) | +| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Autenticación](#oauth-token-revoked-or-expired) | | `API Error: 401 Invalid authentication credentials` | [Autenticación](#api-error-401-invalid-authentication-credentials) | | `Login expired · Please run /login` | [Autenticación](#login-expired) | | `Failed to start OAuth callback server` | [Autenticación](#failed-to-start-oauth-callback-server) | @@ -112,21 +116,21 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `AWS default-chain credential resolve timed out` | [Autenticación](#aws-default-chain-credential-resolve-timed-out) | | `Timed out after 60s waiting for AWS` | [Autenticación](#bedrock-setup-verification-timed-out-waiting-for-aws) | | `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) | -| `Could not load the default credentials` on Google Cloud's Agent Platform | [Autenticación](#could-not-load-aws-or-google-cloud-credentials) | +| `Could not load the default credentials` en Agent Platform de Google Cloud | [Autenticación](#could-not-load-aws-or-google-cloud-credentials) | | `Unable to connect to API` | [Red](#unable-to-connect-to-api) | -| `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) | -| `Unable to connect to Anthropic services` during setup | [Red](#unable-to-connect-to-anthropic-services) | +| `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) | +| `Unable to connect to Anthropic services` durante la configuración | [Red](#unable-to-connect-to-anthropic-services) | | `Socket is closed` | [Red](#socket-is-closed) | | `Waiting for API response · will retry in` | [Reintentos automáticos](#automatic-retries), o [Red](#unable-to-connect-to-api) si persiste | | `API returned an empty or malformed response` | [Red](#api-returned-an-empty-or-malformed-response) | | `Streaming response ended before any complete data was received` | [Red](#streaming-response-ended-before-any-complete-data-was-received) | | `Bedrock streaming response has content-type "..."; expected "application/vnd.amazon.eventstream"` | [Red](#bedrock-streaming-response-has-an-unexpected-content-type) | | `SSL certificate verification failed` | [Red](#ssl-certificate-errors) | -| `SSL certificate error (...)` during login or startup | [Red](#ssl-certificate-errors) | +| `SSL certificate error (...)` durante el inicio de sesión o el arranque | [Red](#ssl-certificate-errors) | | `unable to get local issuer certificate` | [Red](#ssl-certificate-errors) | -| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Red](#host-not-allowed-in-a-cloud-session) | +| `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) | | `proxy refused the connection` | [Red](#the-proxy-refused-the-connection) | -| `403` with `This GraphQL query is not enabled for this session` in a cloud session | [GitHub proxy](/docs/es/cloud-environments#github-proxy) | +| `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) | | `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) | | `Couldn't reconnect to your Remote Control session` | [Red](#couldnt-reconnect-to-your-remote-control-session) | | `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,12 +141,12 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `Prompt is too long · this conversation is a single exchange` / `A single-exchange conversation cannot be compacted` | [Errores de solicitud](#prompt-is-too-long) | | `Context limit reached · /compact or /clear to continue` | [Errores de solicitud](#prompt-is-too-long) | | `Context limit reached · /clear to continue` | [Errores de solicitud](#prompt-is-too-long) | -| `capability_rejected: prompt_too_long` on a Claude apps gateway session | [Errores de solicitud](#prompt-is-too-long) | -| `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) | -| `upstream rate limit exceeded` on a Claude apps gateway session | [Mensajes de error ascendentes](/docs/es/claude-apps-gateway-config#upstream-error-messages) | -| `all upstreams failed (N attempted)` on a Claude apps gateway session | [Mensajes de error ascendentes](/docs/es/claude-apps-gateway-config#upstream-error-messages) | -| `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) | -| `Context exceeds the ...-token limit by ... tokens` in `/context` output | [Errores de solicitud](#context-exceeds-the-token-limit) | +| `capability_rejected: prompt_too_long` en una sesión del gateway de aplicaciones de Claude | [Errores de solicitud](#prompt-is-too-long) | +| `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) | +| `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) | +| `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) | +| `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) | +| `Context exceeds the ...-token limit by ... tokens` en la salida de `/context` | [Errores de solicitud](#context-exceeds-the-token-limit) | | `Request too large` | [Errores de solicitud](#request-too-large) | | `Request too large for the API's 32MB request limit` | [Errores de solicitud](#request-too-large) | | `Image was too large` | [Errores de solicitud](#image-was-too-large) | @@ -164,6 +168,7 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `Can't switch to the default model` | [Errores de solicitud](#cant-switch-to-the-default-model) | | `Model switch ... blocked by a PreModelSwitch hook` | [Errores de solicitud](#model-switch-was-blocked-by-a-premodelswitch-hook) | | `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [Errores de solicitud](#couldnt-save-it-as-your-default) | +| `is less capable than the current main model` / `Advisor will not activate on the main model` / `cannot advise` | [Errores de solicitud](#advisor-is-less-capable-than-the-current-main-model) | | `thinking.type.enabled is not supported for this model` | [Errores de solicitud](#thinking-type-enabled-is-not-supported-for-this-model) | | `Effort '' isn't available with thinking turned off on this model` | [Errores de solicitud](#effort-isnt-available-with-thinking-turned-off) | | `effort '' is not supported when thinking is disabled` | [Errores de solicitud](#effort-isnt-available-with-thinking-turned-off) | @@ -176,7 +181,7 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `role 'system' must precede an 'assistant' message` | [Errores de solicitud](#role-system-must-precede-an-assistant-message) | | `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) | | `Invalid encrypted_stdout in encrypted_code_execution_result block` | [Errores de solicitud](#invalid-encrypted-content-in-search-result-block) | -| `server_tool_use.name: Input should be` on every turn of a resumed session | [Errores de solicitud](#unsupported-tool-content-removed) | +| `server_tool_use.name: Input should be` en cada turno de una sesión reanudada | [Errores de solicitud](#unsupported-tool-content-removed) | | ` can't help with this. Start a new session to continue` | [Errores de solicitud](#usage-policy-refusal) | | `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [Errores de solicitud](#usage-policy-refusal) | | `'s safeguards flagged this message` | [Errores de solicitud](#safety-measures-flagged-a-cybersecurity-topic) | @@ -186,6 +191,7 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `The connection dropped while downloading the update` | [Errores de instalación](#the-connection-dropped-while-downloading-the-update) | | `Download timed out: exceeded the total deadline` | [Errores de instalación](#the-connection-dropped-while-downloading-the-update) | | `--bg and --print conflict` | [Errores de línea de comandos](#conflict-between-bg-and-print) | +| `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) | | `Cloud sessions cannot be created from a --restricted session` | [Errores de línea de comandos](#cloud-sessions-cannot-be-created-from-a-restricted-session) | | `Cloud sessions are disabled by your organization's policy` | [Errores de línea de comandos](#cloud-sessions-are-disabled-by-your-organizations-policy) | | `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,12 +203,13 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `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) | | `Temp directory ... Refusing to use it` / `ENOSPC: no space left on device, mkdir ''` | [Errores de línea de comandos](#temp-directory-refused-or-cannot-be-created) | | `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) | -| `Error: Workspace not trusted` when starting Remote Control | [Errores de línea de comandos](#workspace-not-trusted-when-starting-remote-control) | +| `Error: Workspace not trusted` al iniciar Remote Control | [Errores de línea de comandos](#workspace-not-trusted-when-starting-remote-control) | | `` `` 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) | | `` `claude import` is not yet available in this build `` | [Errores de línea de comandos](#claude-import-is-not-yet-available-in-this-build) | | `Could not read Claude Code config` | [Errores de línea de comandos](#could-not-read-claude-code-config) | | `Could not import : ` | [Errores de línea de comandos](#could-not-import-a-server-from-claude-desktop) | | `Cannot add MCP server to scope: managed` | [Errores de línea de comandos](#cannot-add-mcp-server-to-the-managed-scope) | +| `Cannot add MCP server: your organization's managed settings allow only MCP servers that plugins provide` | [Errores de línea de comandos](#cannot-add-mcp-server-when-managed-settings-allow-only-plugin-servers) | | `is Anthropic-hosted and doesn't support local OAuth` | [Errores de línea de comandos](#anthropic-hosted-and-doesnt-support-local-oauth) | | `Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes` | [Errores de línea de comandos](#cant-read-mcp-json) | | `MCP server "" was not saved to` / `was not removed from` | [Errores de línea de comandos](#mcp-server-was-not-saved-or-removed) | @@ -211,22 +218,26 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `Error: MCP tool (passed via --permission-prompt-tool) not found` | [Errores de línea de comandos](#mcp-permission-prompt-tool-not-found) | | `OAuth callback port is already in use — another process may be holding it` | [Errores de línea de comandos](#oauth-callback-port-is-already-in-use) | | `No available ports for OAuth redirect` | [Errores de línea de comandos](#no-available-ports-for-oauth-redirect) | -| `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) | -| `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) | +| `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) | +| `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) | | ``Skill requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Errores de línea de comandos](#security-review-fails-without-origin-head) | | `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) | +| `Claude Code can't read the keyboard here: stdin is not a terminal` | [Errores de línea de comandos](#claude-code-cant-read-the-keyboard-here) | | `Error: Input contained only whitespace` | [Errores de línea de comandos](#input-contained-only-whitespace) | | `Blank prompt — the message was only whitespace, so nothing was sent to the model.` | [Errores de línea de comandos](#input-contained-only-whitespace) | | `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) | -| `Unknown command: /`, with or without a `Did you mean` suggestion | [Errores de línea de comandos](#unknown-command) | +| `Unknown command: /`, con o sin una sugerencia `Did you mean` | [Errores de línea de comandos](#unknown-command) | | `Diff is too large for ultrareview` / `PR # is too large for ultrareview` | [Errores de línea de comandos](#diff-is-too-large-for-ultrareview) | | `Could not find merge-base with ` | [Errores de línea de comandos](#could-not-find-merge-base-with-the-base-branch) | | `Your checkout has no branches (detached HEAD only)` | [Errores de línea de comandos](#your-checkout-has-no-branches) | | `Ultrareview clones / 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) | | `Your connected GitHub account can't see /` | [Errores de línea de comandos](#your-connected-github-account-cant-see-the-repository) | | `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) | -| `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) | +| `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) | | `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) | +| `Your GitHub organization has an IP allowlist that is blocking Claude` | [Errores de línea de comandos](#a-github-organization-policy-is-blocking-claude) | +| `Your GitHub organization requires single sign-on` | [Errores de línea de comandos](#a-github-organization-policy-is-blocking-claude) | +| `Your GitHub organization's identity provider (Microsoft Entra ID) has a Conditional Access policy that is blocking Claude` | [Errores de línea de comandos](#a-github-organization-policy-is-blocking-claude) | | `Single sign-on authorization needed` | [Errores de línea de comandos](#single-sign-on-authorization-needed) | | `Failed to resume the conversation` | [Errores de línea de comandos](#failed-to-resume-the-conversation) | | `No conversation found with session ID: ` | [Errores de línea de comandos](#no-conversation-found-with-the-session-id) | @@ -236,20 +247,25 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `Couldn't open Claude Desktop` | [Errores de línea de comandos](#couldnt-open-claude-desktop) | | `Failed to open Claude Desktop. Please try opening it manually.` | [Errores de línea de comandos](#couldnt-open-claude-desktop) | | `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) | -| `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) | +| `Your Zed keymap isn't a readable list of keybindings` | [Errores de línea de comandos](#terminal-setup-left-your-zed-keymap-unchanged) | | `Skill usage reports are not available on this connection.` | [Errores de línea de comandos](#skill-usage-reports-are-not-available-on-this-connection) | | `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) | | `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) | +| `/recap only runs when you ask for it yourself in this session` | [Errores de línea de comandos](#recap-only-runs-when-you-ask-for-it-yourself) | | `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Errores de plugins](#plugin-eval-is-currently-in-early-access) | | `Marketplace "" is registered from an untrusted source` | [Errores de plugins](#marketplace-is-registered-from-an-untrusted-source) | | `Claude Code refuses the marketplace name ""` | [Errores de plugins](#claude-code-refuses-the-marketplace-name) | | `Marketplace name impersonates an official Anthropic/Claude marketplace` | [Errores de plugins](#claude-code-refuses-the-marketplace-name) | | `Marketplace "" is already added from a different source` | [Errores de plugins](#marketplace-is-already-added-from-a-different-source) | | `"" is another spelling of "", a reserved marketplace name` | [Errores de plugins](#marketplace-name-is-another-spelling-of-a-reserved-name) | +| `Marketplace "" is added but ignored` | [Solución de problemas de plugins](/docs/es/plugins/troubleshooting#marketplace-is-added-but-ignored) | +| `Marketplace "" is registered but was refused (see the debug log)` | [Solución de problemas de plugins](/docs/es/plugins/troubleshooting#marketplace-is-added-but-ignored) | | `references ${user_config.*} in a shell-form command` | [Errores de plugins](#plugin-command-references-user-config) | | `Monitor "" from plugin references ${user_config.*} in its command` | [Errores de plugins](#plugin-command-references-user-config) | | `headersHelper for MCP server '' references ${user_config.*}` | [Errores de plugins](#plugin-command-references-user-config) | | `Plugin archive integrity check failed` | [Errores de plugins](#plugin-archive-integrity-check-failed) | +| `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) | +| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Solución de problemas de plugins](/docs/es/plugins/troubleshooting#the-packages-it-lists-are-not-installed) | | `path escapes plugin directory` | [Errores de plugins](#path-escapes-plugin-directory) | | `path could not be checked` | [Errores de plugins](#path-could-not-be-checked) | | `its marketplace entry path does not stay inside the marketplace directory` | [Errores de plugins](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) | @@ -260,6 +276,7 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `"" was not uninstalled: it is still switched on in ` | [Errores de plugins](#plugin-was-not-uninstalled) | | `"" was not uninstalled: is there and could not be read` | [Errores de plugins](#plugin-was-not-uninstalled) | | `Plugin "" was not uninstalled: installed_plugins.json` | [Solución de problemas de plugins](/docs/es/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) | +| `Error: No such tool available: ` | [Errores de herramientas](#no-such-tool-available) | | `would be spawned with zero tools — refusing` | [Errores de herramientas](#agent-would-be-spawned-with-zero-tools) | | `File is covered by a Read deny rule in your permission settings` | [Errores de herramientas](#file-is-covered-by-a-read-deny-rule) | | `cannot contain null bytes (\0)` | [Errores de herramientas](#path-cannot-contain-null-bytes) | @@ -287,6 +304,7 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `Command output was lost: the temp filesystem at is full` / `is out of inodes` | [Errores de herramientas](#disk-quota-or-temp-filesystem-is-full) | | `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Errores de herramientas](#the-source-file-is-not-valid-utf-8-text) | | `the source file has the replacement character U+FFFD` | [Errores de herramientas](#the-source-file-is-not-valid-utf-8-text) | +| `Not published: that file is on a network share` | [Errores de herramientas](#not-published-that-file-is-on-a-network-share) | | `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Errores de herramientas](#reading-a-local-file-from-outside-the-connected-folders) | | `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [Errores de herramientas](#reading-a-local-file-from-outside-the-connected-folders) | | `WebFetch cannot fetch localhost or other hostnames without a dot` | [Errores de herramientas](#webfetch-cannot-fetch-localhost) | @@ -315,7 +333,7 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `EACCES: permission denied, posix_spawn` | [Errores de sesión en segundo plano](#eacces-when-starting-a-background-session) | | `exited before it became reachable` | [Errores de sesión en segundo plano](#background-service-exited-before-it-became-reachable) | | `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) | -| `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) | +| `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) | | `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) | | `Claude Code process exited with code N` | [Errores de contenedor e IDE](#claude-code-process-exited-with-code-n) | | `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) | @@ -342,6 +360,7 @@ Haga coincidir el mensaje que ve con una sección a continuación. | `Unable to read managed policy settings` | [Advertencias de configuración](#unable-to-read-managed-policy-settings) | | `otelHeadersHelper failed; telemetry is not being exported. See /status: ...` | [Advertencias de configuración](#otelheadershelper-failed) | | `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [Advertencias de configuración](#crosssessioninbound-must-be-one-of-accept-hold-refuse) | +| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [Advertencias de configuración](#anthropic-foundry-resource-must-be-a-foundry-resource-name) | | `headersHelper not run — this workspace has no persisted trust` | [Advertencias de configuración](#headershelper-not-run) | | `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [Advertencias de configuración](#malformed-tool-content-rule) | | `... is not matched by file permission checks` | [Advertencias de configuración](#is-not-matched-by-file-permission-checks) | @@ -355,70 +374,71 @@ Haga coincidir el mensaje que ve con una sección a continuación. Reintentos automáticos -Claude Code reintenta fallos transitorios hasta 10 veces con retroceso exponencial antes de mostrarle un error. No siempre reintenta un fallo que llega a mitad de la respuesta de Claude. Cuando ve uno de los errores en esta página, Claude Code ya ha realizado los reintentos que corresponden a ese fallo. +Claude Code reintenta fallos transitorios hasta 10 veces con retroceso exponencial antes de mostrarte un error. No siempre reintenta un fallo que llega a mitad de la respuesta de Claude. Cuando ves uno de los errores de esta página, Claude Code ya ha realizado los reintentos que corresponden a ese fallo. Claude Code reintenta estos fallos: -* Errores del servidor, respuestas sobrecargadas y tiempos de espera de solicitud que llegan antes de que cualquier parte de la respuesta de Claude haya sido transmitida. -* Conexiones perdidas. Cuando una conexión se cae a mitad de una solicitud antes de que Claude haya completado cualquier parte de su respuesta, incluido su pensamiento, Claude Code reenvía la solicitud con el mismo retroceso y el turno continúa, incluso si algo de texto ya había comenzado a transmitirse. Cuando se cae después de que Claude ha terminado de pensar pero antes de que haya comenzado cualquier texto o llamada de herramienta, Claude Code en su lugar reenvía la solicitud hasta dos veces en rápida sucesión, y termina el turno con `Connection lost before a response was produced` si la conexión sigue cayendo en ese punto. -* Una conexión que Claude Code detecta fue rota porque su computadora se durmió a mitad de una solicitud. Claude Code la cuenta como una conexión perdida bajo las reglas anteriores; una vez que la etiqueta de reintento nombra la razón específica, lee `Connection lost while your computer was asleep`, y si el turno termina después de que Claude ha terminado de pensar pero antes de cualquier texto o llamada de herramienta, el mensaje lee `Your computer went to sleep before a response was produced`. -* Un flujo de respuesta estancado, cuando los encabezados de respuesta han llegado pero ninguna parte de la respuesta de Claude ha llegado, o cuando Claude ha terminado de pensar pero no ha comenzado ningún texto o llamada de herramienta: Claude Code aborta la conexión estancada y reenvía la solicitud como máximo una vez, fuera del presupuesto de 10 intentos anterior. Si la respuesta se estanca una segunda vez después de que Claude ha terminado de pensar pero antes de cualquier texto o llamada de herramienta, Claude Code termina el turno con `The response stalled before a response was produced`. -* Una solicitud de transmisión a la que la API nunca responde con encabezados de respuesta, en una conexión donde el [plazo del primer byte se ejecuta](/docs/es/network-config#streaming-idle-watchdogs): Claude Code la aborta en el plazo y la reenvía como máximo una vez por solicitud de modelo, dentro del presupuesto de reintentos, luego termina el turno con [No response from API](#no-response-from-api) si ese intento también queda sin respuesta. En otras conexiones, la solicitud espera `API_TIMEOUT_MS`. Cuando establece `CLAUDE_CODE_RETRY_WATCHDOG`, el límite de un reintento no se aplica. -* Limitaciones temporales de 429, pero no el `429` de límite de gasto de una puerta de enlace, que no es una limitación; vea [Spend limit reached](#spend-limit-reached). - * Cuando ha iniciado sesión con una suscripción de claude.ai, esto incluye limitaciones de 429 que no llevan los encabezados de cuota de su plan. Antes de v2.1.199, Claude Code reintentaba esas limitaciones solo para inicios de sesión con clave API y Enterprise. +* Errores del servidor, respuestas de sobrecarga y tiempos de espera de solicitud agotados que llegan antes de que cualquier parte de la respuesta de Claude se haya enviado en streaming. +* Un error del servidor o una respuesta de sobrecarga que llega después de que Claude ha terminado de pensar pero antes de que haya comenzado cualquier texto o llamada a herramienta. Claude Code reintenta un error del servidor en ese punto hasta dos veces. Antes de v2.1.284, Claude Code terminaba el turno con el error en ese punto. +* Conexiones perdidas. Cuando una conexión se cae a mitad de una solicitud antes de que Claude haya completado cualquier parte de su respuesta, incluido su pensamiento, Claude Code reenvía la solicitud con el mismo retroceso y el turno continúa, incluso si algo de texto ya había comenzado a enviarse en streaming. Cuando se cae después de que Claude ha terminado de pensar pero antes de que haya comenzado cualquier texto o llamada a herramienta, Claude Code en su lugar reenvía la solicitud hasta dos veces en rápida sucesión, y termina el turno con `Connection lost before a response was produced` si la conexión sigue cayéndose en ese punto. +* Una conexión que Claude Code detecta que se rompió porque tu computadora entró en suspensión a mitad de una solicitud. Claude Code la cuenta como una conexión perdida según las reglas anteriores; una vez que la etiqueta de reintento nombra la razón específica, dice `Connection lost while your computer was asleep`, y si el turno termina después de que Claude ha terminado de pensar pero antes de cualquier texto o llamada a herramienta, el mensaje dice `Your computer went to sleep before a response was produced`. +* Un stream de respuesta estancado, cuando los encabezados de respuesta han llegado pero ninguna parte de la respuesta de Claude ha llegado, o cuando Claude ha terminado de pensar pero no ha comenzado ningún texto ni llamada a herramienta: Claude Code aborta la conexión estancada y reenvía la solicitud como máximo una vez, fuera del presupuesto de 10 intentos anterior. Si la respuesta se estanca una segunda vez después de que Claude ha terminado de pensar pero antes de cualquier texto o llamada a herramienta, Claude Code termina el turno con `The response stalled before a response was produced`. +* Una solicitud en streaming a la que la API nunca responde con encabezados de respuesta, en una conexión donde [se aplica el plazo del primer byte](/docs/es/network-config#streaming-idle-watchdogs): Claude Code la aborta al cumplirse el plazo y la reenvía como máximo una vez por solicitud al modelo, dentro del presupuesto de reintentos, y luego termina el turno con [No response from API](#no-response-from-api) si ese intento también queda sin respuesta. En otras conexiones, la solicitud espera hasta `API_TIMEOUT_MS`. Cuando estableces `CLAUDE_CODE_RETRY_WATCHDOG`, el límite de un reintento no se aplica. +* Limitaciones temporales 429, pero no el `429` de límite de gasto de un gateway, que no es una limitación; consulta [Spend limit reached](#spend-limit-reached). + * Cuando has iniciado sesión con una suscripción de claude.ai, esto incluye limitaciones 429 que no llevan los encabezados de cuota de tu plan. Antes de v2.1.199, Claude Code reintentaba esas limitaciones solo para inicios de sesión con clave de API y Enterprise. * Una solicitud rechazada porque la entrada más `max_tokens` excede el límite de contexto. Reenviarla sin cambios fallaría de la misma manera, por lo que Claude Code reintenta con un `max_tokens` reducido, y deja de reintentar y compacta en su lugar en dos casos: * Cuando ninguna reducción puede caber, por ejemplo cuando la conversación misma casi llena la ventana de contexto. - * Cuando un reintento no puede reducir `max_tokens` más. Antes de v2.1.218, Claude Code podría reenviar una solicitud reducida que aún no cabía, como cuando el presupuesto de pensamiento extendido excedía el contexto restante, hasta que se agotaba el presupuesto de reintentos. -* Una credencial de Google Cloud expirada o faltante en [Google Cloud's Agent Platform](/docs/es/google-vertex-ai), o credenciales de AWS que no se pueden cargar en su máquina. Claude Code descarta sus credenciales en caché e intenta hasta dos veces, luego reporta el error para que pueda reautenticarse de inmediato, como se describe en [Could not load AWS or Google Cloud credentials](#could-not-load-aws-or-google-cloud-credentials). Antes de v2.1.228, Claude Code reintentaba una credencial de Google Cloud fallida a través del presupuesto de reintentos completo antes de mostrar el error. -* Un `401` o `403` de la API de Anthropic, directamente o a través de una [puerta de enlace LLM](/docs/es/llm-gateway), mientras un script [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) suministra la credencial. Claude Code vuelve a ejecutar el script e intenta de nuevo con su salida fresca, dentro del presupuesto de reintentos completo. Cuando el script mismo falla en la reejecución, Claude Code muestra [Your apiKeyHelper script is failing](#your-apikeyhelper-script-is-failing) en su lugar. + * Cuando un reintento no puede reducir `max_tokens` más. Antes de v2.1.218, Claude Code podía reenviar una solicitud reducida que aún no cabía, como cuando el presupuesto de pensamiento extendido excedía el contexto restante, hasta que se agotaba el presupuesto de reintentos. +* Una credencial de Google Cloud expirada o faltante en [Google Cloud's Agent Platform](/docs/es/google-vertex-ai), o credenciales de AWS que no se pueden cargar en tu máquina. Claude Code descarta sus credenciales en caché y reintenta hasta dos veces, luego reporta el error para que puedas volver a autenticarte de inmediato, como se describe en [Could not load AWS or Google Cloud credentials](#could-not-load-aws-or-google-cloud-credentials). Antes de v2.1.228, Claude Code reintentaba una credencial de Google Cloud fallida durante todo el presupuesto de reintentos antes de mostrar el error. +* Un `401` o `403` de la API de Anthropic, directamente o a través de un [gateway de LLM](/docs/es/llm-gateway), mientras un script [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) suministra la credencial. Claude Code vuelve a ejecutar el script y reintenta con su salida nueva, dentro de todo el presupuesto de reintentos. Cuando el script mismo falla en la nueva ejecución, Claude Code muestra [Your apiKeyHelper script is failing](#your-apikeyhelper-script-is-failing) en su lugar. -Antes de v2.1.227, `Connection lost before a response was produced` leía `Connection closed while thinking, before producing a response` y `The response stalled before a response was produced` leía `Response stalled while thinking, before producing a response`. +Antes de v2.1.227, `Connection lost before a response was produced` decía `Connection closed while thinking, before producing a response` y `The response stalled before a response was produced` decía `Response stalled while thinking, before producing a response`. Claude Code no reintenta estos fallos: -* Un fallo de validación de certificado TLS, como un proxy que inspecciona TLS, un paquete `NODE_EXTRA_CA_CERTS` faltante, o un certificado expirado. Claude Code reporta el error en el primer intento, para que pueda corregir la configuración del certificado de inmediato; vea [SSL certificate errors](#ssl-certificate-errors). Claude Code aún reintenta condiciones TLS transitorias como un tiempo de espera de protocolo de enlace. Antes de v2.1.199, Claude Code reintentaba fallos de certificado a través del presupuesto de reintentos completo antes de mostrar el error. -* Un error del servidor, conexión perdida, o flujo estancado que llega después de que Claude ha completado un bloque de texto o una llamada de herramienta, o ha comenzado uno después de terminar su pensamiento, pero antes de terminar la respuesta. Claude Code no vuelve a ejecutar la solicitud, porque eso podría ejecutar las mismas llamadas de herramienta dos veces. Mantiene lo que Claude completó, ejecuta cualquier llamada de herramienta que Claude terminó, y continúa el turno desde sus resultados. Para lo que ve en una sesión interactiva y en una no interactiva, lea [The response above may be incomplete](#the-response-above-may-be-incomplete). Antes de v2.1.199, Claude Code descartaba la salida parcial y reportaba todo el turno como un error cuando un error del servidor llegaba a mitad de la transmisión. -* Un fallo que llega después de que Claude ha terminado la respuesta: nada necesita reintentarse, por lo que Claude Code mantiene la respuesta completa y termina el turno normalmente. -* Una [respuesta de transmisión de Amazon Bedrock con un tipo de contenido inesperado](#bedrock-streaming-response-has-an-unexpected-content-type), porque la puerta de enlace o proxy que reescribe la respuesta reescribiría el reintento de la misma manera. Requiere Claude Code v2.1.208 o posterior. -* Un reintento sin transmisión de una solicitud de transmisión fallida que obtiene un estado de éxito pero [sin mensaje de API de Claude en el cuerpo](#api-returned-an-empty-or-malformed-response). Claude Code termina el turno con ese error. -* Una solicitud que la verificación de política de su organización rechazó, que aparece como una línea `API Error:` que lleva el mensaje de denegación. Los administradores de su organización configuran la verificación con [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks), una característica de Claude Enterprise, y el mensaje termina con las instrucciones que configuraron, o por defecto le dice que se comunique con ellos. Claude Code no reenvía la solicitud denegada al mismo modelo o a un [modelo de respaldo](/docs/es/model-config#fallback-model-chains), porque la denegación se trata del contenido de la solicitud en lugar del modelo. Antes de v2.1.239, Claude Code podría reenviar una solicitud denegada, sin transmisión o en un modelo de respaldo configurado, antes de mostrarle la denegación. +* Un fallo de validación de certificado TLS, como un proxy que inspecciona TLS, un paquete `NODE_EXTRA_CA_CERTS` faltante o un certificado expirado. Claude Code reporta el error en el primer intento, para que puedas corregir la configuración del certificado de inmediato; consulta [SSL certificate errors](#ssl-certificate-errors). Claude Code sigue reintentando condiciones TLS transitorias, como un tiempo de espera agotado en el handshake. Antes de v2.1.199, Claude Code reintentaba los fallos de certificado durante todo el presupuesto de reintentos antes de mostrar el error. +* Un error del servidor, una conexión perdida o un stream estancado que llega después de que Claude ha completado un bloque de texto o una llamada a herramienta, o ha comenzado uno después de terminar su pensamiento, pero antes de que termine la respuesta. Claude Code no vuelve a ejecutar la solicitud, porque eso podría ejecutar las mismas llamadas a herramientas dos veces. Conserva lo que Claude completó, ejecuta las llamadas a herramientas que Claude terminó y continúa el turno a partir de sus resultados. Para saber lo que ves en una sesión interactiva y en una no interactiva, lee [The response above may be incomplete](#the-response-above-may-be-incomplete). Antes de v2.1.199, Claude Code descartaba la salida parcial y reportaba todo el turno como un error cuando un error del servidor llegaba a mitad del streaming. +* Un fallo que llega después de que Claude ha terminado la respuesta: no hay nada que reintentar, por lo que Claude Code conserva la respuesta completa y termina el turno normalmente. +* Una [respuesta en streaming de Amazon Bedrock con un content-type inesperado](#bedrock-streaming-response-has-an-unexpected-content-type), porque el gateway o proxy que reescribe la respuesta reescribiría el reintento de la misma manera. Requiere Claude Code v2.1.208 o posterior. +* Un reintento sin streaming de una solicitud en streaming fallida que obtiene un estado de éxito pero [ningún mensaje de la API de Claude en el cuerpo](#api-returned-an-empty-or-malformed-response). Claude Code termina el turno con ese error. +* Una solicitud que la verificación de políticas de tu organización rechazó, que aparece como una línea `API Error:` con el mensaje de denegación. Los administradores de tu organización configuran la verificación con [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks), una función de Claude Enterprise, y el mensaje termina con las instrucciones que configuraron o, de forma predeterminada, te indica que te comuniques con ellos. Claude Code no reenvía la solicitud denegada al mismo modelo ni a un [modelo de respaldo](/docs/es/model-config#fallback-model-chains), porque la denegación se refiere al contenido de la solicitud y no al modelo. Antes de v2.1.239, Claude Code podía reenviar una solicitud denegada, sin streaming o en un modelo de respaldo configurado, antes de mostrarte la denegación.

- Lo que ve mientras Claude Code reintenta o espera + Lo que ves mientras Claude Code reintenta o espera

-Mientras reintenta, el spinner muestra una cuenta regresiva `Retrying in Ns · attempt x/y` después de una etiqueta de error. La etiqueta nombra la razón específica del primer intento para fallos en los que puede actuar de inmediato: la red está caída, un protocolo de enlace TLS falló, o alcanzó un límite de velocidad. Para otros errores, inicialmente lee `API error`. A partir de v2.1.198, cambia a la razón específica del tercer intento, o en el intento final cuando `CLAUDE_CODE_MAX_RETRIES` permite menos de tres; las versiones anteriores cambian solo en el intento final. +Mientras reintenta, el spinner muestra una cuenta regresiva `Retrying in Ns · attempt x/y` después de una etiqueta de error. La etiqueta nombra la razón específica desde el primer intento para fallos sobre los que puedes actuar de inmediato: la red está caída, falló un handshake TLS o alcanzaste un rate limit. Para otros errores, al principio dice `API error`. A partir de v2.1.198, cambia a la razón específica desde el tercer intento, o en el intento final cuando `CLAUDE_CODE_MAX_RETRIES` permite menos de tres; las versiones anteriores cambian solo en el intento final. -A partir de v2.1.198, la sugerencia de spinner habitual se suprime durante los reintentos. Una vez que se revela la razón del error, si el fallo es una sobrecarga 529, la línea debajo de la cuenta regresiva también nombra dónde verificar el estado del servicio: `status.claude.com` en la API de Anthropic, o el host del proveedor o puerta de enlace nombrado en el mensaje en otras configuraciones. +A partir de v2.1.198, la sugerencia habitual del spinner se suprime durante los reintentos. Una vez que se revela la razón del error, si el fallo es una sobrecarga 529, la línea debajo de la cuenta regresiva también indica dónde verificar el estado del servicio: `status.claude.com` en la API de Anthropic, o el host del proveedor o gateway nombrado en el mensaje en otras configuraciones. -Si no llegan datos en el flujo de respuesta durante 20 segundos mientras una solicitud aún está pendiente, el spinner muestra `Waiting for API response · will retry in … · check your network` antes de que haya comenzado ningún reintento. La solicitud aún no ha fallado: la cuenta regresiva se ejecuta hasta el punto donde Claude Code aborta la conexión estancada. Después del aborto, lo que ve depende de qué tan lejos había llegado la respuesta: +Si no llegan datos en el stream de respuesta durante 20 segundos mientras una solicitud sigue pendiente, el spinner muestra `Waiting for API response · will retry in … · check your network` antes de que haya comenzado ningún reintento. La solicitud aún no ha fallado: la cuenta regresiva corre hasta el punto en que Claude Code aborta la conexión estancada. Después de abortarla, lo que ves depende de cuánto había avanzado la respuesta: -* Antes de que Claude haya completado un bloque de texto o una llamada de herramienta, o haya comenzado uno después de terminar su pensamiento, Claude Code reintenta la solicitud o termina el turno con un error. [Automatic retries](#automatic-retries) dice qué estancamientos reintenta y cuántas veces. -* Después de que Claude ha completado un bloque de texto o una llamada de herramienta, o ha comenzado uno después de terminar su pensamiento, pero antes de que Claude haya terminado la respuesta, Claude Code mantiene lo que Claude completó, continúa el turno desde cualquier llamada de herramienta que Claude terminó, y muestra [The response above may be incomplete](#the-response-above-may-be-incomplete). En una sesión no interactiva, y para la respuesta de un subagente en cualquier sesión, Claude Code puede primero solicitar a Claude que continúe la respuesta; esa entrada dice cuándo lo hace y cuándo aún ve el aviso allí. +* Antes de que Claude haya completado un bloque de texto o una llamada a herramienta, o haya comenzado uno después de terminar su pensamiento, Claude Code reintenta la solicitud o termina el turno con un error. [Reintentos automáticos](#automatic-retries) indica qué estancamientos reintenta y cuántas veces. +* Después de que Claude ha completado un bloque de texto o una llamada a herramienta, o ha comenzado uno después de terminar su pensamiento, pero antes de que Claude haya terminado la respuesta, Claude Code conserva lo que Claude completó, continúa el turno a partir de las llamadas a herramientas que Claude terminó y muestra [The response above may be incomplete](#the-response-above-may-be-incomplete). En una sesión no interactiva, y para la respuesta de un subagente en cualquier sesión, Claude Code puede primero pedirle a Claude que continúe la respuesta; esa entrada indica cuándo lo hace y cuándo sigues viendo el aviso allí. * Después de que Claude terminó la respuesta, Claude Code termina el turno normalmente. -El banner se borra por sí solo una vez que los datos se reanudan o un reintento tiene éxito. Si reaparece en cada intento, trátelo como un [problema de red](#unable-to-connect-to-api). Antes de v2.1.185, el banner aparecía después de 10 segundos con una redacción diferente. +El banner desaparece por sí solo una vez que los datos se reanudan o un reintento tiene éxito. Si reaparece en cada intento, trátalo como un [problema de red](#unable-to-connect-to-api). Antes de v2.1.185, el banner aparecía después de 10 segundos con una redacción diferente. -Mientras Claude consulta el [asesor](/docs/es/advisor), el banner aparece después de 90 segundos sin datos en lugar de 20, porque una revisión de asesor larga puede no enviar nada durante más de 20 segundos. Antes de v2.1.214, el umbral de 20 segundos se aplicaba durante las llamadas de asesor también, por lo que el banner aparecía durante las revisiones de asesor incluso cuando nada estaba mal. +Mientras Claude consulta al [asesor](/docs/es/advisor), el banner aparece después de 90 segundos sin datos en lugar de 20, porque una revisión larga del asesor puede no enviar nada durante bastante más de 20 segundos. Antes de v2.1.214, el umbral de 20 segundos también se aplicaba durante las llamadas al asesor, por lo que el banner aparecía durante las revisiones del asesor incluso cuando no pasaba nada malo.

Ajustar el comportamiento de reintentos

-Puede ajustar el comportamiento de reintentos con estas variables de entorno: +Puedes ajustar el comportamiento de reintentos con estas variables de entorno: | Variable | Predeterminado | Efecto | | :- | :- | :- | -| [`CLAUDE_CODE_MAX_RETRIES`](/docs/es/env-vars) | 10 | Número de intentos de reintento. Limitado a 15 a partir de v2.1.186; a partir de v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` aumenta el predeterminado y elimina el límite. Redúzcalo para que los fallos aparezcan más rápido en scripts. | -| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/es/env-vars) | sin establecer | Establézcalo en `1` en sesiones desatendidas como trabajos de CI para reintentar errores de capacidad `429` y `529` indefinidamente en lugar de fallar después de `CLAUDE_CODE_MAX_RETRIES` intentos. Claude Code falla de inmediato en un `429` que reporta un límite de gasto o créditos de uso agotados, incluso uno de un [límite de gasto de puerta de enlace](#spend-limit-reached) que se reinicia en un horario. Antes de v2.1.239, el vigilante reintentaba estos indefinidamente. Para solicitudes de modo rápido, vea [Handle rate limits](/docs/es/fast-mode#handle-rate-limits). En v2.1.199 o posterior, también aumenta el recuento de reintentos predeterminado para otros errores transitorios, como errores del servidor, tiempos de espera y conexiones perdidas, a 300, aproximadamente tres horas de retroceso, y elimina el límite de 15 en `CLAUDE_CODE_MAX_RETRIES` si establece esa variable explícitamente. | -| [`API_TIMEOUT_MS`](/docs/es/env-vars) | 600000 | Tiempo de espera por solicitud en milisegundos. Aumente para redes lentas o proxies. También limita cuánto tiempo Claude Code espera los encabezados de respuesta, descrito en [No response from API](#no-response-from-api). | -| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/es/env-vars) | sin establecer | Plazo en milisegundos para el primer byte de respuesta de una solicitud de transmisión. Requiere Claude Code v2.1.242 o posterior. Para cómo Claude Code elige el plazo cuando esto no está establecido, vea [No response from API](#no-response-from-api). | +| [`CLAUDE_CODE_MAX_RETRIES`](/docs/es/env-vars) | 10 | Número de reintentos. Limitado a 15 a partir de v2.1.186; a partir de v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` aumenta el valor predeterminado y elimina el límite. Redúcelo para que los fallos aparezcan más rápido en scripts. | +| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/es/env-vars) | sin establecer | Establécelo en `1` en sesiones desatendidas, como trabajos de CI, para reintentar errores de capacidad `429` y `529` indefinidamente en lugar de fallar después de `CLAUDE_CODE_MAX_RETRIES` intentos. Claude Code falla de inmediato cuando una solicitud de velocidad estándar recibe un `429` que reporta un límite de gasto o créditos de uso agotados, incluso uno de un [límite de gasto de un gateway](#spend-limit-reached) que se restablece según un calendario. Antes de v2.1.239, el watchdog los reintentaba indefinidamente. Para solicitudes en modo rápido, consulta [Handle rate limits](/docs/es/fast-mode#handle-rate-limits). En v2.1.199 o posterior, también aumenta el número predeterminado de reintentos para otros errores transitorios, como errores del servidor, tiempos de espera agotados y conexiones perdidas, a 300, aproximadamente tres horas de retroceso, y elimina el límite de 15 en `CLAUDE_CODE_MAX_RETRIES` si estableces esa variable explícitamente. | +| [`API_TIMEOUT_MS`](/docs/es/env-vars) | 600000 | Tiempo de espera por solicitud en milisegundos. Auméntalo para redes lentas o proxies. También limita cuánto tiempo espera Claude Code los encabezados de respuesta, como se describe en [No response from API](#no-response-from-api). | +| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/es/env-vars) | sin establecer | Plazo en milisegundos para el primer byte de respuesta de una solicitud en streaming. Requiere Claude Code v2.1.242 o posterior. Para saber cómo elige Claude Code el plazo cuando esta variable no está establecida, consulta [No response from API](#no-response-from-api). |

Errores del servidor

-La 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. +La 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.

API Error: 500 Internal server error @@ -430,39 +450,39 @@ Claude Code muestra el código de estado y el mensaje de error de la API para cu API 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. ``` -La 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. +La 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. -Un 5xx de la API en sí indica un fallo inesperado dentro de la API. No es causado por su prompt, configuración o cuenta. +Un 5xx de la propia API indica un fallo inesperado dentro de la API. No lo causa tu prompt, tu configuración ni tu cuenta. -Cuando 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. +Cuando 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. **Qué hacer:** -* Verifique [status.claude.com](https://status.claude.com), o la página de estado del proveedor nombrada en el mensaje, para incidentes activos -* 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. -* 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. +* 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 +* 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. +* 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.

API Error: Repeated 529 Overloaded errors

-La API está temporalmente a capacidad en todos los usuarios. Claude Code ya ha reintentado varias veces antes de mostrar este mensaje: +La API está temporalmente al límite de su capacidad para todos los usuarios. Claude Code ya reintentó varias veces antes de mostrar este mensaje: ```text theme={null} API 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. ``` -La oración final varía según el proveedor de la misma manera que el error 500 anterior. +La oración final varía según el proveedor de la misma manera que en el error 500 anterior. -Un 529 no es su límite de uso y no cuenta contra su cuota. +Un 529 no es tu límite de uso y no cuenta contra tu cuota. **Qué hacer:** -* Verifique [status.claude.com](https://status.claude.com), o la página de estado del proveedor nombrada en el mensaje, para avisos de capacidad -* Intente de nuevo en unos minutos -* 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. +* 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 +* Vuelve a intentarlo en unos minutos +* 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. - 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. + 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.

Request timed out @@ -474,45 +494,45 @@ La API no respondió antes del plazo de conexión. Request timed out ``` -Esto 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. +Esto 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. **Qué hacer:** -* Reintente la solicitud -* Si la causa es una red lenta o un proxy, aumente `API_TIMEOUT_MS` como se describe en [Automatic retries](#automatic-retries) -* 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ón +* Reintenta la solicitud +* Si la causa es una red lenta o un proxy, aumenta `API_TIMEOUT_MS` como se describe en [Reintentos automáticos](#automatic-retries) +* 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

No response from API

-Claude 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). +Claude 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). ```text theme={null} API 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. ``` -Claude Code establece el tiempo de espera para los encabezados de respuesta del primer intento y el reintento por separado: +Claude Code establece por separado la espera de los encabezados de respuesta del primer intento y la del reintento: -* **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. -* **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. +* **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. +* **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. -Ningú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. +Ninguna 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. **Qué hacer:** -* 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. -* Si se repite, trátelo como un [network or proxy problem](#unable-to-connect-to-api). -* 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. -* 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. +* 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. +* Si se repite, trátalo como un [problema de red o de proxy](#unable-to-connect-to-api). +* 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`. +* 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. -Antes 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. +Antes 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.

The response above may be incomplete

-Una 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: +Una 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: ```text theme={null} API Error: Server error mid-response. The response above may be incomplete. @@ -523,42 +543,42 @@ API Error: Part of the response never arrived. The response above may be incompl API Error: The response stream was malformed. The response above may be incomplete. ``` -* `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. -* `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. -* `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. -* `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`. -* `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. -* `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). +* `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. +* `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. +* `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. +* `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`. +* `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. +* `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). Antes 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`. -Cuando 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: +Cuando 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: -* 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.` -* 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. +* 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.` +* 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. En cuatro casos, Claude Code maneja el fallo sin mostrar este aviso de inmediato: -* Anteriormente en la respuesta, Claude Code reintenta el fallo o termina el turno con un error diferente. Consulte [Automatic retries](#automatic-retries). -* 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. -* 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. -* 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. +* 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). +* 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. +* 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. +* 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. **Qué hacer:** -* 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. -* En [non-interactive mode](/docs/es/headless) (`-p`): - * 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. +* 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. +* En [modo no interactivo](/docs/es/headless) (`-p`): + * 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. * Con `--output-format json` o `stream-json`, Claude Code informa este mensaje en el campo `result`. - * 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). + * 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).

Auto mode cannot determine the safety of an action

-El 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. +El 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. -Las lecturas, búsquedas y ediciones dentro de su directorio de trabajo omiten el clasificador, por lo que continúan funcionando en todos estos casos. +Las lecturas, búsquedas y ediciones dentro de tu directorio de trabajo omiten el clasificador, así que siguen funcionando en todos estos casos. Cuando el modelo clasificador no está disponible: @@ -566,19 +586,19 @@ Cuando el modelo clasificador no está disponible: is temporarily unavailable, so auto mode cannot determine the safety of right now. Wait a moment and then try this action again. ``` -Cuando Claude Code puede determinar la categoría de fallo, nombra la categoría entre paréntesis después de `temporarily unavailable`, por ejemplo ` is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of 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`. +Cuando Claude Code puede determinar la categoría del fallo, la nombra entre paréntesis después de `temporarily unavailable`, por ejemplo ` is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of 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`. -Cuando 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. +Cuando 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. **Qué hacer:** -* 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ón -* Si los reintentos siguen fallando, continúe con tareas de solo lectura y vuelva a la acción bloqueada más tarde -* 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) +* 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 +* Si los reintentos siguen fallando, continúa con tareas de solo lectura y vuelve más tarde a la acción bloqueada +* 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) -Cuando 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. +Cuando 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. -Cuando el clasificador devolvió una respuesta no analizable: +Cuando el clasificador devolvió una respuesta que no se pudo analizar: ```text theme={null} Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details @@ -586,84 +606,84 @@ Auto mode could not evaluate this action and is blocking it for safety — run w **Qué hacer:** -* Reintente la acción; esto generalmente tiene éxito en el siguiente intento -* Ejecute `claude --debug` y repita la acción para ver la respuesta del clasificador subyacente en el registro de depuración +* Reintenta la acción; normalmente funciona en el siguiente intento +* Ejecuta `claude --debug` y repite la acción para ver los detalles en el registro de depuración -Cuando una verificación de seguridad de API separada bloqueó la solicitud del clasificador debido al contenido de la conversación anterior: +Cuando una verificación de seguridad de la API independiente bloqueó la solicitud al clasificador debido a contenido anterior de la conversación: ```text theme={null} Auto 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 ``` -Claude 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: +Claude 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: -* 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` -* 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 Claude +* 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` +* 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 -Antes 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. +Antes 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. **Qué hacer:** -* 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 clasificador -* Reintentar no ayudará; el mismo contenido de conversación activará el filtro nuevamente -* 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 solicite -* Inicie una conversación nueva sin el contenido que activa +* 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 +* Reintentar no servirá; el mismo contenido de la conversación volverá a activar el filtro +* 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 +* Inicia una conversación nueva sin el contenido que activa el filtro -Cuando la conversación ha crecido más que la ventana de contexto del clasificador: +Cuando la conversación superó el tamaño de la ventana de contexto del clasificador: ```text theme={null} Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size) ``` -Lo que sucede con la acción depende de dónde Claude la solicitó: +Lo que sucede con la acción depende de dónde la solicitó Claude: -* En una sesión interactiva, auto mode vuelve a un prompt de permiso normal para esa acción para que pueda aprobarla o negarla manualmente -* 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úa -* 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úa +* 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 +* 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 +* 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 **Qué hacer:** -* En una sesión interactiva, apruebe o niegue la acción en el prompt que aparece -* 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 clasificador +* En una sesión interactiva, aprueba o deniega la acción en la solicitud que aparece +* 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

The server returned no safety verdict

-Bajo [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)`: +Con 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)`: ```text theme={null} The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of . ``` -El 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. +El 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. -Después de diez respuestas seguidas sin veredicto, auto mode detiene el turno: +Después de diez respuestas seguidas sin veredicto, el modo automático detiene el turno: ```text theme={null} Auto 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. ``` -El mensaje de parada aparece en un lugar diferente en cada tipo de sesión: +El mensaje de detención aparece en un lugar distinto en cada tipo de sesión: -* En una sesión interactiva, el mensaje aparece como una advertencia en la transcripción y el turno termina -* 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. -* 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 detuvo +* En una sesión interactiva, el mensaje aparece como advertencia en la transcripción y el turno termina +* 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. +* 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 **Qué hacer:** -* Envíe otro mensaje para que Claude intente de nuevo. El recuento de respuestas comienza de nuevo. -* 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. -* 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. -* Para aprobar las acciones usted mismo en su lugar, [switch out of auto mode](/docs/es/permission-modes#switch-permission-modes) +* Envía otro mensaje para que Claude lo intente de nuevo. El recuento de respuestas se reinicia. +* 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. +* 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. +* Para aprobar tú mismo las acciones, [sal del modo automático](/docs/es/permission-modes#switch-permission-modes) -Antes de v2.1.280, Claude Code negaba cada acción de una respuesta sin veredicto de inmediato y nunca detenía el turno. +Antes de v2.1.280, Claude Code denegaba de inmediato cada acción de una respuesta sin veredicto y nunca detenía el turno.

Agent terminated early due to an API error

-La 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. +La 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. ```text theme={null} Agent terminated early due to an API error: @@ -671,10 +691,10 @@ Agent terminated early due to an API error: **Qué hacer:** -* 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ón -* 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) +* 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 +* Cuando se resuelva el error subyacente, pídele a Claude que reintente la tarea o [reanuda el subagente](/docs/es/sub-agents#resume-subagents) -Cuando 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). +Cuando 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).

Límites de uso @@ -697,7 +717,7 @@ You've hit your Sonnet limit · resets 3:45pm Claude Code bloquea las solicitudes adicionales hasta la hora de reinicio que se muestra en el mensaje. Los límites de sesión y semanales se comparten entre todos los modelos, por lo que cambiar de modelo no restaura el acceso. Los límites de Opus y Sonnet se aplican solo a las solicitudes a esa familia de modelos, por lo que cambiar a un modelo fuera de la familia con `/model` le permite seguir trabajando. -En una sesión interactiva con una suscripción de claude.ai, Claude Code también puede esperar en la sesión abierta y continuar la tarea interrumpida poco después del reinicio. Mientras espera, una línea en la parte inferior de la sesión dice `Usage limit reached · continuing automatically at 3:45pm · esc to cancel`. Presione `Esc` en un aviso vacío para cancelar la espera. Consulte [Wait for a usage limit to reset](/docs/es/interactive-mode#wait-for-a-usage-limit-to-reset) para ver qué ve, cómo iniciar o cancelar una espera y cómo desactivar la continuación automática. Antes de v2.1.234, Claude Code no ofrecía esta espera. +En una sesión interactiva iniciada con una suscripción de claude.ai, Claude Code también puede esperar en la sesión abierta y continuar la tarea interrumpida poco después del reinicio. Consulta [Wait for a usage limit to reset](/docs/es/interactive-mode#wait-for-a-usage-limit-to-reset) para ver qué se muestra, cómo iniciar o cancelar una espera y cómo desactivar la continuación automática. Antes de v2.1.234, Claude Code no ofrecía esta espera. El uso se cuenta contra las asignaciones de sesión y semanales al mismo tiempo. Una única ráfaga de actividad pesada, como un gran fanout de flujo de trabajo, puede agotar la asignación semanal antes de que se reinicie la ventana de sesión. @@ -885,103 +905,107 @@ Cuando el servidor explica el rechazo, el mensaje termina con esa razón, y rein Errores de autenticación

-Estos 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. +Estos errores significan que Claude Code no puede demostrar ante la API quién eres. Ejecuta `/status` en cualquier momento para ver qué credencial está activa actualmente.

- No iniciaste sesión + No has iniciado sesión

-No hay una credencial válida disponible para esta sesión. +No hay ninguna credencial válida disponible para esta sesión. ```text theme={null} Not logged in · Please run /login ``` -En 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. +En 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. + +Si 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. + +Antes de la 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. **Qué hacer:** -* Ejecuta `/login` para autenticarte con tu suscripción de Claude o cuenta de Console -* Si esperabas que una variable de entorno te autenticara, confirma que `ANTHROPIC_API_KEY` esté configurada y exportada en el shell donde lanzaste `claude` -* 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 +* Ejecuta `/login` para autenticarte con tu suscripción de Claude o tu cuenta de Console +* Si esperabas que una variable de entorno te autenticara, confirma que `ANTHROPIC_API_KEY` está definida y exportada en el shell desde el que iniciaste `claude` +* 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 inicio * Consulta [Precedencia de autenticación](/docs/es/authentication#authentication-precedence) para entender qué credencial usa Claude Code cuando hay varias presentes -Si 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. +Si 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 en macOS.

No se pudo resolver el método de autenticación

-La 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. +La 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. ```text theme={null} Could 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 ``` -En 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. +En las versiones actuales, el error significa que no había ninguna credencial disponible para el proceso worker. Antes de la 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 la v2.1.176, también podía fallar una sesión en la nube que permanecía inactiva antes de ser reclamada. Actualiza para recuperarte. **Qué hacer:** -* 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 -* 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 interactivo -* Para Agent SDK, consulta [configuración de autenticación en el inicio rápido](/docs/es/agent-sdk/quickstart#setup) -* Ejecuta `/status` en una sesión interactiva en el mismo entorno para confirmar qué fuente de credencial se resuelve +* Actualiza a la 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 +* 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 +* Para el Agent SDK, consulta [la configuración de autenticación en el inicio rápido](/docs/es/agent-sdk/quickstart#setup) +* Ejecuta `/status` en una sesión interactiva en el mismo entorno para confirmar qué fuente de credenciales se resuelve

- Clave API inválida + Clave de API no válida

-La 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. +La 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. ```text theme={null} Invalid API key · Fix external API key ``` -Cuando 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. +Cuando 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. **Qué hacer:** -* Verifica si hay errores tipográficos y confirma que la clave no haya sido revocada en la [Consola](https://platform.claude.com/settings/keys) -* 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. -* Desactiva `ANTHROPIC_API_KEY` y ejecuta `/login` para usar autenticación de suscripción en su lugar +* Busca errores tipográficos y confirma que la clave no ha sido revocada en la [Console](https://platform.claude.com/settings/keys) +* En el mismo shell, ejecuta `env | grep ANTHROPIC`, o en PowerShell `Get-ChildItem Env:ANTHROPIC*`. Herramientas como direnv, los plugins de shell para 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. +* Elimina `ANTHROPIC_API_KEY` y ejecuta `/login` para usar en su lugar la autenticación por suscripción * 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 -* Ejecuta `/status` para confirmar qué fuente de credencial está usando realmente Claude Code +* Ejecuta `/status` para confirmar qué fuente de credenciales está usando realmente Claude Code

Tu script apiKeyHelper está fallando

-Claude 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ó: +Claude Code ejecutó el comando de tu ajuste [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) y no obtuvo 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ó: -* El comando salió con un error o se agotó el tiempo de espera +* El comando terminó con un error o se agotó su tiempo de espera * El comando no imprimió nada en stdout -* 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. +* 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 la v2.1.227, Claude Code enviaba lo que el comando imprimiera, tras recortar los espacios en blanco circundantes. ```text theme={null} Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output ``` -En [modo no interactivo](/docs/es/headless), stderr también lleva la razón específica, con el prefijo `apiKeyHelper failed:`. +En el [modo no interactivo](/docs/es/headless), stderr también incluye el motivo específico, con el prefijo `apiKeyHelper failed:`. -Claude 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. +Claude 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 la v2.1.208, Claude Code agotaba 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. -Ejecutar `/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. +Ejecutar `/login` no ayuda en este caso: la salida del helper [tiene precedencia](/docs/es/authentication#authentication-precedence) sobre un inicio de sesión guardado mientras el ajuste esté presente. **Qué hacer:** -* Ejecuta el comando configurado en `apiKeyHelper` directamente en tu shell para reproducir el fallo -* 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 nuevamente -* 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. -* 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. -* 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`. +* Ejecuta directamente en tu shell el comando configurado en `apiKeyHelper` para reproducir el fallo +* 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 +* 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 de salida 0. Consulta [rotar credenciales con apiKeyHelper](/docs/es/llm-gateway-connect#rotate-credentials-with-apikeyhelper) para ver una configuración funcional. +* 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 la v2.1.274, `/status` mostraba solo la fuente de credenciales, no el fallo. +* Cada vez que el comando falla, su código de salida y su salida de error también aparecen en un panel `Authentication` en la terminal. Antes de la v2.1.212, el panel se titulaba `Cloud authentication`.

- Valor de encabezado de solicitud inválido + Valor de encabezado de solicitud no válido

-Un 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. +Un 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 traía un carácter invisible o un salto de línea sobrante. -Claude 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. +Claude Code realiza esta comprobación cuando envía solicitudes a la API de Claude 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. ```text theme={null} Invalid auth token · Fix external auth token @@ -989,13 +1013,13 @@ Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable Invalid request header from the environment · Fix the environment variable ``` -La primera parte del mensaje depende de dónde vino el valor incorrecto: +La primera parte del mensaje depende de dónde provino el valor incorrecto: -* `Invalid auth token`: un token de portador de [`ANTHROPIC_AUTH_TOKEN`](/docs/es/env-vars) o [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars) -* `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. -* `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. +* `Invalid auth token`: un token bearer de [`ANTHROPIC_AUTH_TOKEN`](/docs/es/env-vars) o [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/es/env-vars) +* `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` es el problemático, como `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, sin repetir el nombre ni el valor, ya que tú elegiste ambos. +* `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. -Claude 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). +Claude Code informa un `ANTHROPIC_API_KEY` incorrecto detectado 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). Después del segundo `·`, el mensaje describe el problema, como en este ejemplo completo: @@ -1003,19 +1027,19 @@ Después del segundo `·`, el mensaje describe el problema, como en este ejemplo Invalid 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). ``` -Las 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`. +Las posiciones cuentan caracteres empezando por uno. La descripción se construye a partir de frases fijas y recuentos de caracteres, así 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`. **Qué hacer:** -* 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 nuevamente -* Para `ANTHROPIC_CUSTOM_HEADERS`, mantén un par `Name: Value` por línea y reescribe el par que el mensaje cuenta -* Ejecuta `/status` para confirmar qué fuente de credencial está activa +* Vuelve a definir la variable o el ajuste que indica el mensaje, escribiendo de nuevo a mano los caracteres alrededor de la posición informada en lugar de pegarlos otra vez desde la misma fuente +* Para `ANTHROPIC_CUSTOM_HEADERS`, mantén un par `Name: Value` por línea y reescribe el par que indica el mensaje +* Ejecuta `/status` para confirmar qué fuente de credenciales está activa

Esta organización ha sido deshabilitada

-Claude 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. +Claude Code está usando un `ANTHROPIC_API_KEY` obsoleto de una organización de Console deshabilitada. Cuando tienes un inicio de sesión de suscripción guardado, la clave tiene prioridad sobre él. ```text theme={null} Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead @@ -1023,22 +1047,22 @@ Your ANTHROPIC_API_KEY belongs to a disabled organization · Update or unset the API Error: 400 ... This organization has been disabled. ``` -La 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. +La 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. -Las 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. +Las variables de entorno tienen precedencia sobre `/login`, así 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 el modo no interactivo (`-p`), la clave siempre se usa cuando está presente. **Qué hacer:** -* Desactiva `ANTHROPIC_API_KEY` en el shell actual y elimínalo de tu perfil de shell, luego relanza `claude` -* 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. +* Elimina `ANTHROPIC_API_KEY` en el shell actual y quítala de tu perfil de shell; luego vuelve a iniciar `claude` +* Si el mensaje dice `Update or unset`, no tienes ningún 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. * Ejecuta `/status` después para confirmar que la credencial activa es tu suscripción -* Si no hay variable de entorno configurada y el error persiste, contacta con soporte o inicia sesión con una cuenta diferente. +* Si no hay ninguna variable de entorno definida y el error persiste, contacta con soporte o inicia sesión con otra cuenta.

- Tu organización ha deshabilitado la autenticación por clave API + Tu organización ha deshabilitado la autenticación con clave de API

-Este 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: +Este mensaje requiere Claude Code v2.1.169 o posterior. El administrador de tu organización de Console ha desactivado la autenticación con clave de API, así que la API rechaza la clave que envía Claude Code. La sugerencia de recuperación después del `·` varía según el origen de la clave: ```text theme={null} Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account @@ -1048,87 +1072,87 @@ Your organization has disabled API key authentication · Unset the apiKeyHelper Your organization has disabled API key authentication · Sign in again with your claude.ai account ``` -La ú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. +La ú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. -Las 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). +Las 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). **Qué hacer:** -* 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` -* Si el mensaje nombra `apiKeyHelper`, elimina la configuración [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) de tu `settings.json` +* Si el mensaje menciona `ANTHROPIC_API_KEY`, elimínala en el shell actual y quítala de tu perfil de shell o de tu archivo `.env`; luego vuelve a iniciar `claude` +* Si el mensaje menciona `apiKeyHelper`, quita el ajuste [`apiKeyHelper`](/docs/es/settings-reference#apikeyhelper) de tu `settings.json` * Ejecuta `/login` para iniciar sesión con tu cuenta de claude.ai -* Ejecuta `/status` después para confirmar que la credencial activa es tu suscripción en lugar de una clave API -* Si necesitas autenticación por clave API para automatización, pide al administrador de tu organización que la vuelva a habilitar en la Consola +* Ejecuta `/status` después para confirmar que la credencial activa es tu suscripción y no una clave de API +* Si necesitas la autenticación con clave de API para automatización, pide al administrador de tu organización que la vuelva a habilitar en la Console

- Tu organización ha deshabilitado el acceso a la suscripción de Claude + Tu organización ha deshabilitado el acceso con suscripción de Claude

-Tu 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. +Tu 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. ```text theme={null} Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access ``` -Esta 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. +Se trata de un ajuste de la 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. -Agent SDK y el modo no interactivo `-p` muestran esto como el código de error `oauth_org_not_allowed`. +El Agent SDK y el modo no interactivo `-p` muestran esto como el código de error `oauth_org_not_allowed`. **Qué hacer:** * Pide a tu administrador que habilite el acceso a Claude Code para tu organización -* 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. -* Si eres el administrador y no ves una opción para habilitar el acceso, contacta con [soporte de Anthropic](https://support.claude.com) +* 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. +* Si eres el administrador y no ves ninguna opción para habilitar el acceso, contacta con el [soporte de Anthropic](https://support.claude.com)

Las rutinas están deshabilitadas por la política de tu organización

-Un 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. +Un Owner de tu organización Team o Enterprise 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 [Rutinas](/docs/es/routines) en claude.ai/code. En Claude Code v2.1.227 o posterior, el mismo ajuste también [oculta `/schedule`](/docs/es/routines#troubleshooting) en la CLI. ```text theme={null} Routines are disabled by your organization's policy. ``` -Esta es una configuración del lado del servidor, por lo que no se puede anular desde configuraciones locales, variables de entorno o banderas CLI. +Se trata de un ajuste 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. **Qué hacer:** -* 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) -* Para trabajo programado único que no requiere rutinas a nivel de organización, consulta [tareas programadas](/docs/es/scheduled-tasks) +* 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) +* Para trabajo programado puntual que no requiere rutinas a nivel de organización, consulta [tareas programadas](/docs/es/scheduled-tasks)

Remote Control requiere la API de Anthropic

-La sesión no está hablando directamente con la API de Anthropic, que es lo que [Remote Control](/docs/es/remote-control) requiere. +La sesión no se comunica directamente con la API de Anthropic, algo que [Remote Control](/docs/es/remote-control) requiere. ```text theme={null} Remote 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. ``` -Una 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: +Una segunda oración explica qué desvió la sesión de la API de Anthropic; antes de la v2.1.219, el mensaje consistía solo en la primera oración. Según la causa, el mensaje menciona: -* 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) -* [`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 Control -* `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` -* 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 desactivar +* 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 [Agent Platform de Google Cloud](/docs/es/google-vertex-ai) +* [`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 la v2.1.196, una URL base personalizada no bloqueaba Remote Control +* `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` +* Un inicio de sesión en un [gateway en la nube](/docs/es/claude-apps-gateway) empresarial realizado mediante `/login`, que no admite Remote Control y no tiene ninguna variable que eliminar **Qué hacer:** -* 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 Anthropic -* 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ón -* Para este y los otros mensajes de inicio de Remote Control, consulta [Solucionar problemas de Remote Control](/docs/es/remote-control#troubleshooting) +* Elimina 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 +* 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 todas las sesiones +* 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)

- Remote Control no pudo actualizar tu inicio de sesión + Remote Control no pudo renovar tu inicio de sesión

-Claude 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. +Claude Code mantiene una conexión de [Remote Control](/docs/es/remote-control) activa 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. -Cuando 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`. +Cuando 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 funcionamiento 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`. -Cuando 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: +Cuando Claude Code detiene Remote Control, muestra el motivo en una advertencia y en una línea de la transcripción que empieza por `Remote Control disconnected`. Tu sesión local sigue ejecutándose sin Remote Control. Esta sección cubre estas líneas: ```text theme={null} Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control @@ -1140,49 +1164,49 @@ Remote Control disconnected — JWT refresh failed: no OAuth token — run /logi Remote Control disconnected — Signed out of Claude — run /login, then /remote-control ``` -Claude Code nombra la causa en el medio del mensaje: +Claude Code indica la causa en la parte central del mensaje: * `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 -* `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ón -* `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 nuevo -* `JWT refresh failed: no OAuth token`: Claude Code no encontró un token de inicio de sesión guardado para renovar -* `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ón +* `OAuth token unavailable`: Claude Code no tenía ningún token de inicio de sesión guardado cuando correspondía renovar la credencial de la conexión +* `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 +* `JWT refresh failed: no OAuth token`: Claude Code no encontró ningún token de inicio de sesión guardado con el que renovar +* `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 **Qué hacer:** -* Ejecuta `/login` para iniciar sesión nuevamente -* 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. +* Ejecuta `/login` para volver a iniciar sesión +* 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 una vez que inicias sesión. -Antes 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 )`. Los mensajes `Claude.ai login expired`, `Claude.ai login was rejected`, y `OAuth token unavailable` se agregaron en v2.1.225. +Antes de la 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 )`. Los mensajes `Claude.ai login expired`, `Claude.ai login was rejected` y `OAuth token unavailable` se añadieron en la v2.1.225. -Antes 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. +Antes de la 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.

- Remote Control se detuvo porque la cuenta con la que iniciaste sesión cambió + Remote Control se detuvo porque cambió la cuenta con la que iniciaste sesión

-Claude 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. +Claude Code muestra esta línea durante una sesión de [Remote Control](/docs/es/remote-control) cuando inicias sesión en otra cuenta u organización de claude.ai en esta máquina. Hiciste el cambio fuera de la sesión de Claude Code, por ejemplo ejecutando `/login` en otra terminal. -Una 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. +Una sesión de Remote Control que iniciaste con una sesión abierta mediante `/login` pertenece a la cuenta y la organización de claude.ai con las que tenías la sesión iniciada en ese momento. ```text theme={null} Remote 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 ``` -Claude 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. +Claude Code detiene la sesión de Remote Control en cuanto claude.ai confirma que la cuenta o la organización cambió. Tu sesión local sigue ejecutándose sin Remote Control. **Qué hacer:** -* Ejecuta `/remote-control` para iniciar una nueva sesión de Remote Control bajo la cuenta u organización actual -* Para cambiar atrás, ejecuta `/login` e inicia sesión en la cuenta u organización anterior nuevamente. Luego ejecuta `/remote-control`. +* Ejecuta `/remote-control` para iniciar una nueva sesión de Remote Control con la cuenta u organización actual +* Para volver a la anterior, ejecuta `/login` e inicia sesión de nuevo en la cuenta u organización anterior. Luego ejecuta `/remote-control`. -Antes 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. +Antes de la v2.1.234, Claude Code no detectaba cuándo cambiabas a otra cuenta u organización 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.

Remote Control se detuvo porque la aplicación que ejecuta la sesión cerró sesión o cambió de cuenta

-Cuando 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: +Cuando 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 no tiene la sesión iniciada, o que ahora tiene la sesión iniciada en otra cuenta de Claude, 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: ```text theme={null} Remote Control stopped — the app running this session is now signed in to a different Claude account @@ -1193,36 +1217,46 @@ Tu sesión local sigue ejecutándose sin Remote Control. **Qué hacer:** -* Si la aplicación está cerrada, inicia sesión en ella nuevamente, luego activa Remote Control nuevamente en la aplicación -* 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. +* Si la aplicación cerró sesión, vuelve a iniciar sesión en ella y luego reactiva Remote Control en la aplicación +* 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. -Antes 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. +Antes de la v2.1.238, Claude Code enviaba a la aplicación los mensajes `run /login` enumerados en [Remote Control no pudo renovar tu inicio de sesión](#remote-control-couldnt-refresh-your-login) en ambos casos.

- Token OAuth revocado o expirado + Token de OAuth revocado o expirado

-Tu 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. +Tu 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 eliminó el acceso; un token expirado significa que la renovación automática falló a mitad de la sesión. -Ambos 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. +Ambos mensajes informan un rechazo que la API devolvió para una solicitud que envió Claude Code. Cuando el inicio de sesión guardado ya se ha borrado 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 se revoca. ```text theme={null} OAuth token revoked · Please run /login Please run /login · API Error: 401 OAuth token has expired ... ``` +En el [modo no interactivo](/docs/es/headless) (`-p`) y en el [Agent SDK](/docs/es/agent-sdk/overview), los mensajes dicen lo siguiente, y el código de error estructurado es `authentication_failed`: + +```text theme={null} +Failed to authenticate: OAuth token revoked. Please log in again or contact your administrator. +Failed to authenticate. API Error: 401 OAuth token has expired ... +``` + +Antes de la v2.1.287, en el modo no interactivo y en el Agent SDK, el mensaje de token revocado decía `Your account does not have access to Claude. Please login again or contact your administrator.` + **Qué hacer:** -* Ejecuta `/login` para iniciar sesión nuevamente -* 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ó. -* 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) -* 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) +* Ejecuta `/login` en el prompt de Claude Code para volver a iniciar sesión +* Si tu comando `-p` o tu programa del Agent SDK usa un inicio de sesión guardado, ejecuta `claude` en el mismo entorno, completa `/login` y luego vuelve a ejecutar el comando o el programa. Para automatización que no puede iniciar sesión de forma interactiva, autentícate con [`ANTHROPIC_API_KEY`](/docs/es/env-vars) o [genera un token de larga duración con `claude setup-token`](/docs/es/authentication#generate-a-long-lived-token). +* 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 variable y ejecuta `/login`. Antes de la 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. +* Si se te pide iniciar sesión repetidamente entre ejecuciones, consulta las comprobaciones del reloj del sistema y los pasos de recuperación del almacenamiento de credenciales en macOS en [Solución de problemas](/docs/es/troubleshoot-install#not-logged-in-or-token-expired) +* 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)

- Error de API: 401 Credenciales de autenticación inválidas + API Error: 401 Invalid authentication credentials

-La 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. +La API reconoció el formato de tu credencial pero rechazó la cuenta o la organización asociada. 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 un `ANTHROPIC_API_KEY` aprobado, y la solución es distinta en cada caso, así que empieza ejecutando `/status` para ver cuál está activa. ```text theme={null} Please run /login · API Error: 401 Invalid authentication credentials @@ -1230,108 +1264,109 @@ Please run /login · API Error: 401 Invalid authentication credentials **Qué hacer:** -* 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`. -* 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. -* 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. -* 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. +* 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 tiene precedencia sobre tu inicio de sesión, así que `/login` no lo reemplaza. Rota la clave en Claude Console, o vuelve a tu suscripción ejecutando `unset ANTHROPIC_API_KEY`, o en PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`. +* Si `/status` muestra solo tu inicio de sesión, ejecuta `/login` una vez. Si la credencial se revocó, un nuevo inicio de sesión la reemplaza. +* Si el mismo mensaje vuelve a aparecer con la misma cuenta de inicio de sesión, la cuenta o la organización ya no está activa. Comprueba la cuenta y la organización que informa `/status`, y pide al administrador de tu organización que restaure el acceso. +* 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. Corrige en su lugar la credencial que espera tu gateway.

Inicio de sesión expirado

-Claude 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. +Claude Code intentó renovar tu inicio de sesión de claude.ai guardado y el servicio de OAuth rechazó el token de renovación almacenado, así que Claude Code borró las credenciales guardadas. A partir de ese momento, cada solicitud al modelo se detiene localmente con este mensaje antes de llegar a la API, porque solo `/login` puede crear credenciales nuevas. -Antes 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. +Antes de la v2.1.206, Claude Code enviaba la solicitud al modelo de todos modos 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 con un 401 en lugar de pedirte que iniciaras sesión. ```text theme={null} Login expired · Please run /login ``` -En [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`: +En el [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`: ```text theme={null} Failed to authenticate: OAuth session expired and could not be refreshed ``` -Este 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. +Este 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. Claude Code genera por sí mismo `Login expired` para un inicio de sesión que ya no logró 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. -Las 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. +Las 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. -Puedes 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. +Puedes comprobar este estado antes de que falle una solicitud: [`/status`](/docs/es/commands) muestra una fila `Login` que dice `Expired — log in again`, junto con 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 la 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. **Qué hacer:** -* Ejecuta `/login` para iniciar sesión nuevamente. Reintentar sin iniciar sesión muestra el mismo mensaje en cada solicitud. -* 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). -* Si iniciar sesión sigue fallando, consulta [Inicio de sesión y autenticación](/docs/es/troubleshoot-install#login-and-authentication) +* Ejecuta `/login` para volver a iniciar sesión. Reintentar sin iniciar sesión muestra el mismo mensaje en cada solicitud. +* 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. +* En el 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). +* Si el inicio de sesión sigue fallando, consulta [Inicio de sesión y autenticación](/docs/es/troubleshoot-install#login-and-authentication)

- No se pudo actualizar tu inicio de sesión porque otro proceso de Claude Code lo está actualizando + No se pudo renovar tu inicio de sesión porque otro proceso de Claude Code lo está renovando

-Este 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: +Este mensaje no significa que se rechazara tu inicio de sesión. 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ó tomado, y la renovación no avanzó mientras esta sesión esperaba. Claude Code detiene la solicitud antes de enviarla: ```text theme={null} Could 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 ``` -En [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`: +En el [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`: ```text theme={null} Failed 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 ``` -Las 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. +Las 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. **Qué hacer:** -* Intenta nuevamente en un minuto. Si otro proceso completa la actualización primero, esta sesión usa el inicio de sesión renovado. -* Si el mensaje sigue regresando, cierra otras ventanas y procesos de Claude Code, luego reintenta. -* Si regresa sin otro proceso de Claude Code ejecutándose, ejecuta `/login`. Iniciar sesión nuevamente no espera en el bloqueo de actualización. +* Vuelve a intentarlo en un minuto. Si otro proceso completa antes la renovación, esta sesión usa el inicio de sesión renovado. +* Si el mensaje sigue apareciendo, cierra las demás ventanas y procesos de Claude Code y luego reintenta. +* Si vuelve a aparecer sin ningún otro proceso de Claude Code en ejecución, ejecuta `/login`. Volver a iniciar sesión no espera al bloqueo de renovación.

No se pudo guardar tu inicio de sesión

-Iniciaste 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. +Iniciaste 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. ```text theme={null} Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again. Couldn't save your login. Try logging in again. ``` -La 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. +La primera forma aparece en macOS y la segunda en todos los demás sistemas. Un fallo transitorio del almacén de credenciales, como un tiempo de espera agotado o un almacén ilegible, produce el mismo mensaje. **Qué hacer:** -* En macOS, desbloquea el llavero de inicio de sesión, luego ejecuta `/login` nuevamente -* En otras plataformas, ejecuta `/login` nuevamente -* 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 credenciales +* En macOS, desbloquea el llavero de inicio de sesión y luego vuelve a ejecutar `/login` +* En otras plataformas, vuelve a ejecutar `/login` +* 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

- Falló al iniciar el servidor de devolución de llamada OAuth + No se pudo iniciar el servidor de callback de OAuth

-Cuando `/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: +Cuando `/login`, `claude auth login` o `claude setup-token` te inician 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: ```text theme={null} Failed to start OAuth callback server: Failed to start server. Is port 0 in use? ``` -Si 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. +Si tu mensaje termina en `Is port 0 in use?`, el intento de escuchar en la dirección de loopback IPv4 `127.0.0.1` falló por completo. 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 alternativa. **Qué hacer:** -* 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. -* 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. +* 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 [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. +* 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.

Inicio de sesión de Claude no aceptado

-Intentaste 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. +Intentaste 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. -La primera parte de la línea es la razón propia del servidor cuando da una. De lo contrario, la línea se lee: +La primera parte de la línea es el motivo propio del servidor cuando lo proporciona. De lo contrario, la línea dice: ```text theme={null} Claude login not accepted · Run /login, then try again @@ -1339,15 +1374,15 @@ Claude login not accepted · Run /login, then try again **Qué hacer:** -* Ejecuta `/login`, completa el inicio de sesión, luego inicia la sesión nuevamente +* Ejecuta `/login`, completa el inicio de sesión y luego vuelve a iniciar la sesión

Los artefactos necesitan un inicio de sesión de claude.ai

-Claude 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. +Claude 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. -Cada 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: +Todas 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 conflicto, dice: ```text theme={null} Artifacts 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,89 +1391,93 @@ Artifacts need a claude.ai login. Run /login and select "Claude account with sub **Qué hacer:** * Ejecuta `/login` y selecciona **Claude account with subscription**. La opción **Anthropic Console account** no proporciona credenciales de claude.ai. -* 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` -* 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ón -* 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.ai -* Consulta [Disponibilidad](/docs/es/artifacts#availability) para los otros requisitos que los artefactos tienen, como plan, proveedor de modelo y política de organización +* 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 como indica el mensaje y luego ejecuta `/login` +* 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 reconecta la sesión +* 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 de claude.ai iniciada +* 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

- La política del administrador requiere un inicio de sesión de puerta de enlace en la nube + La política del administrador requiere un inicio de sesión en el gateway en la nube

-La [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: +La [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: ```text theme={null} Not signed in to the Cloud gateway — run /login. ``` -Las 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. +Las 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. + +Si la máquina también tiene una credencial emitida por Anthropic y la configuración administrada establece `forceLoginMethod` o `forceLoginOrgUUID`, Claude Code termina al inicio 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. -Si 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: +El mensaje de inicio indica la credencial con la que está configurada la sesión, dónde está definida y el paso para quitarla. Por ejemplo, con una variable `ANTHROPIC_API_KEY` definida en tu shell, dice: ```text theme={null} -Administrator policy requires a Cloud gateway sign-in on this machine; the -Anthropic-issued credential configured here (ANTHROPIC_API_KEY, -ANTHROPIC_AUTH_TOKEN, or apiKeyHelper) is not used. +Administrator policy requires a Cloud gateway sign-in on this machine, but this session is configured with an API key from ANTHROPIC_API_KEY, which a gateway machine does not accept. + +To continue: unset ANTHROPIC_API_KEY (or run in a shell without it), then run claude and sign in with /login. ``` **Qué hacer:** -* Ejecuta `/login` y completa el inicio de sesión en la pantalla **Cloud gateway** -* 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` -* 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 administrada +* Para `Not signed in to the Cloud gateway`, ejecuta `/login` y completa el inicio de sesión en la pantalla **Cloud gateway** +* Para el mensaje de inicio, quita la credencial siguiendo los pasos que aparecen al final del mensaje +* 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 + +Antes de la v2.1.284, el mensaje de inicio enumeraba las credenciales posibles en lugar de nombrar la configurada. Empezaba con `Administrator policy requires a Cloud gateway sign-in on this machine; the Anthropic-issued credential configured here (ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, or apiKeyHelper) is not used.` Si ves ese texto y no puedes saber qué credencial quitar, actualiza a la v2.1.284 o posterior y vuelve a iniciar `claude`. -En 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. +En la v2.1.265, una regresión también mostraba el primer mensaje en algunas configuraciones de gateway de LLM y de 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 la v2.1.266 o posterior. No necesitas cambiar tu configuración. -Antes 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í. +Antes de la v2.1.261, en máquinas que establecían `forceLoginMethod` en `"gateway"`, Claude Code usaba un inicio de sesión guardado sobrante 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.

Tu cuenta está en espera

-La 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: +La cuenta de Claude asociada a 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 lo informa un inicio de sesión que completas en el navegador: ```text theme={null} Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted ``` -Iniciar 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. +Volver 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 el [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 la 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. **Qué hacer:** -* Abre el enlace en el mensaje para ver los detalles de la suspensión o apelarla -* 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` +* Abre el enlace del mensaje para ver los detalles de la suspensión o apelarla +* Si tienes otra cuenta de Claude o una clave de API que no se ve afectada por la suspensión, puedes seguir trabajando mientras se resuelve: ejecuta `/login` con esa cuenta, o define la clave con `ANTHROPIC_API_KEY`

- Inicio de sesión de perfil de Anthropic expirado + Inicio de sesión del perfil de Anthropic expirado

-Claude 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. +Claude Code se está autenticando mediante un perfil de credenciales de Anthropic cuya credencial de inicio de sesión guardada ha expirado, y el perfil no contiene ninguna credencial de renovació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. ```text theme={null} Anthropic profile login expired · Re-authenticate your Anthropic profile Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile ``` -Esto 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. +Esto 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. -En 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ó: +En 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 CLI de Claude Platform. 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ó: -* Cuando estableces `ANTHROPIC_PROFILE` explícitamente, el mensaje termina con `Re-authenticate your Anthropic profile`. -* 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. +* Cuando defines `ANTHROPIC_PROFILE` explícitamente, el mensaje termina con `Re-authenticate your Anthropic profile`. +* Cuando Claude Code descubrió el perfil en 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 la v2.1.234, Claude Code también mostraba la forma `Re-authenticate your Anthropic profile` en este caso. **Qué hacer:** -* 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ó +* 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 CLI de Claude Platform; para otros perfiles, usa la herramienta que los creó * Si un administrador aprovisionó la credencial del perfil, pídele que emita una nueva -* Ejecuta `/status` para confirmar la fuente de credencial activa y el nombre del perfil -* Para dejar de usar el perfil, desactiva `ANTHROPIC_PROFILE` si lo estableciste, luego auténticate de otra manera, como `/login` o `ANTHROPIC_API_KEY` +* Ejecuta `/status` para confirmar la fuente de credenciales activa y el nombre del perfil +* Para dejar de usar el perfil, elimina `ANTHROPIC_PROFILE` si la definiste y luego autentícate de otra forma, como `/login` o `ANTHROPIC_API_KEY`

- Requisito de alcance OAuth + Requisito de alcance de OAuth

-El token almacenado es anterior a un alcance de permiso que una característica más nueva necesita: +El token almacenado es anterior a un alcance de permisos que necesita una función más reciente: ```text theme={null} OAuth token does not meet scope requirement: user:profile @@ -1452,7 +1491,7 @@ OAuth token does not meet scope requirement: user:profile claude.ai rechazó el token de sesión -Una 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: +Una 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 detalles dice: ```text theme={null} claude.ai rejected the session token. Run /login, then reconnect. @@ -1460,32 +1499,32 @@ claude.ai rejected the session token. Run /login, then reconnect. **Qué hacer:** -* Ejecuta `/login` para iniciar sesión nuevamente -* Reconecta el conector desde `/mcp`, o ejecuta `/mcp reconnect `. 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 ` escrito reporta una reconexión exitosa incluso aunque el token aún sea rechazado. +* Ejecuta `/login` para volver a iniciar sesión +* Reconecta el conector desde `/mcp`, o ejecuta `/mcp reconnect `. Reconectar antes de volver a iniciar sesión deja el conector en el mismo estado. La opción **Reconnect** del panel de `/mcp` informa `your claude.ai session token was rejected`; la forma escrita `/mcp reconnect ` informa una reconexión correcta aunque el token siga rechazado. -Antes 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. +Antes de la v2.1.222, Claude Code marcaba en su lugar el conector como pendiente de autenticación, lo que te dirigía al flujo de autorización del conector aunque completarlo no resolvía el estado.

- El servidor MCP necesita que inicies sesión nuevamente + El servidor MCP necesita que vuelvas a iniciar sesión

-Un [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). +Un [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 [pendiente de autenticación](/docs/es/mcp#authenticate-with-remote-mcp-servers). -Para 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: +Para 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: ```text theme={null} MCP server "" needs you to sign in again (run /mcp to re-authenticate) ``` -Ejecuta `/mcp`, selecciona el servidor, e inicia sesión nuevamente desde su menú. +Ejecuta `/mcp`, selecciona el servidor y vuelve a iniciar sesión desde su menú. -Para 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: +Para 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 y reintentado la llamada una vez antes de mostrar esto: ```text theme={null} MCP server "" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth) ``` -Verifica que el helper devuelva una credencial que el servidor acepte, luego reconecta desde `/mcp`, que vuelve a ejecutar el helper. +Comprueba que el helper devuelve una credencial que el servidor acepta y luego reconecta desde `/mcp`, lo que vuelve a ejecutar el helper. Para un servidor con un encabezado `Authorization` estático en su configuración: @@ -1493,27 +1532,27 @@ Para un servidor con un encabezado `Authorization` estático en su configuració MCP server "" rejected the Authorization header in its config (update it, then run /mcp to reconnect) ``` -Actualiza el valor del encabezado donde el servidor está configurado, luego reconecta desde `/mcp`. +Actualiza el valor del encabezado donde está configurado el servidor y luego reconecta desde `/mcp`. -Antes de v2.1.273, los casos de inicio de sesión expirado, `headersHelper`, y encabezado `Authorization` todos mostraban `MCP server "" requires re-authorization (token expired)`. +Antes de la v2.1.273, los casos de inicio de sesión expirado, `headersHelper` y encabezado `Authorization` mostraban todos `MCP server "" requires re-authorization (token expired)`. -Un 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: +Un 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: ```text theme={null} MCP server "" needs additional permissions (scope: "") — run /mcp to re-authenticate ``` -Ejecuta `/mcp`, selecciona el servidor, y auténticate nuevamente desde su menú. +Ejecuta `/mcp`, selecciona el servidor y vuelve a autenticarte desde su menú. -Cuando 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. +Cuando 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 esos 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. -Antes 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. +Antes de la v2.1.274, este caso mostraba el mensaje `needs you to sign in again`, y antes de la v2.1.273 mostraba `requires re-authorization (token expired)` como los demás casos.

- URL del servidor MCP faltante o no válida + Falta la URL del servidor MCP o no es una URL válida

-Claude 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 `](/docs/es/mcp#authenticate-from-the-command-line) en tu shell imprime el rechazo como: +Claude 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 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 `](/docs/es/mcp#authenticate-from-the-command-line) en tu shell imprime el rechazo así: ```text theme={null} Couldn't complete authentication for "": 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,104 +1560,104 @@ Couldn't complete authentication for "": This server's URL is missing or n **Qué hacer:** -* 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. +* Establece la `url` de la entrada en 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.

- Desajuste de emisor en la respuesta de autorización + Discrepancia del emisor en la respuesta de autorización

-Durante 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: +Durante 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 de servidores de autorización (mix-up), 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: ```text theme={null} Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com" ``` -`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. +`expected` es el emisor de los metadatos de OAuth del servidor, y `received` es el valor de `iss` que traía la redirección. Un inicio de sesión cuya redirección no incluye ningún parámetro `iss` pasa la comprobación, a menos que los metadatos del servidor establezcan `authorization_response_iss_parameter_supported`, en cuyo caso Claude Code hace fallar el inicio de sesión. **Qué hacer:** -* Intenta el inicio de sesión nuevamente desde `/mcp` -* 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 metadatos -* 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 servidor +* Vuelve a intentar el inicio de sesión desde `/mcp` +* 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 +* 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 -Antes 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`. +Antes de la v2.1.232, Claude Code usaba el runtime v2 solo en un despliegue gradual o cuando definías `MCP_SDK_GENERATION=v2`.

- Negarse a enviar credenciales a punto final de token no HTTPS + Se rechaza enviar credenciales a un endpoint de token que no es https

-En 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. +En 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 ninguna de esas opciones, así que Claude Code se detuvo antes de enviar la solicitud. Eso ocurre después del inicio de sesión en el navegador, así que el paso del navegador se completa primero, y de nuevo cada vez que Claude Code renueva el token del servidor. -En 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 ` lo imprime después de `Couldn't complete authentication for "":`, y en una sesión, `/mcp` lo muestra bajo el menú del servidor: +En su forma completa, el mensaje proviene del MCP SDK y cita el endpoint de token que rechazó. En el registro de depuración, aparece después de `Error during auth completion:` para un inicio de sesión o de `Token refresh failed:` para una renovación. En tu shell, `claude mcp login ` lo imprime después de `Couldn't complete authentication for "":`, y en una sesión, `/mcp` lo muestra en el menú del servidor: ```text theme={null} Refusing 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). ``` -Claude 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`. +Claude Code trata como posiblemente secreta una URL de servidor que tiene una cadena de consulta o un segmento de ruta largo de 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 aparece 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 la misma forma ahí. El mensaje ocultado solo puede corresponder a 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`. **Qué hacer:** -* 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://` -* 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 HTTPS +* Sirve ese endpoint de token por HTTPS, por ejemplo colocando el servidor detrás de un proxy inverso o un túnel que termine TLS y configurando el servidor para que anuncie la dirección `https://` +* 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 sales 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

- Las credenciales de AWS expiraron o son inválidas + Credenciales de AWS expiradas o no válidas

-Tu 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. +Tu 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. -La sugerencia de acción en el medio varía con tu configuración. La parte estable es el `AWS credentials expired or invalid` inicial: +La sugerencia de acción de la parte central varía según tu configuración. La parte estable es el `AWS credentials expired or invalid` inicial: ```text theme={null} AWS 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 ... ``` -Antes de v2.1.273, este mensaje aparecía solo cuando `awsAuthRefresh` estaba configurado. +Antes de la v2.1.273, este mensaje aparecía solo cuando `awsAuthRefresh` estaba configurado. **Qué hacer:** -* 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 administrador -* 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 proxy -* 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) -* 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 perfil +* Si la sugerencia dice que las credenciales las gestiona este entorno, la aplicación que inició Claude Code es dueña de la credencial y los demás pasos de esta sección no se aplican: reintenta o contacta con tu administrador +* Si [`awsAuthRefresh`](/docs/es/amazon-bedrock#advanced-credential-configuration) está definido, ejecuta en otra terminal el comando que indica el mensaje, como `aws sso login --profile myprofile`, completa el inicio de sesión en el navegador y luego reintenta. De lo contrario, renueva tú mismo la credencial de AWS que usas: tu inicio de sesión de SSO, tus claves de acceso, tu clave de API o tu token de proxy +* Con `awsAuthRefresh` definido en una sesión interactiva, puedes en su lugar ejecutar `/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 las credenciales de AWS](/docs/es/claude-platform-on-aws#1-configure-aws-credentials) +* 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

- La autenticación de AWS falló + Falló la autenticación de AWS

Tu proveedor de AWS devolvió un 403, o [Amazon Bedrock](/docs/es/amazon-bedrock) devolvió un 401. -Amazon 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. +Amazon 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 un `AccessDeniedException` por falta de un permiso de IAM. Claude Code no puede distinguir entre esas dos causas. -Un 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. +Un 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 algo más en la ruta de la solicitud, como un proxy corporativo. -Una actualización de credencial arregla un token expirado y no puede arreglar las otras causas, por lo que el mensaje ofrece ambas: +Una renovación de credenciales soluciona un token expirado pero no puede solucionar las demás causas, así que el mensaje ofrece ambas opciones: ```text theme={null} AWS 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 ... ``` -La sugerencia de acción en el medio varía con tu configuración. La parte estable es el `AWS authentication failed` inicial. +La sugerencia de acción de la parte central varía según tu configuración. La parte estable es el `AWS authentication failed` inicial. -Cuando 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. +Cuando el 403 es la respuesta de Amazon Bedrock indicando 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. -Antes de v2.1.273, este mensaje aparecía solo cuando `awsAuthRefresh` estaba configurado. +Antes de la v2.1.273, este mensaje aparecía solo cuando `awsAuthRefresh` estaba configurado. **Qué hacer:** -* 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 administrador -* 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ú mismo -* 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ón +* Si la sugerencia dice que las credenciales las gestiona este entorno, la aplicación que inició Claude Code es dueña de la credencial y los demás pasos de esta sección no se aplican: reintenta o contacta con tu administrador +* 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 indica el mensaje cuando hay uno definido, o renueva tú mismo tu inicio de sesión de SSO, tus claves de acceso, tu clave de API o tu token de proxy +* Si tus credenciales están al día, 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 * Ejecuta `aws sts get-caller-identity` para confirmar qué identidad usan tus solicitudes

- Las credenciales de Google Cloud expiraron o son inválidas + Credenciales de Google Cloud expiradas o no válidas

-Tus 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. +Tus credenciales de Google Cloud para [Agent Platform de Google Cloud](/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. -La 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: +La sugerencia de acción de la parte central varía según tu configuración. La parte estable es el `Google Cloud credentials expired or invalid` inicial: ```text theme={null} Google 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,21 +1665,21 @@ Google Cloud credentials expired or invalid · refresh your Google Cloud credent **Qué hacer:** -* 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 administrador -* 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 reintenta -* 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 reintenta -* 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) -* 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 shell +* Si la sugerencia dice que las credenciales las gestiona este entorno, la aplicación que inició Claude Code es dueña de la credencial y los demás pasos de esta sección no se aplican: reintenta o contacta con tu administrador +* Si te autenticas con las credenciales predeterminadas de la aplicación, ejecuta el comando [`gcpAuthRefresh`](/docs/es/google-vertex-ai#advanced-credential-configuration) que indica el mensaje, o `gcloud auth application-default login`, completa el inicio de sesión y luego reintenta +* 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 +* 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 las credenciales de GCP](/docs/es/google-vertex-ai#3-configure-gcp-credentials) +* 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 -Antes 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. +Antes de la 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.

- La autenticación de Google Cloud falló + Falló la autenticación de Google Cloud

-[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. +[Agent Platform de Google Cloud](/docs/es/google-vertex-ai) devolvió un 403, que usa para denegaciones de autorización en lugar de credenciales vencidas. Por lo general, a la identidad con la que te autenticas le falta un permiso de IAM, o el modelo no está habilitado para tu proyecto. -La sugerencia de acción en el medio varía con tu configuración. La parte estable es el `Google Cloud authentication failed` inicial: +La sugerencia de acción en la parte central varía según tu configuración. La parte estable es el `Google Cloud authentication failed` inicial: ```text theme={null} Google 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,17 +1687,17 @@ Google Cloud authentication failed · refresh your Google Cloud credentials (app **Qué hacer:** -* 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 administrador -* 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 autenticas -* Confirma que el modelo está habilitado para tu proyecto. Consulta [Solicitar acceso al modelo](/docs/es/google-vertex-ai#2-request-model-access) +* 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 de aquí no aplican: reintenta o contacta a tu administrador +* 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 +* Confirma que el modelo esté habilitado para tu proyecto. Consulta [Solicitar acceso al modelo](/docs/es/google-vertex-ai#2-request-model-access) -Antes 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. +Antes 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.

- La autenticación de Microsoft Foundry falló + Falló la autenticación de Microsoft Foundry

-[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: +[Microsoft Foundry](/docs/es/microsoft-foundry) devolvió un 401 o un 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 la parte central varía según tu configuración. La parte estable es el `Microsoft Foundry authentication failed` inicial: ```text theme={null} Microsoft 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,92 +1705,92 @@ Microsoft Foundry authentication failed · refresh your Foundry credential (ANTH **Qué hacer:** -* 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 administrador -* 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 nuevamente -* 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) +* 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 de aquí no aplican: reintenta o contacta a tu administrador +* Renueva 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 volver a iniciar sesión +* 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) -Antes 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. +Antes de 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 renovar las credenciales de Azure.

No se pudieron cargar las credenciales de AWS o Google Cloud

-Claude 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`: +Claude 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, por lo 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 reportadas como `Could not load the default credentials`, o un inicio de sesión revocado reportado como `invalid_grant`: ```text theme={null} API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again. API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again. ``` -En [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`. +En [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 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`. **Qué hacer:** -* 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 Code -* 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 lugar +* 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 +* Si el detalle dice `AWS default-chain credential resolve timed out`, la cadena se colgó en lugar de fallar, así que sigue en su lugar [Se agotó el tiempo de espera al resolver las credenciales de la cadena predeterminada de AWS](#aws-default-chain-credential-resolve-timed-out)

- Resolución de credenciales de cadena predeterminada de AWS agotada + Se agotó el tiempo de espera al resolver las credenciales de la cadena predeterminada de AWS

-La 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. +La 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 cuando lo ves, la cadena ya se estancó en intentos repetidos. ```text theme={null} API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again. ``` -Las 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. +Las 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. Antes de v2.1.267, el mensaje decía `API Error: AWS default-chain credential resolve timed out`. Antes de v2.1.207, una cadena estancada dejaba la solicitud esperando indefinidamente en lugar de fallar. **Qué hacer:** -* 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. +* Ejecuta `aws sts get-caller-identity` en el mismo shell con el mismo `AWS_PROFILE`. Si también se cuelga, corrige el perfil; un comando `credential_process` que pide datos de forma interactiva es una causa común. * Completa el paso de inicio de sesión antes de iniciar Claude Code, por ejemplo `aws sso login --profile myprofile` -* 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) +* 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)

- La verificación de configuración de Bedrock se agotó esperando a AWS + Se agotó el tiempo de espera de la verificación de configuración de Bedrock esperando a AWS

-Una 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: +Una 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: ```text theme={null} Timed 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. ``` -El 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). +El número refleja tu límite: 60 segundos de forma predeterminada, o el valor que configuraste en [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/es/env-vars). -Las 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. +Las causas comunes son una red o un proxy que estanca las solicitudes a AWS, incluida la renovació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. -Una ú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: +Una sola solicitud estancada a AWS también puede fallar por su propio tiempo de espera por solicitud, lo que muestra un mensaje más corto en el mismo paso: ```text theme={null} A request to AWS timed out. Check your network and proxy settings, then try again. ``` -Cuando 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. +Cuando 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. **Qué hacer:** -* 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. +* 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 asistente de credenciales de tu perfil de AWS; corrige eso primero. * Completa cualquier inicio de sesión interactivo antes de abrir el asistente, por ejemplo `aws sso login --profile myprofile` -* 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) +* 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)

- La sesión de puerta de enlace en la nube expiró + La sesión del gateway en la nube venció

-Iniciaste 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: +Iniciaste 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: ```text theme={null} Cloud gateway session expired — run /login to reconnect. ``` -La misma línea puede aparecer a mitad de sesión cuando la credencial de puerta de enlace expira y Claude Code no puede renovarla. +La misma línea puede aparecer a mitad de la sesión cuando la credencial del gateway vence y Claude Code no puede renovarla. -En 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: +En 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: ```text theme={null} Cloud gateway no longer accepts this session. Start `claude` and sign in again with /login. @@ -1759,14 +1798,14 @@ Cloud gateway no longer accepts this session. Start `claude` and sign in a **Qué hacer:** -* Ejecuta `/login` en la sesión y completa el inicio de sesión del navegador -* Para un lanzamiento no interactivo, inicia `claude` en el mismo entorno, ejecuta `/login`, luego reejecutar tu comando +* Ejecuta `/login` en la sesión y completa el inicio de sesión en el navegador +* Para un inicio no interactivo, inicia `claude` en el mismo entorno, ejecuta `/login` y luego vuelve a ejecutar tu comando

- El inicio de sesión se agotó mientras esperaba que continúes + Se agotó el tiempo de inicio de sesión mientras esperaba que continuaras

-Durante 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: +Durante 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 propio vencimiento del inicio de sesión, y el gateway no emitió ningún token de actualización que pudiera renovarla, así que Claude Code no guardó nada cuando continuaste: ```text theme={null} Sign-in timed out while waiting for you to continue. Try again. @@ -1774,13 +1813,13 @@ Sign-in timed out while waiting for you to continue. Try again. **Qué hacer:** -* Ejecuta `/login` nuevamente y confirma la cuenta antes de que el inicio de sesión expire +* Ejecuta `/login` de nuevo y confirma la cuenta antes de que venza el inicio de sesión

- La puerta de enlace rechazó la solicitud + El gateway rechazó la solicitud

-Está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: +Iniciaste 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 remite a tu administrador del gateway: ```text theme={null} Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ... @@ -1788,10 +1827,10 @@ Gateway refused the request · signing in again won't change this — check with **Qué hacer:** -* 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ó -* 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) +* Pide a tu administrador del gateway que busque la solicitud. La parte final `API Error:` contiene el rechazo que devolvió el gateway +* 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) guarda junto con su motivo, y la denegación de autorización de un servicio upstream se transmite según [Mensajes de error de upstream](/docs/es/claude-apps-gateway-config#upstream-error-messages) -Antes 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. +Antes de 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.

Errores de red y conexión @@ -2114,13 +2153,13 @@ Antes de v2.1.281, cada envío falló con este mensaje una vez que un **Stop** d Errores de solicitud

-Estos errores se relacionan con el contenido de su solicitud. La mayoría provienen de la API después de rechazarla; algunos son producidos localmente por Claude Code antes de que se envíe ninguna solicitud. +Estos errores se relacionan con el contenido de tu solicitud. La mayoría provienen de la API después de que rechazó la solicitud; algunos los produce Claude Code localmente antes de enviar cualquier solicitud.

El prompt es demasiado largo

-La conversación más los archivos adjuntos exceden la ventana de contexto del modelo. +La conversación más los archivos adjuntos superan la ventana de contexto del modelo. ```text theme={null} Prompt is too long @@ -2132,42 +2171,42 @@ En una sesión interactiva, Claude Code muestra este error como: Context limit reached · /compact or /clear to continue ``` -La línea nombra solo `/clear` cuando [`DISABLE_COMPACT`](/docs/es/env-vars) está configurado. Las formas más largas del error, como la forma de compactación fallida a continuación, mantienen la redacción `Prompt is too long ·`. En la salida `-p` y la transcripción, el texto permanece como `Prompt is too long`. +La línea nombra solo `/clear` cuando [`DISABLE_COMPACT`](/docs/es/env-vars) está configurado. Las formas más largas del error, como la forma de compactación fallida que aparece más abajo, mantienen la redacción `Prompt is too long ·`. En la salida de `-p` y en la transcripción, el texto sigue siendo `Prompt is too long`. -Cuando desactivó la compactación automática en su [configuración de usuario](/docs/es/settings-reference#autocompactenabled), la línea también lo dice: +Cuando desactivaste la compactación automática en tu [configuración de usuario](/docs/es/settings-reference#autocompactenabled), la línea también lo indica: ```text theme={null} Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on ``` -El botón **Auto-compact** en `/config` escribe `autoCompactEnabled` en la configuración del usuario. La sugerencia aparece solo cuando un cambio en `/config` tendría efecto. Por ejemplo, no aparece cuando [`DISABLE_AUTO_COMPACT`](/docs/es/env-vars) o [`DISABLE_COMPACT`](/docs/es/env-vars) desactivó la compactación automática. Tampoco aparece cuando un ámbito de mayor precedencia, como la configuración del proyecto o administrada, estableció `autoCompactEnabled` en `false`. Antes de v2.1.235, la línea no llevaba ninguna sugerencia de compactación automática. +El interruptor **Auto-compact** en `/config` escribe `autoCompactEnabled` en la configuración de usuario. La sugerencia aparece solo cuando un cambio en `/config` tendría efecto. Por ejemplo, no aparece cuando [`DISABLE_AUTO_COMPACT`](/docs/es/env-vars) o [`DISABLE_COMPACT`](/docs/es/env-vars) desactivaron la compactación automática. Tampoco aparece cuando un alcance de mayor precedencia, como la configuración del proyecto o la configuración administrada, estableció `autoCompactEnabled` en `false`. Antes de v2.1.235, la línea no incluía ninguna sugerencia sobre la compactación automática. -Amazon Bedrock reporta esta condición como `Input is too long for requested model.`, que Claude Code maneja de la misma manera. Antes de v2.1.217, Claude Code no reconocía la redacción de Bedrock, por lo que la compactación automática nunca se activaba en ella y `/compact` fallaba con el mismo error. +Amazon Bedrock reporta esta condición como `Input is too long for requested model.`, que Claude Code maneja de la misma manera. Antes de v2.1.217, Claude Code no reconocía la redacción de Bedrock, por lo que la compactación automática nunca se activaba con ella y `/compact` fallaba con el mismo error. -Una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway-config#upstream-error-messages) reporta esta condición como `capability_rejected: prompt_too_long` cuando una nube ascendente rechaza la solicitud en la forma de error propia del proveedor. Claude Code trata el token igual que `Prompt is too long`. Antes de v2.1.228, Claude Code no reconocía el token, por lo que la compactación automática no se activaba en él. +Un [gateway de aplicaciones de Claude](/docs/es/claude-apps-gateway-config#upstream-error-messages) reporta esta condición como `capability_rejected: prompt_too_long` cuando un proveedor de nube upstream rechaza la solicitud con el formato de error propio del proveedor. Claude Code trata el token igual que `Prompt is too long`. Antes de v2.1.228, Claude Code no reconocía el token, por lo que la compactación automática no se activaba con él. -Cuando la compactación automática se ejecutó en este turno y falló en un error subyacente, como un modelo no disponible o un fallo de autenticación, el mensaje nombra ese error después de un separador: +Cuando la compactación automática se ejecutó en este turno y falló por un error subyacente, como un modelo no disponible o un fallo de autenticación, el mensaje nombra ese error después de un separador: ```text theme={null} Prompt is too long · automatic compaction failed: ``` -Resuelva el error nombrado primero; `/compact` falla en el mismo error hasta que lo haga. Antes de v2.1.229, una compactación automática fallida mostraba `Prompt is too long` sin la causa. +Resuelve primero el error nombrado; `/compact` falla con el mismo error hasta que lo hagas. Antes de v2.1.229, una compactación automática fallida mostraba `Prompt is too long` sin la causa. -Cuando la compactación automática se ejecuta en este error, normalmente resume sus intercambios más antiguos y mantiene los más nuevos. Como último recurso, Claude Code resume de manera diferente: +Cuando la compactación automática se ejecuta ante este error, normalmente resume tus intercambios más antiguos y conserva los más recientes. Como último recurso, Claude Code resume de otra manera: -* Cuando no puede resumir ningún intercambio completo, Claude Code mantiene su mensaje más reciente palabra por palabra y resume todo lo anterior. -* En ese caso, cuando la conversación no termina con su mensaje, Claude Code resume toda la conversación en su lugar. +* Cuando no puede resumir ningún intercambio completo, Claude Code conserva tu prompt más reciente palabra por palabra y resume todo lo anterior. +* En ese caso, cuando la conversación no termina con tu prompt, Claude Code resume toda la conversación en su lugar. -Claude Code omite esta recuperación cuando el contenido que llevaría adelante no contiene respuesta del modelo y menos de aproximadamente 1.000 tokens de su propio texto, como un reintento corto enviado después de un pegado de tamaño excesivo. Ejecute `/clear` para comenzar de nuevo. Antes de v2.1.269, la compactación fallaba siempre que no pudiera resumir un intercambio completo, por lo que una sesión en ese estado golpeaba este error de nuevo en cada turno. +Claude Code omite esta recuperación cuando el contenido que conservaría no contiene ninguna respuesta del modelo y tiene menos de aproximadamente 1.000 tokens de tu propio texto, como un reintento corto enviado después de pegar algo demasiado grande. Ejecuta `/clear` para empezar de nuevo. Antes de v2.1.269, la compactación fallaba siempre que no podía resumir un intercambio completo, por lo que una sesión en ese estado volvía a encontrar este error en cada turno. -Una conversación de un solo intercambio no tiene turnos anteriores para resumir. Cuando la compactación automática se habría ejecutado en uno, Claude Code omite el intento y explica qué llena la solicitud en su lugar. Cuando la API no reporta conteos de tokens en su error, el mensaje dice: +Una conversación de un solo intercambio no tiene turnos anteriores que resumir. Cuando la compactación automática se habría ejecutado en una, Claude Code omite el intento y explica en su lugar qué llena la solicitud. Cuando la API no reporta conteos de tokens en su error, el mensaje dice: ```text theme={null} Prompt is too long · this conversation is a single exchange and cannot be compacted — the request size comes mostly from system prompt, tool definitions, or attachments. ``` -Cuando la API reporta conteos de tokens en su error, Claude Code los compara con su propia estimación del tamaño de la conversación para determinar cuál es la mayor parte de la solicitud: el contenido propio de la conversación, o el prompt del sistema, definiciones de herramientas y contenido de adjuntos que Claude Code envía con ella. Cuando el contenido propio de la conversación es la mayor parte de la solicitud, el mensaje dice: +Cuando la API reporta conteos de tokens en su error, Claude Code los compara con su propia estimación del tamaño de la conversación para determinar qué constituye la mayor parte de la solicitud: el contenido propio de la conversación, o el prompt del sistema, las definiciones de herramientas y el contenido de los adjuntos que Claude Code envía con ella. Cuando el contenido propio de la conversación constituye la mayor parte de la solicitud, el mensaje dice: ```text theme={null} Prompt is too long · the request is ~ tokens (limit ) and this conversation's own content is most of it. A single-exchange conversation cannot be compacted; start with less content (smaller files or pasted text). @@ -2179,90 +2218,90 @@ Cuando la mayor parte de la solicitud está fuera de la conversación, el mensaj Prompt is too long · the request is ~ tokens (limit ) but this conversation is only ~ tokens — the rest is system prompt, tool definitions, and attachment content. A single-exchange conversation cannot be compacted; reduce attached files/tools or start with less context. ``` -Antes de v2.1.162, Claude Code intentaba la compactación de todas formas y mostraba el `Prompt is too long` desnudo cuando fallaba. +Antes de v2.1.162, Claude Code intentaba la compactación de todos modos y mostraba solo `Prompt is too long` cuando fallaba. **Qué hacer:** -* Ejecute `/compact` para resumir turnos anteriores y liberar espacio, o `/clear` para comenzar de nuevo. Si `/compact` responde `Not enough messages to compact.`, la conversación es un solo intercambio sin nada anterior para resumir, por lo que el espacio está ocupado por ese único mensaje y lo que Claude Code envía con cada solicitud: ejecute `/clear` y reenvíe con menos texto pegado o adjuntos más pequeños, o reduzca las definiciones de herramientas y archivos de memoria usando los pasos a continuación -* Ejecute `/context` para ver un desglose de lo que está consumiendo la ventana: prompt del sistema, herramientas, archivos de memoria y mensajes -* Desactive los servidores MCP que no está utilizando con `/mcp disable ` para eliminar sus definiciones de herramientas del contexto -* Recorte los archivos de memoria `CLAUDE.md` grandes, o mueva las instrucciones a [reglas con ámbito de ruta](/docs/es/memory#path-specific-rules) que se carguen solo cuando sea relevante -* La compactación automática está activada de forma predeterminada y normalmente previene este error. Si la desactivó en `/config` o con [`DISABLE_AUTO_COMPACT`](/docs/es/env-vars), vuelva a activarla. Si la mantiene desactivada, ejecute `/compact` usted mismo antes de que la ventana se llene. +* Ejecuta `/compact` para resumir los turnos anteriores y liberar espacio, o `/clear` para empezar de nuevo. Si `/compact` responde `Not enough messages to compact.`, la conversación es un solo intercambio sin nada anterior que resumir, así que el espacio lo ocupan ese único prompt y lo que Claude Code envía con cada solicitud: ejecuta `/clear` y vuelve a enviarlo con menos texto pegado o adjuntos más pequeños, o reduce las definiciones de herramientas y los archivos de memoria siguiendo los pasos a continuación +* Ejecuta `/context` para ver un desglose de lo que está consumiendo la ventana: prompt del sistema, herramientas, archivos de memoria y mensajes +* Desactiva los servidores MCP que no estés usando con `/mcp disable ` para quitar sus definiciones de herramientas del contexto +* Recorta los archivos de memoria `CLAUDE.md` grandes, o mueve las instrucciones a [reglas limitadas a rutas](/docs/es/memory#path-specific-rules) que se carguen solo cuando sean relevantes +* La compactación automática está activada de forma predeterminada y normalmente evita este error. Si la desactivaste en `/config` o con [`DISABLE_AUTO_COMPACT`](/docs/es/env-vars), vuelve a activarla. Si la mantienes desactivada, ejecuta `/compact` tú mismo antes de que se llene la ventana. -Consulte [Explorar la ventana de contexto](/docs/es/context-window) para una vista interactiva de cómo se llena el contexto. +Consulta [Explorar la ventana de contexto](/docs/es/context-window) para ver de forma interactiva cómo se llena el contexto.

- El contexto excede el límite de tokens + El contexto supera el límite de tokens

-`/context` muestra esta advertencia en la parte superior de su salida cuando la conversación ha crecido más allá de la ventana de contexto del modelo. Las solicitudes fallan con [`Prompt is too long`](#prompt-is-too-long) hasta que libere espacio. Una sesión interactiva muestra ese error como la línea `Context limit reached`. +`/context` muestra esta advertencia al principio de su salida cuando la conversación ha crecido más allá de la ventana de contexto del modelo. Las solicitudes fallan con [`Prompt is too long`](#prompt-is-too-long) hasta que liberes espacio. Una sesión interactiva muestra ese error como la línea `Context limit reached`. ```text theme={null} Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue. ``` -Cuando el límite que excedió es una ventana de compactación, como el límite de 200K en modelos de contexto de 1M, la advertencia dice algo diferente. Una ventana de compactación puede estar por debajo de la ventana de contexto del modelo, por lo que las solicitudes más allá de ella aún pueden tener éxito. +Cuando el límite que superaste es una ventana de compactación, como el límite de 200K en los modelos con contexto de 1M, la advertencia se redacta de otra manera. Una ventana de compactación puede estar por debajo de la ventana de contexto del modelo, por lo que las solicitudes que la superan aún pueden tener éxito. ```text theme={null} Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage. ``` -Ambas formas nombran `/clear` en lugar de `/compact` cuando ha establecido [`DISABLE_COMPACT`](/docs/es/env-vars). +Ambas formas nombran `/clear` en lugar de `/compact` cuando estableciste [`DISABLE_COMPACT`](/docs/es/env-vars). **Qué hacer:** -* En una conversación de múltiples turnos, ejecute `/compact` para resumir turnos anteriores y liberar espacio. Para comenzar de nuevo, ejecute `/clear` -* Para más formas de reducir el uso, consulte [Prompt is too long](#prompt-is-too-long) +* En una conversación de varios turnos, ejecuta `/compact` para resumir los turnos anteriores y liberar espacio. Para empezar de nuevo, ejecuta `/clear` +* Para conocer más formas de reducir el uso, consulta [El prompt es demasiado largo](#prompt-is-too-long) -Antes de v2.1.216, `/context` mostraba el uso por encima del 100% sin una línea de advertencia que explicara qué significaba eso o cómo recuperarse. +Antes de v2.1.216, `/context` mostraba un uso superior al 100% sin ninguna línea de advertencia que explicara qué significaba eso o cómo recuperarse.

Solicitud demasiado grande

-El cuerpo de solicitud sin procesar excedió el límite de 32MB de la API antes de la tokenización, generalmente debido a contenido pegado grande, resultados de herramientas o adjuntos. Este límite es separado de la [ventana de contexto](#prompt-is-too-long). +El cuerpo sin procesar de la solicitud superó el límite de 32MB de la API antes de la tokenización, generalmente por contenido pegado de gran tamaño, resultados de herramientas o adjuntos. Este límite es independiente de la [ventana de contexto](#prompt-is-too-long). ```text theme={null} Request too large (max 32MB). Accumulated images and attachments in the conversation pushed the request over the limit. Run /compact, or double press esc to go back and remove attachments. ``` -Cuando la solicitud fue directamente a la API de Claude y la API en sí la rechazó, Claude Code mide la conversación y redacta el mensaje según si la recuperación puede funcionar. A través de un proxy, puerta de enlace o proveedor de nube obtiene el mensaje general. Las formas medidas: +Cuando la solicitud fue directamente a la API de Claude y la propia API la rechazó, Claude Code mide la conversación y redacta el mensaje según si la recuperación puede funcionar. A través de un proxy, gateway o proveedor de nube, obtienes el mensaje general. Las formas basadas en la medición: -* `Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).`: las imágenes o documentos empujaron la solicitud más allá del límite. Claude Code reintenta con ellos eliminados. -* `Request too large for the API's 32MB request limit`: los mensajes solos están más allá del límite, por lo que el mensaje dice `compacting cannot make it fit` y Claude Code no reintenta. En [modo no interactivo](/docs/es/headless), el mensaje le dice que reduzca la entrada o comience una nueva sesión en su lugar. +* `Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).`: las imágenes o documentos hicieron que la solicitud superara el límite. Claude Code reintenta sin ellos. +* `Request too large for the API's 32MB request limit`: los mensajes por sí solos superan el límite, así que el mensaje dice `compacting cannot make it fit` y Claude Code no reintenta. En [modo no interactivo](/docs/es/headless), el mensaje te indica que reduzcas la entrada o que inicies una nueva sesión. -Antes de v2.1.212, las conversaciones con suficientes imágenes acumuladas fallaban en cada turno con `Request too large (max 32MB). Double press esc to go back and try with a smaller file.` Antes de v2.1.229, Claude Code mostraba el consejo de adjuntos para cada rechazo, incluso cuando la compactación no podía ayudar. +Antes de v2.1.212, las conversaciones con suficientes imágenes acumuladas fallaban en cada turno con `Request too large (max 32MB). Double press esc to go back and try with a smaller file.` Antes de v2.1.229, Claude Code mostraba el consejo sobre adjuntos en cada rechazo, incluso cuando compactar no podía ayudar. **Qué hacer:** -* Si el mensaje dice `compacting cannot make it fit`, presione Esc dos veces para retroceder más allá del turno que agregó el contenido grande, o ejecute `/clear` para comenzar de nuevo -* De lo contrario, ejecute `/compact`, que elimina imágenes y adjuntos acumulados -* Haga referencia a archivos grandes por ruta en lugar de pegar su contenido, para que Claude pueda leerlos en fragmentos -* Para imágenes, consulte [Image was too large](#image-was-too-large) a continuación +* Si el mensaje dice `compacting cannot make it fit`, presiona Esc dos veces para retroceder antes del turno que agregó el contenido grande, o ejecuta `/clear` para empezar de nuevo +* De lo contrario, ejecuta `/compact`, que elimina las imágenes y los adjuntos acumulados +* Haz referencia a los archivos grandes por su ruta en lugar de pegar su contenido, para que Claude pueda leerlos por fragmentos +* Para imágenes, consulta [La imagen era demasiado grande](#image-was-too-large) a continuación

La imagen era demasiado grande

-Una imagen pegada o adjunta excede los límites de tamaño o dimensión de la API. +Una imagen pegada o adjunta supera los límites de tamaño o de dimensiones de la API. ```text theme={null} Image was too large. Double press esc to go back and try again with a smaller image. API Error: 400 ... image dimensions exceed max allowed size ``` -Claude Code reemplaza la imagen no procesable con un marcador de posición de texto y reintenta, por lo que los mensajes posteriores tienen éxito. En versiones anteriores a 2.1.142, una imagen pegada podría permanecer en la conversación y repetir el mismo error en cada mensaje posterior. Para recuperarse en esas versiones, presione Esc dos veces y retroceda más allá del turno donde se agregó la imagen. +Claude Code reemplaza la imagen que no se puede procesar con un marcador de posición de texto y reintenta, por lo que los mensajes posteriores tienen éxito. En versiones anteriores a 2.1.142, una imagen pegada podía permanecer en la conversación y repetir el mismo error en cada mensaje posterior. Para recuperarte en esas versiones, presiona Esc dos veces y retrocede antes del turno en que se agregó la imagen. **Qué hacer:** -* Cambie el tamaño de la imagen antes de pegarla. La API acepta imágenes de hasta 8000 píxeles en el borde más largo para una sola imagen, o 2000 píxeles cuando hay muchas imágenes en contexto. -* Tome una captura de pantalla más ajustada de la región relevante en lugar de la pantalla completa +* Cambia el tamaño de la imagen antes de pegarla. La API acepta imágenes de hasta 8000 píxeles en el lado más largo para una sola imagen, o 2000 píxeles cuando hay muchas imágenes en el contexto. +* Toma una captura de pantalla más ajustada de la región relevante en lugar de la pantalla completa

No se pudo cambiar el tamaño de la imagen

-Claude Code no pudo reducir la escala de una imagen adjunta antes de enviarla a la API. +Claude Code no pudo reducir una imagen adjunta antes de enviarla a la API. ```text theme={null} Unable to resize image — image processing is unavailable and dimensions could not be read from the file header. Please convert the image to PNG, JPEG, GIF, or WebP. @@ -2274,19 +2313,19 @@ Unable to resize image — it is an animated WebP whose first frame Claude Code Unable to resize image — its pixels could not be decoded (the file may be damaged, or use an encoding Claude Code cannot read), and it is over the … API limit (… raw, … base64), so it cannot be sent. Re-save it as a PNG or JPEG and try again. ``` -Claude Code normalmente cambia el tamaño de las imágenes grandes automáticamente. Estos errores significan que la imagen no se pudo decodificar o cambiar de tamaño para caber dentro de los límites de la API. +Claude Code normalmente cambia el tamaño de las imágenes grandes de forma automática. Estos errores significan que la imagen no se pudo decodificar ni redimensionar para que cupiera dentro de los límites de la API. **Qué hacer:** -* Si el mensaje le pide que convierta la imagen, conviértala a PNG, JPEG, GIF o WebP y adjúntela de nuevo. Claude Code puede verificar dimensiones para estos formatos desde el encabezado del archivo, sin decodificar la imagen. -* Si el mensaje reporta un límite de dimensión o tamaño, cambie el tamaño o recomprima la imagen por debajo de ese límite antes de adjuntarla. -* Si el mensaje nombra una causa, como un JPEG CMYK, un WebP animado o un archivo posiblemente dañado, guarde la imagen en el formato que sugiere el mensaje y adjúntela de nuevo. +* Si el mensaje te pide que conviertas la imagen, conviértela a PNG, JPEG, GIF o WebP y vuelve a adjuntarla. Claude Code puede verificar las dimensiones de estos formatos a partir del encabezado del archivo, sin decodificar la imagen. +* Si el mensaje reporta un límite de dimensiones o de tamaño, redimensiona o vuelve a comprimir la imagen por debajo de ese límite antes de adjuntarla. +* Si el mensaje nombra una causa, como un JPEG CMYK, un WebP animado o un archivo posiblemente dañado, vuelve a guardar la imagen en el formato que sugiere el mensaje y adjúntala de nuevo.

Errores de PDF

-El PDF que adjuntó no se pudo procesar. Los mensajes se muestran aquí en su forma no interactiva; en una sesión interactiva, en su lugar le piden que presione esc dos veces e intente de nuevo. +El PDF que adjuntaste no se pudo procesar. Los mensajes se muestran aquí en su forma no interactiva; en una sesión interactiva, en cambio, te piden que presiones esc dos veces y lo intentes de nuevo. ```text theme={null} PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext). @@ -2296,84 +2335,84 @@ The PDF file was not valid. Try converting it to text first (e.g., pdftotext). **Qué hacer:** -* Para PDF de gran tamaño, pida a Claude que lea un rango de páginas con la herramienta Read en lugar de adjuntar el archivo completo, o extraiga texto con una herramienta como `pdftotext` y haga referencia al archivo de salida por ruta -* Para PDF protegidos o inválidos, elimine la contraseña o reexporte el archivo desde su aplicación de origen, luego intente de nuevo +* Para PDF demasiado grandes, pídele a Claude que lea un rango de páginas con la herramienta Read en lugar de adjuntar el archivo completo, o extrae el texto con una herramienta como `pdftotext` y haz referencia al archivo de salida por su ruta +* Para PDF protegidos o no válidos, quita la contraseña o vuelve a exportar el archivo desde su aplicación de origen, y luego inténtalo de nuevo -Cuando Claude lee un rango de páginas de un PDF con la herramienta Read, la lectura puede fallar con un mensaje diferente: +Cuando Claude lee un rango de páginas de un PDF con la herramienta Read, la lectura puede fallar con otro mensaje: ```text theme={null} pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering. ``` -Las lecturas de rango de páginas renderizan páginas con `pdftoppm`. Instale poppler-utils con el comando que el mensaje proporciona, o en otras plataformas una compilación de poppler que ponga `pdftoppm` en su `PATH`. Consulte [Read tool behavior](/docs/es/tools-reference#read-tool-behavior) para ver qué PDF se leen por rango de páginas. +Las lecturas por rango de páginas renderizan las páginas con `pdftoppm`. Instala poppler-utils con el comando que indica el mensaje o, en otras plataformas, una compilación de poppler que ponga `pdftoppm` en tu `PATH`. Consulta [Comportamiento de la herramienta Read](/docs/es/tools-reference#read-tool-behavior) para saber qué PDF se leen por rango de páginas.

No se permiten entradas adicionales

-Un proxy o puerta de enlace LLM entre Claude Code y la API eliminó el encabezado de solicitud `anthropic-beta`, por lo que la API rechazó los campos que dependen de él. +Un proxy o gateway de LLM entre Claude Code y la API eliminó el encabezado de solicitud `anthropic-beta`, por lo que la API rechazó los campos que dependen de él. ```text theme={null} API Error: 400 ... Extra inputs are not permitted ... context_management ``` -Claude Code envía campos solo de beta como `context_management` y `effort` junto con un encabezado `anthropic-beta` que los habilita. Cuando una puerta de enlace reenvía el cuerpo pero elimina el encabezado, la API ve campos que no reconoce. +Claude Code envía campos exclusivos de beta, como `context_management`, junto con un encabezado `anthropic-beta` que los habilita. Cuando un gateway reenvía el cuerpo pero descarta el encabezado, la API ve campos que no reconoce. **Qué hacer:** -* Configure su puerta de enlace para reenviar el encabezado `anthropic-beta`. Consulte [feature pass-through](/docs/es/llm-gateway-protocol#feature-pass-through) para saber qué puertas de enlace deben reenviar. -* Como alternativa, establezca [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/es/env-vars) antes de lanzar. [Disable pre-release capabilities](/docs/es/llm-gateway-protocol#disable-pre-release-capabilities) cubre el alcance exacto. +* Configura tu gateway para que reenvíe el encabezado `anthropic-beta`. Consulta [paso de funcionalidades](/docs/es/llm-gateway-protocol#feature-pass-through) para saber qué deben reenviar los gateways. +* Como alternativa, establece [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/es/env-vars) antes de iniciar. [Desactivar las capacidades de versión preliminar](/docs/es/llm-gateway-protocol#disable-pre-release-capabilities) describe el alcance exacto.

- El esquema de entrada de herramienta no es válido + El esquema de entrada de la herramienta no es válido

-Una herramienta en la solicitud declaró un `input_schema` que falla la validación del esquema JSON de la API, por lo que la API rechazó toda la solicitud. El número después de `tools.` es la posición de la herramienta que falla en la lista de herramientas de la solicitud, no un nombre que pueda buscar. +Una herramienta de la solicitud declaró un `input_schema` que no supera la validación de JSON Schema de la API, por lo que la API rechazó toda la solicitud. El número después de `tools.` es la posición de la herramienta que falla en la lista de herramientas de la solicitud, no un nombre que puedas buscar. ```text theme={null} API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid API Error: 400 ... tools.N.custom.input_schema.properties: Property keys should match pattern '^[a-zA-Z0-9_.-]{1,64}$' ``` -La primera forma significa que el esquema no es un esquema JSON válido draft 2020-12. La segunda significa que un nombre de propiedad de nivel superior no coincide con el patrón que cita el mensaje. +La primera forma significa que el esquema no es un JSON Schema draft 2020-12 válido. La segunda significa que un nombre de propiedad de nivel superior no coincide con el patrón que cita el mensaje. -Claude Code [excluye herramientas MCP cuyo esquema de entrada fallaría esta validación](/docs/es/mcp#tools-with-invalid-input-schemas) cuando carga las herramientas de un servidor, por lo que las solicitudes normalmente nunca incluyen una. +Claude Code [excluye las herramientas MCP cuyo esquema de entrada no superaría esta validación](/docs/es/mcp#tools-with-invalid-input-schemas) cuando carga las herramientas de un servidor, por lo que normalmente las solicitudes nunca incluyen una. -En una [implementación donde la obtención de banderas está desactivada](/docs/es/env-vars#features-that-need-feature-flag-fetching), o en una máquina cuyas banderas nunca han llegado, Claude Code registra en el registro del servidor qué herramienta sería rechazada pero la envía de todas formas, por lo que este error aún puede ocurrir. +En un [despliegue donde la obtención de flags está desactivada](/docs/es/env-vars#features-that-need-feature-flag-fetching), o en una máquina a la que nunca le han llegado los flags, Claude Code anota en el registro del servidor qué herramienta sería rechazada, pero la envía de todos modos, así que este error todavía puede ocurrir. -El error también puede ocurrir para una herramienta cuyo esquema declara un dialecto de esquema JSON distinto de draft 2020-12 en `$schema`. Claude Code no verifica esos esquemas contra el meta-esquema del esquema JSON, aunque la verificación del nombre de propiedad de nivel superior aún se aplica. +El error también puede ocurrir con una herramienta cuyo esquema declara en `$schema` un dialecto de JSON Schema distinto de draft 2020-12. Claude Code no valida esos esquemas contra el metaesquema de JSON Schema, aunque la verificación de los nombres de propiedad de nivel superior sigue aplicándose. -Antes de v2.1.216, ninguna implementación ejecutaba las verificaciones de exclusión. +Antes de v2.1.216, ningún despliegue ejecutaba las verificaciones de exclusión. **Qué hacer:** -* Si su versión de Claude Code es anterior a v2.1.216, ejecute `claude update`. -* Elimine o [desactive](/docs/es/mcp#disable-a-server-without-removing-it) el servidor MCP que declara el esquema inválido. El error nombra la herramienta solo por posición. En v2.1.216 o posterior, verifique el registro de cada servidor para una línea que nombre una herramienta cuyo esquema de entrada sería rechazado. Si ningún registro nombra una, desactive los servidores uno a la vez. -* Si mantiene el servidor, corrija el `input_schema` de la herramienta. El esquema debe ser un esquema JSON válido, y los nombres de propiedad de nivel superior deben tener entre 1 y 64 caracteres de largo y usar solo letras ASCII y dígitos, `_`, `.` y `-`. Consulte [Tools with invalid input schemas](/docs/es/mcp#tools-with-invalid-input-schemas). +* Si tu versión de Claude Code es anterior a v2.1.216, ejecuta `claude update`. +* Elimina o [desactiva](/docs/es/mcp#disable-a-server-without-removing-it) el servidor MCP que declara el esquema no válido. El error identifica la herramienta solo por su posición. En v2.1.216 o posterior, revisa el registro de cada servidor en busca de una línea que nombre una herramienta cuyo esquema de entrada sería rechazado. Si ningún registro nombra una, desactiva los servidores de uno en uno. +* Si mantienes el servidor, corrige el `input_schema` de la herramienta. El esquema debe ser JSON Schema válido, y los nombres de propiedad de nivel superior deben tener entre 1 y 64 caracteres y usar solo letras y dígitos ASCII, `_`, `.` y `-`. Consulta [Herramientas con esquemas de entrada no válidos](/docs/es/mcp#tools-with-invalid-input-schemas).

- tool\_use.name superior a 200 caracteres + tool\_use.name de más de 200 caracteres

-Una llamada de herramienta en el historial de conversación lleva un nombre más largo que los 200 caracteres que la API acepta en una solicitud: +Una llamada a herramienta en el historial de la conversación lleva un nombre más largo que los 200 caracteres que la API acepta en una solicitud: ```text theme={null} API Error: 400 ... tool_use.name: String should have at most 200 characters ``` -Claude Code corta tal nombre a 200 caracteres cuando la respuesta llega y cuando carga una conversación guardada, por lo que la llamada falla con un error de herramienta ordinario `No such tool available` y la conversación continúa sin este error de API. +Claude Code recorta ese nombre a 200 caracteres cuando llega la respuesta y cuando carga una conversación guardada, por lo que la llamada falla con un error de herramienta [`No such tool available`](#no-such-tool-available) y la conversación continúa sin este error de API. **Qué hacer:** -* Ejecute `claude update`, luego reanude la conversación. La versión actualizada repara el nombre demasiado largo cuando carga la transcripción, por lo que una conversación que estaba atascada funciona de nuevo. +* Ejecuta `claude update` y luego reanuda la conversación. La versión actualizada repara el nombre demasiado largo cuando carga la transcripción, así que una conversación que estaba atascada vuelve a funcionar. -Antes de v2.1.281, el nombre demasiado largo permanecía en el historial y la API rechazaba cada solicitud que reenviaba la conversación, incluyendo `/compact` y `--resume`, por lo que este error se repetía y la conversación estaba atascada. +Antes de v2.1.281, el nombre demasiado largo permanecía en el historial y la API rechazaba cada solicitud que volvía a enviar la conversación, incluidos `/compact` y `--resume`, por lo que este error se repetía y la conversación quedaba atascada.

Hay un problema con el modelo seleccionado

-El nombre del modelo configurado no fue reconocido o su cuenta carece de acceso a él. A partir de v2.1.160, la sugerencia final, que se muestra aquí en su forma interactiva, varía según la superficie. +El nombre del modelo configurado no se reconoció o tu cuenta no tiene acceso a él. A partir de v2.1.160, la sugerencia final, que aquí se muestra en su forma interactiva, varía según la superficie. ```text theme={null} There's an issue with the selected model (claude-...). It may not exist or you may not have access to it. Run /model to pick a different model. @@ -2381,230 +2420,253 @@ There's an issue with the selected model (claude-...). It may not exist or you m **Qué hacer:** -* **CLI interactivo**: ejecute `/model` para elegir entre los modelos disponibles para su cuenta. -* **Modo no interactivo (`-p`)**: pase `--model` con un alias o ID válido, o establezca [`ANTHROPIC_MODEL`](/docs/es/env-vars). El texto de error muestra `Run --model` en esta superficie. -* **Agent SDK**: el texto de error omite la sugerencia porque el modelo se establece mediante programación. Establezca [`model` en `Options`](/docs/es/agent-sdk/typescript#options) en TypeScript o [`ClaudeAgentOptions(model=...)`](/docs/es/agent-sdk/python#claudeagentoptions) en Python, y maneje el error estructurado `model_not_found` para mostrar su propio reintento o selector de modelo. -* Use un alias como `sonnet` u `opus` en lugar de un ID completamente versionado. Los alias se resuelven a un valor predeterminado mantenido para que no se vuelvan obsoletos. Consulte [Model configuration](/docs/es/model-config). -* Si el modelo incorrecto sigue apareciendo en la CLI, un ID obsoleto está configurado en algún lugar. Verifique los lugares donde puede establecer un modelo en [orden de prioridad](/docs/es/model-config#setting-your-model) y elimine el valor obsoleto. -* Claude Code reporta un inicio de sesión de claude.ai expirado como [Login expired](#login-expired), no como este error. Antes de v2.1.206, un inicio de sesión expirado que ya no se podía actualizar fallaba en cada modelo con este error; ejecute `/login` si ve eso en una versión anterior. -* Para implementaciones de la plataforma de agentes de Google Cloud, consulte [Solución de problemas de la plataforma de agentes de Google Cloud](/docs/es/google-vertex-ai#troubleshooting). +* **CLI interactiva**: ejecuta `/model` para elegir entre los modelos disponibles para tu cuenta. +* **Modo no interactivo (`-p`)**: pasa `--model` con un alias o ID válido, o establece [`ANTHROPIC_MODEL`](/docs/es/env-vars). En esta superficie, el texto del error muestra `Run --model`. +* **Agent SDK**: el texto del error omite la sugerencia porque el modelo se establece mediante programación. Establece [`model` en `Options`](/docs/es/agent-sdk/typescript#options) en TypeScript o [`ClaudeAgentOptions(model=...)`](/docs/es/agent-sdk/python#claudeagentoptions) en Python, y maneja el error estructurado `model_not_found` para mostrar tu propio reintento o selector de modelo. +* Usa un alias como `sonnet` u `opus` en lugar de un ID completo con versión. Los alias se resuelven a un valor predeterminado que se mantiene actualizado, así que no quedan obsoletos. Consulta [Configuración del modelo](/docs/es/model-config). +* Si el modelo incorrecto sigue reapareciendo en la CLI, hay un ID obsoleto configurado en algún lugar. Revisa los lugares donde puedes establecer un modelo en [orden de prioridad](/docs/es/model-config#setting-your-model) y elimina el valor obsoleto. +* Claude Code reporta un inicio de sesión de claude.ai expirado como [Inicio de sesión expirado](#login-expired), no como este error. Antes de v2.1.206, un inicio de sesión expirado que ya no se podía renovar hacía fallar todos los modelos con este error; ejecuta `/login` si ves eso en una versión anterior. +* Para despliegues en Agent Platform de Google Cloud, consulta [Solución de problemas de Agent Platform de Google Cloud](/docs/es/google-vertex-ai#troubleshooting).

El modelo no es un ID de modelo reconocido

-La cadena que pasó a un cambio de modelo no es una que Claude Code pueda usar como modelo, por lo que rechazó el cambio sin enviar una solicitud y la sesión mantiene su modelo actual. Puede obtener este error cuando un modelo se establece a través del método [Agent SDK](/docs/es/agent-sdk/typescript) `setModel()`, por una aplicación que ejecuta la CLI de Claude Code para usted, como la [aplicación de escritorio](/docs/es/desktop), o cuando elige un modelo desde un dispositivo conectado a través de [Remote Control](/docs/es/remote-control). Antes de v2.1.200, Claude Code guardaba la cadena y fallaba en la siguiente solicitud con [There's an issue with the selected model](#theres-an-issue-with-the-selected-model). +La cadena que pasaste a un cambio de modelo no es una que Claude Code pueda usar como modelo, por lo que rechazó el cambio sin enviar ninguna solicitud y la sesión mantiene su modelo actual. Puedes obtener este error cuando un modelo se establece mediante el método `setModel()` del [Agent SDK](/docs/es/agent-sdk/typescript), mediante una aplicación que ejecuta la CLI de Claude Code por ti, como la [aplicación de escritorio](/docs/es/desktop), o cuando eliges un modelo desde un dispositivo conectado mediante [Remote Control](/docs/es/remote-control). Antes de v2.1.200, Claude Code guardaba la cadena y fallaba en la siguiente solicitud con [Hay un problema con el modelo seleccionado](#theres-an-issue-with-the-selected-model). ```text theme={null} Model "Sonnet5" is not a recognized model id. Did you mean 'claude-sonnet-5'? ``` -En este ejemplo una aplicación envió el nombre para mostrar `Sonnet 5`, que el mensaje repite sin su espacio. La sugerencia final nombra el alias o ID de modelo más cercano. Cuando nada es lo suficientemente cercano, dice `Run /model to see available models.` en su lugar. En una sesión que la [aplicación de escritorio](/docs/es/desktop) inicia para usted, la sugerencia sin coincidencia dice `Switch to a different model.` +En este ejemplo, una aplicación envió el nombre visible `Sonnet 5`, que el mensaje repite sin el espacio. La sugerencia final nombra el alias o ID de modelo más parecido. Cuando nada se parece lo suficiente, dice `Run /model to see available models.` en su lugar. En una sesión que la [aplicación de escritorio](/docs/es/desktop) inicia por ti, la sugerencia sin coincidencias dice `Switch to a different model.` -Cuando cambia a través del Agent SDK o una aplicación en la API de Anthropic, solo una cadena que no puede ser un ID de modelo obtiene este error, como un nombre para mostrar o una cadena vacía. +Cuando cambias de modelo mediante el Agent SDK o una aplicación en la API de Anthropic, solo recibe este error una cadena que no puede ser un ID de modelo, como un nombre visible o una cadena vacía. -Cuando elige un modelo desde un dispositivo Remote Control, Claude Code verifica la cadena localmente. Cualquier cadena que no sea un alias de modelo, un modelo que Claude Code enumera o que usted configuró, o un ID que comienza con `claude-` obtiene este error, un ID mal escrito como `claud-sonnet-5` incluido. Antes de v2.1.260, esta verificación no cubría las selecciones de Remote Control, por lo que una cadena no reconocida se aplicaba y fallaba en la siguiente solicitud. +Cuando eliges un modelo desde un dispositivo con Remote Control, Claude Code verifica la cadena localmente. Cualquier cadena que no sea un alias de modelo, un modelo que Claude Code enumera o que configuraste, o un ID que empiece por `claude-` recibe este error, incluido un ID mal escrito como `claud-sonnet-5`. Antes de v2.1.260, esta verificación no cubría las selecciones hechas con Remote Control, por lo que una cadena no reconocida se aplicaba y fallaba en la siguiente solicitud. **Qué hacer:** -* Ejecute `/model` sin argumento para abrir el selector y elegir entre los modelos disponibles para su cuenta, luego pase el alias o ID que se muestra allí -* Si usó un alias que una versión más nueva de Claude Code admite, ejecute `claude update`, o pase el ID completo del modelo en su lugar. El servidor aún puede requerir una versión mínima de Claude Code para ese modelo; consulte [Claude Code does not support this model](#claude-code-does-not-support-this-model). -* Un modelo guardado antes de v2.1.200 no se repara con esta verificación. Si un valor obsoleto sigue apareciendo, elimínelo de las ubicaciones enumeradas en [Setting your model](/docs/es/model-config#setting-your-model). -* En cualquier proveedor que no sea la API de Anthropic, o detrás de una puerta de enlace o `ANTHROPIC_BASE_URL` personalizado, solo una cadena vacía obtiene este error. Claude Code aún puede escribir la [línea de diagnóstico de modelo no reconocido](#unrecognized-model-id-on-a-request) en el momento de la solicitud, en cada proveedor. +* Ejecuta `/model` sin argumentos para abrir el selector y elegir entre los modelos disponibles para tu cuenta; luego pasa el alias o ID que se muestra ahí +* Si usaste un alias que solo admite una versión más reciente de Claude Code, ejecuta `claude update` o, en su lugar, pasa el ID completo del modelo. El servidor aún puede exigir una versión mínima de Claude Code para ese modelo; consulta [Claude Code no admite este modelo](#claude-code-does-not-support-this-model). +* Esta verificación no repara un modelo guardado antes de v2.1.200. Si un valor obsoleto sigue reapareciendo, elimínalo de las ubicaciones indicadas en [Establecer tu modelo](/docs/es/model-config#setting-your-model). +* En cualquier proveedor distinto de la API de Anthropic, o detrás de un gateway o un `ANTHROPIC_BASE_URL` personalizado, solo una cadena vacía recibe este error. Claude Code aún puede escribir la [línea de diagnóstico de modelo no reconocido](#unrecognized-model-id-on-a-request) en el momento de la solicitud, en cualquier proveedor.

Modelo no encontrado

-Cambió a un modelo por nombre y Claude Code no pudo confirmar que existe un modelo con ese nombre. Cuando el nombre no es un [alias de modelo](/docs/es/model-config#model-aliases) u otra ortografía que Claude Code acepta localmente, Claude Code lo verifica con una solicitud mínima de API, y este error es generalmente la respuesta de su punto final de API. Con `/model `, un nombre que no puede ser un ID de modelo en absoluto, como uno que contiene espacios, obtiene el mismo mensaje. +Cambiaste a un modelo por su nombre y Claude Code no pudo confirmar que exista un modelo con ese nombre. Cuando el nombre no es un [alias de modelo](/docs/es/model-config#model-aliases) ni otra grafía que Claude Code acepte localmente, Claude Code lo verifica con una solicitud mínima a la API, y este error suele ser la respuesta de tu endpoint de API. Con `/model `, un nombre que no puede ser un ID de modelo en absoluto, como uno que contiene espacios, recibe el mismo mensaje. ```text theme={null} Model 'claude-opus-9' not found ``` -En proveedores con ID de modelo específicos del proveedor, el mensaje puede agregar una sugerencia `Try '...' instead` que nombra el ID de su proveedor para un modelo alternativo. +En proveedores con ID de modelo propios del proveedor, el mensaje puede agregar una sugerencia `Try '...' instead` que nombra el ID de tu proveedor para un modelo de respaldo. **Qué hacer:** -* Ejecute `/model` sin argumento y elija entre los modelos disponibles para su cuenta, o use un [alias de modelo](/docs/es/model-config#model-aliases) como `sonnet`, que se resuelve a un valor predeterminado mantenido -* Si escribió un ID completo, verifíquelo contra el catálogo de modelos de su proveedor. Un modelo recién lanzado puede estar disponible en la API de Anthropic antes de que su proveedor o región lo ofrezca. -* En el Agent SDK, `setModel()` falla con este mensaje y la sesión sigue ejecutándose en su modelo anterior. En el SDK de TypeScript, llame a [`supportedModels()`](/docs/es/agent-sdk/typescript#query-object) para enumerar los modelos a los que puede cambiar. -* Antes de v2.1.265, `/model` también rechazaba la ortografía del alias `opusplan[1m]` con este error. En esas versiones, actualice Claude Code, o establezca el modelo en [settings](/docs/es/model-config#setting-your-model) o con `--model` en su lugar. +* Ejecuta `/model` sin argumentos y elige entre los modelos disponibles para tu cuenta, o usa un [alias de modelo](/docs/es/model-config#model-aliases) como `sonnet`, que se resuelve a un valor predeterminado que se mantiene actualizado +* Si escribiste un ID completo, compáralo con el catálogo de modelos de tu proveedor. Un modelo recién lanzado puede estar disponible en la API de Anthropic antes de que tu proveedor o región lo ofrezca. +* En el Agent SDK, `setModel()` falla con este mensaje y la sesión sigue ejecutándose con su modelo anterior. En el SDK de TypeScript, llama a [`supportedModels()`](/docs/es/agent-sdk/typescript#query-object) para enumerar los modelos a los que puedes cambiar. +* Antes de v2.1.265, `/model` también rechazaba la grafía del alias `opusplan[1m]` con este error. En esas versiones, actualiza Claude Code, o establece el modelo en la [configuración](/docs/es/model-config#setting-your-model) o con `--model`.

No se pudo confirmar el modelo con la API

-Cambió de modelos a través del método [Agent SDK](/docs/es/agent-sdk/typescript) `setModel()` o una aplicación que ejecuta la CLI de Claude Code para usted, como la [aplicación de escritorio](/docs/es/desktop), y la solicitud que confirma el ID del modelo con su punto final de API no obtuvo respuesta dentro de cinco segundos. La sesión mantiene su modelo actual. +Cambiaste de modelo mediante el método `setModel()` del [Agent SDK](/docs/es/agent-sdk/typescript) o mediante una aplicación que ejecuta la CLI de Claude Code por ti, como la [aplicación de escritorio](/docs/es/desktop), y la solicitud que confirma el ID del modelo con tu endpoint de API no obtuvo respuesta en cinco segundos. La sesión mantiene su modelo actual. ```text theme={null} Couldn't confirm model "claude-sonnet-5" with the API. Try again, or run /model to see available models. ``` -En una sesión que la [aplicación de escritorio](/docs/es/desktop) inicia para usted, el mensaje termina en `Try again.` +En una sesión que la [aplicación de escritorio](/docs/es/desktop) inicia por ti, el mensaje termina en `Try again.` **Qué hacer:** -* Cambie al modelo de nuevo -* Si el cambio sigue fallando, verifique que Claude Code pueda alcanzar su punto final de API; consulte [Network and connection errors](#network-and-connection-errors) +* Vuelve a cambiar al modelo +* Si el cambio sigue fallando, comprueba que Claude Code pueda conectarse a tu endpoint de API; consulta [Errores de red y de conexión](#network-and-connection-errors)

- Error de API al verificar el modelo seleccionado + Error de API al verificar el modelo elegido

-Eligió un modelo con `/model `, o una aplicación conectada a la sesión solicitó el cambio. La API rechazó la solicitud mínima que Claude Code envía para verificar el modelo, por una razón que no tiene entrada propia, como un límite de velocidad o un error del servidor. La sesión mantiene su modelo actual, y el mensaje termina diciendo así: +Elegiste un modelo con `/model `, o una aplicación conectada a la sesión solicitó el cambio. La API rechazó la solicitud mínima que Claude Code envía para verificar el modelo por un motivo que no tiene una entrada propia, como un rate limit o un error del servidor. La sesión mantiene su modelo actual, y el mensaje termina indicándolo: ```text theme={null} API error: 429 · model not changed ``` -El medio del mensaje es el estado HTTP y la explicación propia del servidor. +La parte central del mensaje es el código de estado HTTP y la explicación del propio servidor. **Qué hacer:** -* Actúe sobre la explicación del servidor; para un límite de velocidad o un estado 5xx, espere y elija el modelo de nuevo -* Los rechazos con su propia redacción están cubiertos por las entradas circundantes, como [Model not found](#model-not-found) y [Model is restricted by your organization's settings](#model-is-restricted-by-your-organizations-settings) +* Actúa según la explicación del servidor; ante un rate limit o un estado 5xx, espera y vuelve a elegir el modelo +* Los rechazos con redacción propia se tratan en las entradas cercanas, como [Modelo no encontrado](#model-not-found) y [El modelo está restringido por la configuración de tu organización](#model-is-restricted-by-your-organizations-settings)

Claude Opus no está disponible con el plan Claude Pro

-Su plan de suscripción activo no incluye el modelo que seleccionó. +Tu plan de suscripción activo no incluye el modelo que seleccionaste. ```text theme={null} Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect. ``` -En una sesión que la aplicación de escritorio Claude inicia, el mensaje dice que `sign out and sign in again` en lugar de nombrar los comandos. +En una sesión que ejecuta la aplicación de escritorio de Claude, el mensaje dice `sign out and sign in again` en lugar de nombrar los comandos. **Qué hacer:** -* Ejecute `/model` y seleccione un modelo que su plan incluya -* Si actualizó su plan recientemente y aún ve esto, ejecute `/logout` y luego `/login`. El token almacenado refleja su plan en el momento en que inició sesión, por lo que actualizar en claude.ai no tiene efecto en una sesión existente hasta que se reautentique. -* Consulte [claude.com/pricing](https://claude.com/pricing) para ver qué modelos incluye cada plan +* Ejecuta `/model` y selecciona un modelo que incluya tu plan +* Si actualizaste tu plan recientemente y aún ves esto, ejecuta `/logout` y luego `/login`. El token almacenado refleja tu plan en el momento en que iniciaste sesión, por lo que una mejora de plan en claude.ai no tiene efecto en una sesión existente hasta que vuelvas a autenticarte. +* Consulta [claude.com/pricing](https://claude.com/pricing) para ver qué modelos incluye cada plan

Claude Code no admite este modelo

-La API rechazó la solicitud con un 400 porque su versión de Claude Code está por debajo de un mínimo requerido. Ya sea que el modelo que seleccionó requiera una versión más nueva, que el servidor verifica por modelo, o que la política de su organización requiera una. El 400 lleva el código de error `claude_code_version_too_old`, y el mensaje dice cuál es el mínimo que se aplica. +La API rechazó la solicitud con un 400 porque tu versión de Claude Code está por debajo de un mínimo requerido. O bien el modelo que seleccionaste requiere una versión más reciente, algo que el servidor verifica por modelo, o bien la política de tu organización la exige. El 400 incluye el código de error `claude_code_version_too_old`, y el mensaje indica qué mínimo se aplica. ```text theme={null} API Error: 400 Claude Code 2.1.219 does not support this model; version 2.1.255 or newer is required. Run 'claude update', or update the Claude desktop app, then try again. ``` -La redacción de la política organizacional dice: +La redacción de la política de la organización dice: ```text theme={null} API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue. ``` -La versión que la API verifica es la que reporta el binario de Claude Code que realizó la solicitud. +La versión que verifica la API es la que reporta el binario de Claude Code que hizo la solicitud. **Qué hacer:** -Actualice ese binario, luego comience una nueva sesión. De dónde vino el binario decide cómo, excepto en un [entorno autohospedado](/docs/es/self-hosted-environments-deploy#pin-the-version): +Actualiza ese binario y luego inicia una nueva sesión. La forma de hacerlo depende de la procedencia del binario, salvo en un [entorno autohospedado](/docs/es/self-hosted-environments-deploy#pin-the-version): -| El binario que realizó la solicitud | Cómo actualizarlo | +| El binario que hizo la solicitud | Cómo actualizarlo | | :- | :- | -| Un Claude Code que instaló | Ejecute `claude update` | -| La aplicación de escritorio Claude | Actualice la aplicación | -| El binario que agrupa la [extensión VS Code](/docs/es/vs-code) | Actualice la extensión | -| El binario que agrupa un paquete Agent SDK | [Actualice el paquete SDK](/docs/es/agent-sdk/hosting#runtime-dependencies), luego reinicie su aplicación. En un [ejecutable de archivo único compilado](/docs/es/agent-sdk/typescript#compile-to-a-single-executable), reconstruyalo | +| Un Claude Code que instalaste | Ejecuta `claude update` | +| La aplicación de escritorio de Claude | Actualiza la aplicación | +| El binario que incluye la [extensión de VS Code](/docs/es/vs-code) | Actualiza la extensión | +| El binario que incluye un paquete del Agent SDK | [Actualiza el paquete del SDK](/docs/es/agent-sdk/hosting#runtime-dependencies) y luego reinicia tu aplicación. En un [ejecutable compilado de un solo archivo](/docs/es/agent-sdk/typescript#compile-to-a-single-executable), vuelve a compilarlo | -* Para la redacción por modelo, puede seguir trabajando en la sesión actual cambiando a otro modelo: ejecute `/model` en la CLI, llame a [`setModel()`](/docs/es/agent-sdk/typescript#query-object) en el objeto `Query` del SDK de TypeScript en modo de entrada de transmisión, o llame a [`set_model()`](/docs/es/agent-sdk/python#claudesdkclient) en el `ClaudeSDKClient` del SDK de Python -* Para la redacción de la política organizacional, actualice antes de continuar +* Con la redacción por modelo, puedes seguir trabajando en la sesión actual cambiando a otro modelo: ejecuta `/model` en la CLI, llama a [`setModel()`](/docs/es/agent-sdk/typescript#query-object) en el objeto `Query` del SDK de TypeScript en modo de entrada en streaming, o llama a [`set_model()`](/docs/es/agent-sdk/python#claudesdkclient) en el `ClaudeSDKClient` del SDK de Python +* Con la redacción de la política de la organización, actualiza antes de continuar

- El modelo está restringido por la configuración de su organización + El modelo está restringido por la configuración de tu organización

-Su administrador de organización ha deshabilitado este modelo en la consola de administración de claude.ai, o está excluido por la configuración administrada a través de una lista de permitidos [`availableModels`](/docs/es/model-config#restrict-model-selection) o una lista [`deniedModels`](/docs/es/model-config#block-specific-models-or-versions). El aviso aparece al inicio cuando `--model`, `ANTHROPIC_MODEL` o la configuración `model` nombró el modelo restringido, y nombra el modelo que la sesión usa en su lugar. Si la configuración administrada no deja ningún modelo permitido para que la sesión use, consulte [Managed settings block the default model](#managed-settings-block-the-default-model). El aviso de sustitución también puede aparecer a mitad de sesión después de que un administrador desactive el modelo en el que se ejecuta una sesión en la consola de administración de claude.ai. +El administrador de tu organización deshabilitó este modelo en la consola de administración de claude.ai, o la configuración administrada lo excluye mediante una lista de permitidos [`availableModels`](/docs/es/model-config#restrict-model-selection) o una lista [`deniedModels`](/docs/es/model-config#block-specific-models-or-versions). El aviso aparece al inicio cuando `--model`, `ANTHROPIC_MODEL` o el ajuste `model` indicaron el modelo restringido, y nombra el modelo que la sesión usa en su lugar. Si la configuración administrada no deja ningún modelo permitido que la sesión pueda usar, consulta [La configuración administrada bloquea el modelo predeterminado](#managed-settings-block-the-default-model). El aviso de sustitución también puede aparecer a mitad de la sesión cuando un administrador deshabilita en la consola de administración de claude.ai el modelo con el que se está ejecutando la sesión. ```text theme={null} Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead. ``` -Escribir `/model ` para un modelo restringido se rechaza y la sesión mantiene su modelo actual. Para un modelo deshabilitado en la consola de administración, el rechazo dice `Model '' is restricted by your organization's settings. Run /model to choose a different model.` Para un modelo que la configuración administrada excluye, dice `Model '' is not available. Your organization restricts model selection.` +Si escribes `/model ` con un modelo restringido, se rechaza y la sesión mantiene su modelo actual. Para un modelo deshabilitado en la consola de administración, el rechazo dice `Model '' is restricted by your organization's settings. Run /model to choose a different model.` Para un modelo que excluye la configuración administrada, dice `Model '' is not available. Your organization restricts model selection.` -Un aviso prefijado con un nombre de agente, habilidad o comando significa que la restricción se aplicó a ese [modelo solicitado del subagente](/docs/es/sub-agents#choose-a-model): el subagente se ejecuta en el modelo sustituido y el modelo de su sesión no cambia. Antes de v2.1.223, Claude Code mostraba el aviso solo para subagentes lanzados con la herramienta Agent. +Un aviso precedido por el nombre de un agente, skill o comando significa que la restricción se aplicó al [modelo solicitado por ese subagente](/docs/es/sub-agents#choose-a-model): el subagente se ejecuta con el modelo sustituto y el modelo de tu sesión no cambia. Antes de v2.1.223, Claude Code mostraba el aviso solo para los subagentes iniciados con la herramienta Agent. -Claude Code trata un alias de familia de modelo, uno de `opus`, `sonnet`, `haiku` o `fable`, como una solicitud de esa familia en lugar de su versión más nueva. En la API de Anthropic y en [Claude Platform on AWS](/docs/es/claude-platform-on-aws), un alias de familia restringido se resuelve a la versión más nueva de la familia que la configuración de su organización permite, y el aviso de sustitución nombra esa versión. Claude Code rechaza `/model ` solo cuando cada versión de la familia está restringida. Antes de v2.1.205, un alias de familia se sustituía o rechazaba basándose solo en su versión más nueva, incluso cuando una versión anterior de la misma familia estaba permitida. +Claude Code trata un alias de familia de modelos, ya sea `opus`, `sonnet`, `haiku` o `fable`, como una solicitud de esa familia y no de su versión más reciente. En la API de Anthropic y en [Claude Platform on AWS](/docs/es/claude-platform-on-aws), un alias de familia restringido se resuelve a la versión más reciente de la familia que permite la configuración de tu organización, y el aviso de sustitución nombra esa versión. Claude Code rechaza `/model ` solo cuando todas las versiones de la familia están restringidas. Antes de v2.1.205, un alias de familia se sustituía o rechazaba basándose únicamente en su versión más reciente, incluso cuando una versión anterior de la misma familia estaba permitida. **Qué hacer:** -* Ejecute `/model` para elegir entre los modelos que su organización permite. Los modelos restringidos están ocultos en el selector. -* Si el modelo restringido se estableció en `--model`, `ANTHROPIC_MODEL`, el campo `model` de un archivo de configuración, o el frontmatter `model` de un [subagente](/docs/es/sub-agents#choose-a-model), habilidad o comando, elimine o actualice ese valor para que el aviso no se repita -* Si necesita acceso al modelo restringido, pida a su administrador de organización que lo habilite. Consulte [Organization model restrictions](/docs/es/model-config#organization-model-restrictions). +* Ejecuta `/model` para elegir entre los modelos que permite tu organización. Los modelos restringidos no aparecen en el selector. +* Si el modelo restringido se estableció en `--model`, en `ANTHROPIC_MODEL`, en el campo `model` de un archivo de configuración o en el frontmatter `model` de un [subagente](/docs/es/sub-agents#choose-a-model), skill o comando, elimina o actualiza ese valor para que el aviso no se repita +* Si necesitas acceso al modelo restringido, pídele al administrador de tu organización que lo habilite. Consulta [Restricciones de modelos de la organización](/docs/es/model-config#organization-model-restrictions).

No se puede cambiar al modelo predeterminado

-Eligió el modelo Predeterminado, por ejemplo seleccionando la fila Predeterminada en el selector `/model` o escribiendo `/model default`. Claude Code rechazó el cambio, por lo que la sesión mantiene su modelo actual. +Elegiste el modelo Predeterminado, por ejemplo seleccionando la fila Predeterminado en el selector de `/model` o escribiendo `/model default`. Claude Code rechazó el cambio, por lo que la sesión mantiene su modelo actual. ```text theme={null} Can't switch to the default model: your organization's managed settings block it (claude-opus-4-6) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels". ``` -La redacción después de los dos puntos nombra lo que bloqueó el cambio: +El texto después de los dos puntos indica qué bloqueó el cambio: -* **`your organization's managed settings block it ... in "deniedModels"`**: una lista de negación administrada bloquea el modelo al que se resuelve la opción Predeterminada -* **`your organization allows only the models listed in "availableModels"`**: una lista de permitidos [`availableModels`](/docs/es/model-config#restrict-model-selection) administrada con [`availableModelsMatch`](/docs/es/settings-reference#availablemodelsmatch) establecido en `"exact"` deja fuera el modelo al que se resuelve la opción Predeterminada -* **`Claude Code couldn't read your organization's managed settings to check which models they allow`**: la [configuración administrada](/docs/es/managed-settings) no se pudo leer, y Claude Code rechaza el cambio en lugar de aplicarlo sin verificar +* **`your organization's managed settings block it ... in "deniedModels"`**: una lista de denegación administrada bloquea el modelo al que se resuelve la opción Predeterminado +* **`your organization allows only the models listed in "availableModels"`**: una lista de permitidos [`availableModels`](/docs/es/model-config#restrict-model-selection) administrada, con [`availableModelsMatch`](/docs/es/settings-reference#availablemodelsmatch) establecido en `"exact"`, deja fuera el modelo al que se resuelve la opción Predeterminado +* **`Claude Code couldn't read your organization's managed settings to check which models they allow`**: no se pudo leer la [configuración administrada](/docs/es/managed-settings), y Claude Code rechaza el cambio en lugar de aplicarlo sin verificar **Qué hacer:** -* Para las redacciones [`deniedModels`](/docs/es/settings-reference#deniedmodels) y `availableModels`, ejecute `/model` y elija un modelo que su organización permita por nombre -* Pida a su administrador que actualice la configuración administrada que el mensaje nombra -* Para la redacción `couldn't read`, reinicie Claude Code; si sigue sucediendo, pida a su administrador que verifique la configuración administrada +* Con las redacciones de [`deniedModels`](/docs/es/settings-reference#deniedmodels) y `availableModels`, ejecuta `/model` y elige por su nombre un modelo que permita tu organización +* Pídele a tu administrador que actualice el ajuste administrado que nombra el mensaje +* Con la redacción `couldn't read`, reinicia Claude Code; si sigue ocurriendo, pídele a tu administrador que revise la configuración administrada -Si una sesión en su lugar falla al iniciarse con un mensaje `Claude Code can't start` bajo esta configuración administrada, consulte [Managed settings block the default model](#managed-settings-block-the-default-model). +Si en cambio una sesión no logra iniciarse y muestra un mensaje `Claude Code can't start` con esta configuración administrada, consulta [La configuración administrada bloquea el modelo predeterminado](#managed-settings-block-the-default-model).

- El cambio de modelo fue bloqueado por un hook PreModelSwitch + Un hook PreModelSwitch bloqueó el cambio de modelo

-Un [hook PreModelSwitch](/docs/es/hooks#premodelswitch) no aprobó el cambio de modelo que usted o un cliente solicitó, por lo que la sesión mantiene su modelo actual. Cuando el cambio provino de un host [Agent SDK](/docs/es/agent-sdk/overview) o [Remote Control](/docs/es/remote-control) en lugar de un comando que escribió, el mensaje dice `Model switch blocked by a PreModelSwitch hook` sin nombrar el modelo de destino. +Un [hook PreModelSwitch](/docs/es/hooks#premodelswitch) no aprobó el cambio de modelo que tú o un cliente solicitaron, por lo que la sesión mantiene su modelo actual. Cuando el cambio provino de un host del [Agent SDK](/docs/es/agent-sdk/overview) o de [Remote Control](/docs/es/remote-control) en lugar de un comando que escribiste, el mensaje dice `Model switch blocked by a PreModelSwitch hook` sin nombrar el modelo de destino. ```text theme={null} Model switch to Opus 4.6 was blocked by a PreModelSwitch hook: Opus 4.6 is retired for this project. Use a newer model. ``` -La razón después de los dos puntos dice qué rechazó el cambio: +El motivo después de los dos puntos indica qué rechazó el cambio: -* **Una razón que escribió un hook**: un hook PreModelSwitch proporcionó esa razón cuando [negó el cambio o pidió confirmación](/docs/es/hooks#premodelswitch-decision-control). Aborde lo que pide, o elija un modelo que sus hooks permitan. -* **`PreModelSwitch hook did not respond before its timeout`**: un hook que no responde antes de su [timeout](/docs/es/hooks#timeouts) bloquea el cambio. Corrija el comando colgado o aumente el `timeout` de ese hook, luego cambie de nuevo. -* **`confirmation required, and this session cannot ask`**: un hook respondió `ask` sin una razón, y una solicitud de control no tiene forma de mostrar el mensaje de confirmación. Una orden `/model` en una ejecución [`-p`](/docs/es/headless) reporta la misma condición con `(run /model interactively to confirm)` después de la razón. Haga el cambio desde una sesión interactiva, o cambie la decisión del hook para este modelo. -* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code no pudo determinar qué hooks PreModelSwitch sus [plugins administrados](/docs/es/settings-reference#enabledplugins) de la organización entregan, por ejemplo porque un plugin administrado no se cargó. Uno de esos hooks podría bloquear el cambio, por lo que Claude Code se niega en lugar de aplicar el cambio sin verificar. El inicio de la razón nombra qué falló. Claude Code vuelve a verificar en cada intento de cambio, por lo que una falla que se ha aclarado desde entonces deja de bloquear; si sigue fallando, ejecute `claude --debug` y cambie de nuevo para capturar los detalles, luego corrija el plugin o pida a su administrador que lo corrija. -* **`a PreModelSwitch hook failed before answering`** o **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: la ejecución del hook terminó sin un veredicto, y Claude Code no trata eso como aprobación. Ejecute `claude --debug` para ver qué falló, luego cambie de nuevo. +* **Un motivo escrito por un hook**: un hook PreModelSwitch proporcionó ese motivo cuando [denegó el cambio o pidió confirmación](/docs/es/hooks#premodelswitch-decision-control). Atiende lo que pide, o elige un modelo que tus hooks permitan. +* **`PreModelSwitch hook did not respond before its timeout`**: un hook que no responde antes de que se agote su [tiempo de espera](/docs/es/hooks#timeouts) bloquea el cambio. Corrige el comando que se queda colgado o aumenta el `timeout` de ese hook, y luego vuelve a cambiar. +* **`confirmation required, and this session cannot ask`**: un hook respondió `ask` sin un motivo, y una solicitud de control no tiene forma de mostrar la solicitud de confirmación. Un comando `/model` en una [ejecución con `-p`](/docs/es/headless) reporta la misma condición con `(run /model interactively to confirm)` después del motivo. Haz el cambio desde una sesión interactiva, o cambia la decisión del hook para este modelo. +* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code no pudo determinar qué hooks PreModelSwitch entregan los [plugins administrados](/docs/es/settings-reference#enabledplugins) de tu organización, por ejemplo porque un plugin administrado no se cargó. Uno de esos hooks podría bloquear el cambio, así que Claude Code lo rechaza en lugar de aplicarlo sin verificar. El principio del motivo indica qué falló. Claude Code vuelve a verificar en cada intento de cambio, por lo que un fallo que ya se resolvió deja de bloquear; si sigue fallando, ejecuta `claude --debug` y vuelve a cambiar para capturar los detalles, y luego corrige el plugin o pídele a tu administrador que lo corrija. +* **`a PreModelSwitch hook failed before answering`** o **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: la ejecución del hook terminó sin un veredicto, y Claude Code no lo trata como una aprobación. Ejecuta `claude --debug` para ver qué falló y luego vuelve a cambiar. -Antes de v2.1.260, el rechazo del plugin administrado decía `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`. Claude Code reintentó la carga del plugin una vez y luego rechazó cambios posteriores en la sesión, incluso cuando su organización no administraba plugins. Reinicie la sesión para ejecutar la carga del plugin de nuevo en esas versiones. +Antes de v2.1.260, el rechazo por plugins administrados decía `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`. Claude Code reintentaba la carga del plugin una vez y luego rechazaba los cambios posteriores en la sesión, incluso cuando tu organización no administraba ningún plugin. En esas versiones, reinicia la sesión para volver a ejecutar la carga del plugin.

- No se pudo guardar como su valor predeterminado + No se pudo guardar como tu valor predeterminado

-Eligió un modelo para guardar como su valor predeterminado, por ejemplo con `/model ` o `Enter` en el selector `/model`, y Claude Code no pudo escribir la selección en su archivo de configuración de usuario, `~/.claude/settings.json`. El cambio en sí se aplicó, por lo que la sesión actual se ejecuta en el modelo que eligió, pero su valor predeterminado no cambia y la siguiente sesión comienza con el valor anterior. +Elegiste un modelo para guardarlo como tu valor predeterminado, por ejemplo con `/model ` o con `Enter` en el selector de `/model`, y Claude Code no pudo escribir la selección en tu archivo de configuración de usuario, `~/.claude/settings.json`. El cambio en sí se aplicó, por lo que la sesión actual se ejecuta con el modelo que elegiste, pero tu valor predeterminado no cambia y la siguiente sesión comienza con el valor anterior. ```text theme={null} Set model to Fable 5.1 for this session only · couldn't save it as your default: ~/.claude/settings.json can't be written (EROFS) ``` -La razón después de la ruta del archivo dice qué falló: +El motivo después de la ruta del archivo indica qué falló: + +* **`can't be written ()`**: la escritura falló con el código de error del sistema operativo que aparece entre paréntesis, como `EROFS` cuando el archivo, o el archivo al que enlaza, está en un sistema de archivos que rechaza escrituras. Haz que el archivo sea escribible y vuelve a cambiar. Si otra herramienta genera el archivo, establece la clave `model` en esa herramienta; consulta [Un cambio que hiciste en Claude Code se pierde en las sesiones nuevas](/docs/es/settings#a-change-you-made-in-claude-code-is-lost-in-new-sessions). +* **`isn't valid JSON`**: el archivo en disco no se puede analizar, y Claude Code lo deja intacto en lugar de sobrescribir contenido que no puede volver a leer. Corrige el error de sintaxis y vuelve a cambiar; consulta [Corregir un archivo de configuración dañado](/docs/es/settings#fix-a-broken-settings-file). + +Un aviso que termina en `couldn't confirm it was saved as your default (~/.claude/settings.json is still being written)` significa que la escritura no había terminado después de tres segundos. Continúa en segundo plano, por lo que el valor predeterminado aún podría guardarse; comprueba con qué modelo comienza tu siguiente sesión, o vuelve a ejecutar `/model `. + +Antes de v2.1.265, el aviso decía que el modelo se había `saved as your default for new sessions` incluso cuando la escritura fallaba. + +

+ El asesor es menos capaz que el modelo principal actual +

+ +Tu [modelo asesor](/docs/es/advisor) tiene un rango inferior al del modelo principal de tu sesión, por lo que Claude Code conserva la selección pero no adjunta el asesor a las solicitudes del modelo principal. + +```text theme={null} +Advisor set to Opus 4.8 +Note: Opus 4.8 is less capable than the current main model (Sonnet 5.5), so the advisor will not activate. Choose a more capable advisor, or switch to a smaller main model. +``` + +Otros mensajes reportan la misma condición: + +* En una sesión interactiva, una notificación dice `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`. +* Al iniciar con el flag `--advisor`, una advertencia dice `"" cannot advise "
" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.` y la sesión se inicia de todos modos. -* **`can't be written ()`**: la escritura falló con el código de error del sistema operativo entre paréntesis, como `EROFS` cuando el archivo, o el archivo al que vincula, se encuentra en un sistema de archivos que rechaza escrituras. Haga el archivo escribible y cambie de nuevo. Si otra herramienta genera el archivo, establezca la clave `model` en esa herramienta en su lugar; consulte [A change you made in Claude Code is lost in new sessions](/docs/es/settings#a-change-you-made-in-claude-code-is-lost-in-new-sessions). -* **`isn't valid JSON`**: el archivo en disco no se analiza, y Claude Code lo deja sin tocar en lugar de sobrescribir contenido que no puede leer de vuelta. Corrija el error de sintaxis, luego cambie de nuevo; consulte [Fix a broken settings file](/docs/es/settings#fix-a-broken-settings-file). +**Qué hacer:** -Un aviso que termina `couldn't confirm it was saved as your default (~/.claude/settings.json is still being written)` significa que la escritura no había terminado después de tres segundos. Continúa en segundo plano, por lo que el valor predeterminado aún puede guardarse; verifique qué modelo comienza su siguiente sesión, o ejecute `/model ` de nuevo. +* Elige un asesor de rango superior o un modelo principal de rango inferior. [Elegir un modelo asesor](/docs/es/advisor#choose-an-advisor-model) muestra la clasificación y enumera los asesores aceptados para cada modelo principal. +* Deja configurado el asesor si quieres que los [subagentes](/docs/es/sub-agents) cuyo modelo puede asesorar sigan usándolo -Antes de v2.1.265, el aviso decía que el modelo fue `saved as your default for new sessions` incluso cuando la escritura falló. +Antes de v2.1.287, Claude Code clasificaba varias combinaciones de otra manera. Mostraba esta nota para un asesor Sonnet 5.5 con un modelo principal Opus 4.7 u Opus 4.8, una combinación que ahora acepta. También adjuntaba algunos asesores que ahora producen esta nota, como un asesor Opus 4.8 con un modelo principal Sonnet 5.5.

thinking.type.enabled no es compatible con este modelo

-Su versión de Claude Code es anterior a la mínima para el modelo seleccionado. La CLI envió una configuración de pensamiento que el modelo ya no acepta. +Tu versión de Claude Code es anterior a la mínima requerida para el modelo seleccionado. La CLI envió una configuración de pensamiento que el modelo ya no acepta. ```text theme={null} API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior. @@ -2612,34 +2674,34 @@ API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use **Qué hacer:** -* Ejecute `claude update` y reinicie Claude Code. Opus 4.7 necesita v2.1.111 o posterior. Opus 4.8 necesita v2.1.154 o posterior. Sonnet 5 necesita v2.1.197 o posterior. Opus 5 necesita v2.1.219 o posterior. Opus 5.5 necesita v2.1.280 o posterior. Sonnet 5.5 necesita v2.1.284 o posterior -* Si no puede actualizar, ejecute `/model` y seleccione Opus 4.6 o Sonnet 4.6 en su lugar -* Si encuentra esto en el [Agent SDK](/docs/es/agent-sdk/overview), actualice el paquete SDK en su lugar. Opus 4.8 necesita TypeScript SDK v0.3.154 o posterior y Python SDK v0.2.88 o posterior. Sonnet 5 necesita TypeScript SDK v0.3.197 o posterior. Opus 5 necesita TypeScript SDK v0.3.219 o posterior. Opus 5.5 necesita TypeScript SDK v0.3.280 o posterior. Sonnet 5.5 necesita TypeScript SDK v0.3.284 o posterior +* Ejecuta `claude update` y reinicia Claude Code. Opus 4.7 necesita v2.1.111 o posterior. Opus 4.8 necesita v2.1.154 o posterior. Sonnet 5 necesita v2.1.197 o posterior. Opus 5 necesita v2.1.219 o posterior. Opus 5.5 necesita v2.1.280 o posterior. Sonnet 5.5 necesita v2.1.284 o posterior +* Si no puedes actualizar, ejecuta `/model` y selecciona Opus 4.6 o Sonnet 4.6 en su lugar +* Si te encuentras con esto en el [Agent SDK](/docs/es/agent-sdk/overview), actualiza el paquete del SDK en su lugar. Opus 4.8 necesita TypeScript SDK v0.3.154 o posterior y Python SDK v0.2.88 o posterior. Sonnet 5 necesita TypeScript SDK v0.3.197 o posterior. Opus 5 necesita TypeScript SDK v0.3.219 o posterior. Opus 5.5 necesita TypeScript SDK v0.3.280 o posterior. Sonnet 5.5 necesita TypeScript SDK v0.3.284 o posterior

El esfuerzo no está disponible con el pensamiento desactivado

-Desactivó el [pensamiento extendido](/docs/es/model-config#extended-thinking) y ejecutó en un [nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) superior a `high`. El modelo no acepta esa combinación, por lo que la API rechazó la solicitud. +Desactivaste el [pensamiento extendido](/docs/es/model-config#extended-thinking) y ejecutaste con un [nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) superior a `high`. El modelo no acepta esa combinación, por lo que la API rechazó la solicitud. ```text theme={null} API Error: Effort 'xhigh' isn't available with thinking turned off on this model · run /effort high to continue, or turn thinking back on (unset MAX_THINKING_TOKENS=0) ``` -La sugerencia después de `·` varía según la sesión: en una sesión no interactiva dice `use --effort high (or the effortLevel setting)`, y en una sesión que la aplicación de escritorio Claude inicia dice `you can lower effort to High`. +La sugerencia después de `·` varía según la sesión: en una sesión no interactiva dice `use --effort high (or the effortLevel setting)`, y en una sesión que ejecuta la aplicación de escritorio de Claude dice `you can lower effort to High`. **Qué hacer:** -* [Baje el nivel de esfuerzo](/docs/es/model-config#set-the-effort-level) a `high` o inferior. -* Active el pensamiento de nuevo, por ejemplo desestableciendo [`MAX_THINKING_TOKENS`](/docs/es/env-vars) o eliminando [`"alwaysThinkingEnabled": false`](/docs/es/settings-reference#alwaysthinkingenabled) de su configuración. +* [Baja el nivel de esfuerzo](/docs/es/model-config#set-the-effort-level) a `high` o inferior. +* Vuelve a activar el pensamiento, por ejemplo quitando la definición de [`MAX_THINKING_TOKENS`](/docs/es/env-vars) o eliminando [`"alwaysThinkingEnabled": false`](/docs/es/settings-reference#alwaysthinkingenabled) de tu configuración. -Antes de v2.1.242, Claude Code mostraba el mensaje propio de la API: `API Error: 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking.` Antes de v2.1.251, Claude Code enviaba la solicitud en el nivel de esfuerzo que estableció, por lo que Opus 5 rechazaba cada solicitud superior a `high` con el pensamiento desactivado. Claude Code ahora envía esfuerzo `high` en su lugar a modelos que sabe que rechazan la combinación, como Opus 5. +Antes de v2.1.242, Claude Code mostraba el mensaje propio de la API: `API Error: 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking.` Antes de v2.1.251, Claude Code enviaba la solicitud con el nivel de esfuerzo que habías establecido, por lo que Opus 5 rechazaba cada solicitud por encima de `high` con el pensamiento desactivado. Ahora Claude Code envía el esfuerzo `high` en su lugar a los modelos que sabe que rechazan la combinación, como Opus 5.

- El presupuesto de pensamiento excede el límite de salida + El presupuesto de pensamiento supera el límite de salida

-El presupuesto de pensamiento extendido configurado excede la longitud de respuesta máxima, por lo que no hay espacio para la respuesta real. +El presupuesto de pensamiento extendido configurado supera la longitud máxima de la respuesta, por lo que no queda espacio para la respuesta en sí. ```text theme={null} API Error: 400 ... max_tokens must be greater than thinking.budget_tokens @@ -2647,14 +2709,14 @@ API Error: 400 ... max_tokens must be greater than thinking.budget_tokens **Qué hacer:** -* Aumente [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/es/env-vars) por encima del presupuesto de pensamiento -* Consulte [Extended thinking](/docs/es/model-config#extended-thinking) para cómo el presupuesto interactúa con la longitud de salida +* Aumenta [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/es/env-vars) por encima del presupuesto de pensamiento +* Consulta [Pensamiento extendido](/docs/es/model-config#extended-thinking) para ver cómo interactúa el presupuesto con la longitud de la salida

- Desajuste de bloque de uso de herramienta o pensamiento + Desajuste en bloques de uso de herramientas o de pensamiento

-El historial de conversación llegó a la API en un estado inconsistente. +El historial de la conversación llegó a la API en un estado inconsistente. ```text theme={null} API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation. @@ -2664,73 +2726,73 @@ API Error: 400 ... unexpected `tool_use_id` found in `tool_result` blocks API Error: 400 ... thinking blocks ... cannot be modified ``` -Todas las variantes significan lo mismo: la secuencia de bloques `tool_use`, `tool_result` y `thinking` en el historial ya no coincide con lo que la API espera. +Todas las variantes significan lo mismo: la secuencia de bloques `tool_use`, `tool_result` y `thinking` del historial ya no coincide con lo que espera la API. **Qué hacer:** -* Si está usando Opus 4.7 u Opus 4.8, ejecute `claude update` primero. Las versiones anteriores a v2.1.156 pueden activar este error durante el uso normal de herramientas, y `/rewind` no lo borra. -* Ejecute `/rewind`, o presione Esc dos veces, para retroceder a un punto de control antes del turno corrupto y continuar desde allí. Consulte [Checkpointing](/docs/es/checkpointing) para cómo se crean y restauran los puntos de control. +* Si estás usando Opus 4.7 u Opus 4.8, ejecuta primero `claude update`. Las versiones anteriores a v2.1.156 pueden provocar este error durante el uso normal de herramientas, y `/rewind` no lo resuelve. +* Ejecuta `/rewind`, o presiona Esc dos veces, para retroceder a un checkpoint anterior al turno dañado y continuar desde ahí. Consulta [Checkpointing](/docs/es/checkpointing) para ver cómo se crean y restauran los checkpoints.

- Datos inválidos en bloque redacted\_thinking + Datos no válidos en el bloque redacted\_thinking

-La API rechazó la solicitud con un 400 porque no pudo aceptar un bloque `redacted_thinking` que un turno anterior en el historial de conversación lleva. +La API rechazó la solicitud con un 400 porque no pudo aceptar un bloque `redacted_thinking` que lleva un turno anterior del historial de la conversación. ```text theme={null} API Error: 400 ... Invalid `data` in `redacted_thinking` block ``` -Claude Code deja el pensamiento anterior de la conversación fuera de la solicitud y reintenta una vez, por lo que la sesión continúa sin mostrar el error. Antes de v2.1.282, Claude Code mantenía el bloque rechazado, y cada turno posterior fallaba con el mismo error. +Claude Code deja fuera de la solicitud el pensamiento anterior de la conversación y reintenta una vez, por lo que la sesión continúa sin mostrar el error. Antes de v2.1.282, Claude Code conservaba el bloque rechazado, y cada turno posterior fallaba con el mismo error. **Qué hacer:** -* Si está en v2.1.281 o anterior y cada turno falla con este error, ejecute `claude update` y reanude la sesión -* Si el error persiste, ejecute `/clear` para comenzar una conversación que no lleve el bloque +* Si estás en v2.1.281 o anterior y cada turno falla con este error, ejecuta `claude update` y reanuda la sesión +* Si el error persiste, ejecuta `/clear` para iniciar una conversación que no lleve el bloque

Contenido de herramienta no compatible eliminado

-Cuando Claude Code se conecta directamente a la API de Anthropic y carga o obtiene una vista previa de una sesión guardada, elimina el contenido de herramienta que la API de Anthropic no acepta y deja esta línea donde se encontraba contenido eliminado entre dos bloques de pensamiento: +Cuando Claude Code se conecta directamente a la API de Anthropic y carga o muestra una vista previa de una sesión guardada, elimina el contenido de herramientas que la API de Anthropic no acepta y deja esta línea donde el contenido eliminado estaba entre dos bloques de pensamiento: ```text theme={null} [Unsupported tool content removed] ``` -Tal contenido llega a un archivo de sesión cuando algo que no es la API de Anthropic responde en el formato de la API, típicamente un proxy de terceros establecido a través de [`ANTHROPIC_BASE_URL`](/docs/es/env-vars) que traduce llamadas de herramientas de otro proveedor. Claude Code lo elimina solo cuando la sesión se conecta directamente a la API de Anthropic, y carga el historial guardado tal como es cuando la sesión se ejecuta a través de un proxy o en otro proveedor. Antes de v2.1.246, Claude Code enviaba el uso de herramienta y su resultado de vuelta a la API, y cada turno de la sesión reanudada fallaba con un error 400 como `messages.1.content.0.server_tool_use.name: Input should be 'web_search', 'web_fetch', ...`. +Ese contenido llega a un archivo de sesión cuando algo distinto de la API de Anthropic respondió con el formato de la API, normalmente un proxy de terceros configurado mediante [`ANTHROPIC_BASE_URL`](/docs/es/env-vars) que traduce las llamadas a herramientas de otro proveedor. Claude Code lo elimina solo cuando la sesión se conecta directamente a la API de Anthropic, y carga el historial guardado tal cual cuando la sesión se ejecuta a través de un proxy o en otro proveedor. Antes de v2.1.246, Claude Code volvía a enviar a la API el uso de la herramienta y su resultado, y cada turno de la sesión reanudada fallaba con un error 400 como `messages.1.content.0.server_tool_use.name: Input should be 'web_search', 'web_fetch', ...`. **Qué hacer:** -* Ninguno necesario cuando ve la línea de marcador de posición. La sesión continúa sin el contenido eliminado. -* Si cada turno de una sesión reanudada falla con el error 400 en su lugar, ejecute `claude update` y reanude la sesión de nuevo. Las versiones anteriores a v2.1.246 no eliminan el contenido. +* No necesitas hacer nada cuando ves la línea de marcador de posición. La sesión continúa sin el contenido eliminado. +* Si, en cambio, cada turno de una sesión reanudada falla con el error 400, ejecuta `claude update` y vuelve a reanudar la sesión. Las versiones anteriores a v2.1.246 no eliminan el contenido.

role 'system' debe preceder a un mensaje 'assistant'

-La API rechazó la solicitud con un 400 porque un mensaje del sistema se encuentra en una posición en la conversación que no acepta: +La API rechazó la solicitud con un 400 porque hay un mensaje del sistema en una posición de la conversación que no acepta: ```text theme={null} API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ... ``` -Claude Code envía parte de su texto de recordatorio y adjuntos como mensajes del sistema dentro de la conversación. Cuando la API rechaza la posición de uno, Claude Code reintenta la solicitud una vez con ese texto enviado como mensajes de usuario ordinarios en su lugar. Las redacciones hermanas de la API, como `use the top-level 'system' parameter for the initial system prompt`, obtienen la misma recuperación. +Claude Code envía parte de su texto de recordatorios y adjuntos como mensajes del sistema dentro de la conversación. Cuando la API rechaza la posición de uno de ellos, Claude Code reintenta la solicitud una vez enviando ese texto como mensajes de usuario normales. Las redacciones similares de la API sobre la ubicación, como `use the top-level 'system' parameter for the initial system prompt`, reciben la misma recuperación. -Cuando el error aparece, el mensaje del sistema rechazado no es uno que Claude Code pueda eliminar. Eso generalmente significa que un proxy o [puerta de enlace LLM](/docs/es/llm-gateway) entre Claude Code y la API agregó un mensaje del sistema propio. +Cuando el error sí aparece, el mensaje del sistema rechazado no es uno que Claude Code pueda eliminar. Eso suele significar que un proxy o [gateway de LLM](/docs/es/llm-gateway) entre Claude Code y la API agregó un mensaje del sistema propio. **Qué hacer:** -* Si el error se repite en cada turno detrás de un proxy o puerta de enlace configurada a través de [`ANTHROPIC_BASE_URL`](/docs/es/env-vars), conéctese sin el proxy para confirmar la fuente, e informe el error a quien lo opera -* Ejecute `/clear` para comenzar una conversación nueva. Si el error regresa allí también, la causa está en la ruta de solicitud, no en la conversación guardada. +* Si el error se repite en cada turno detrás de un proxy o gateway configurado mediante [`ANTHROPIC_BASE_URL`](/docs/es/env-vars), conéctate sin el proxy para confirmar el origen e informa el error a quien lo opere +* Ejecuta `/clear` para iniciar una conversación nueva. Si el error también vuelve a aparecer ahí, la causa está en la ruta de la solicitud, no en la conversación guardada. -Antes de v2.1.280, Claude Code no reconocía esta redacción, por lo que el error también aparecía cuando el mensaje del sistema rechazado era uno que Claude Code en sí envió, y cada turno posterior de la conversación fallaba de la misma manera. +Antes de v2.1.280, Claude Code no reconocía esta redacción, por lo que el error también aparecía cuando el mensaje del sistema rechazado era uno que había enviado el propio Claude Code, y cada turno posterior de la conversación fallaba de la misma manera.

- Contenido\_encriptado inválido en bloque search\_result + encrypted\_content no válido en el bloque search\_result

-La API rechazó la solicitud con un 400 porque el historial de conversación contiene contenido de búsqueda web alojado que no puede descifrar. La redacción nombra el campo que no puede leer: +La API rechazó la solicitud con un 400 porque el historial de la conversación contiene contenido de búsqueda web alojada que no puede descifrar. La redacción nombra el campo que no puede leer: ```text theme={null} API Error: 400 ... Invalid `encrypted_content` in `search_result` block @@ -2739,25 +2801,25 @@ API Error: 400 ... Failed to decrypt web search result content API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block ``` -Los resultados de la [herramienta de búsqueda web alojada](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) de la API llevan campos encriptados que solo la API puede leer. El `encrypted_stdout` nombra la salida de un programa de ejecución de código alojado que leyó tales resultados, que la API también encripta. La API rechaza una solicitud que reproduce contenido que no puede descifrar, como contenido producido para una organización diferente. +Los resultados de la [herramienta de búsqueda web alojada](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) de la API llevan campos cifrados que solo la API puede leer. La redacción de `encrypted_stdout` se refiere a la salida de un programa de ejecución de código alojado que leyó esos resultados, que la API también cifra. La API rechaza una solicitud que vuelve a enviar contenido que no puede descifrar, como contenido generado para otra organización. -La propia [herramienta WebSearch](/docs/es/tools-reference#websearch-tool-behavior) de Claude Code registra los resultados de búsqueda como texto sin formato, por lo que estos bloques generalmente llegan a una conversación a través de un proxy o [puerta de enlace LLM](/docs/es/llm-gateway) que ejecutó búsqueda web alojada en sí. +La propia [herramienta WebSearch](/docs/es/tools-reference#websearch-tool-behavior) de Claude Code registra los resultados de búsqueda como texto sin formato, por lo que estos bloques suelen llegar a una conversación a través de un proxy o [gateway de LLM](/docs/es/llm-gateway) que ejecutó por sí mismo la búsqueda web alojada. -Para las tres redacciones de búsqueda web, Claude Code deja las llamadas de búsqueda, resultados y citas fuera de lo que envía y reintenta la solicitud una vez, por lo que la sesión continúa sin mostrar el error. La redacción `encrypted_stdout` no tiene tal recuperación, por lo que ese mensaje aún le llega. Antes de v2.1.282, Claude Code mantenía los bloques de búsqueda web rechazados también, y cada turno posterior y `/compact` fallaban de la misma manera. +Con las tres redacciones de búsqueda web, Claude Code deja fuera de lo que envía las llamadas de búsqueda, los resultados y las citas, y reintenta la solicitud una vez, por lo que la sesión continúa sin mostrar el error. La redacción de `encrypted_stdout` no tiene esa recuperación, así que ese mensaje todavía te llega. Antes de v2.1.282, Claude Code también conservaba los bloques de búsqueda web rechazados, y cada turno posterior y `/compact` fallaban de la misma manera. **Qué hacer:** -* Si está en v2.1.281 o anterior y cada turno falla con una de las redacciones de búsqueda web, ejecute `claude update` y reanude la sesión -* Si el error persiste, o el mensaje nombra `encrypted_stdout`, ejecute `/rewind` para retroceder a un punto de control antes del turno que agregó el contenido, o ejecute `/clear` para comenzar una conversación que no lo lleve -* Si ejecuta Claude Code detrás de un proxy o puerta de enlace, informe el error a quien lo opera +* Si estás en v2.1.281 o anterior y cada turno falla con una de las redacciones de búsqueda web, ejecuta `claude update` y reanuda la sesión +* Si el error persiste, o el mensaje nombra `encrypted_stdout`, ejecuta `/rewind` para retroceder a un checkpoint anterior al turno que agregó el contenido, o ejecuta `/clear` para iniciar una conversación que no lo lleve +* Si ejecutas Claude Code detrás de un proxy o gateway, informa el error a quien lo opere

- Rechazo de política de uso + Rechazo por la Política de uso

-La API se negó a responder porque el contenido en la conversación activó una verificación de [Política de uso](https://www.anthropic.com/legal/aup). +La API se negó a responder porque el contenido de la conversación activó una verificación de la [Política de uso](https://www.anthropic.com/legal/aup). -El mensaje incluye un ID de solicitud y un ID de mensaje que puede citar al soporte si cree que el rechazo es incorrecto. +El mensaje incluye un ID de solicitud y un ID de mensaje que puedes citarle al soporte si crees que el rechazo es incorrecto. ```text theme={null} API Error: Opus 4.6 can't help with this. Start a new session to continue. @@ -2765,41 +2827,41 @@ API Error: Opus 4.6 can't help with this. Start a new session to continue. Send feedback with /feedback or learn more: https://www.anthropic.com/legal/aup ``` -El mensaje nombra el modelo que rechazó, o `Claude` cuando no se registra ningún modelo. +El mensaje nombra el modelo que se negó, o `Claude` cuando no hay ningún modelo registrado. -La verificación evalúa la conversación completa, no solo su mensaje más reciente, por lo que enviar un nuevo mensaje en la misma sesión generalmente reactiva el mismo rechazo. Lo mismo se aplica después de salir y reabrir la sesión con `--continue` o `--resume`, ya que la transcripción en disco aún contiene el contenido que activa. En [Amazon Bedrock](/docs/es/amazon-bedrock), [Plataforma de agentes de Google Cloud](/docs/es/google-vertex-ai) y [Microsoft Foundry](/docs/es/microsoft-foundry), este mensaje también cubre solicitudes que las medidas de seguridad del modelo marcaron como un tema de ciberseguridad. Consulte [Safety measures flagged a cybersecurity topic](#safety-measures-flagged-a-cybersecurity-topic). +La verificación evalúa la conversación completa, no solo tu prompt más reciente, por lo que enviar un mensaje nuevo en la misma sesión suele volver a provocar el mismo rechazo. Lo mismo ocurre si sales y vuelves a abrir la sesión con `--continue` o `--resume`, ya que la transcripción en disco sigue conteniendo el contenido que lo provocó. En [Amazon Bedrock](/docs/es/amazon-bedrock), [Agent Platform de Google Cloud](/docs/es/google-vertex-ai) y [Microsoft Foundry](/docs/es/microsoft-foundry), este mensaje también cubre las solicitudes que las medidas de seguridad del modelo marcaron como un tema de ciberseguridad. Consulta [Las medidas de seguridad marcaron un tema de ciberseguridad](#safety-measures-flagged-a-cybersecurity-topic). Antes de v2.1.219, el mensaje decía `Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.` **Qué hacer:** -* Presione Esc dos veces o ejecute `/rewind` para retroceder a un punto de control antes del turno que activó el rechazo, luego reformule o tome un enfoque diferente. Consulte [Checkpointing](/docs/es/checkpointing). -* Si no puede identificar qué turno lo causó, ejecute `/clear` para comenzar una conversación nueva en el mismo proyecto. Su conversación anterior se conserva en disco y permanece disponible en `/resume`. -* En [modo no interactivo](/docs/es/headless) (`-p`), donde el retroceso no está disponible, reintente con un mensaje reformulado en una nueva sesión sin `--continue`. Las verificaciones de política varían según el modelo, por lo que cambiar a un modelo diferente con `--model` también puede resolver el rechazo en algunos casos. +* Presiona Esc dos veces o ejecuta `/rewind` para retroceder a un checkpoint anterior al turno que provocó el rechazo, y luego reformula o adopta un enfoque diferente. Consulta [Checkpointing](/docs/es/checkpointing). +* Si no puedes identificar qué turno lo provocó, ejecuta `/clear` para iniciar una conversación nueva en el mismo proyecto. Tu conversación anterior se conserva en disco y sigue disponible en `/resume`. +* En [modo no interactivo](/docs/es/headless) (`-p`), donde no es posible retroceder, reintenta con un prompt reformulado en una nueva sesión sin `--continue`. Las verificaciones de la política varían según el modelo, así que en algunos casos cambiar a otro modelo con `--model` también puede resolver el rechazo.

Las medidas de seguridad marcaron un tema de ciberseguridad

-Las medidas de seguridad del modelo marcaron el contenido en la conversación como un tema de ciberseguridad. El mensaje nombra el modelo que marcó la solicitud: +Las medidas de seguridad del modelo marcaron contenido de la conversación como un tema de ciberseguridad. El mensaje nombra el modelo que marcó la solicitud: ```text theme={null} API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude ``` -El mensaje vincula al [Programa de verificación de ciberseguridad](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude), que otorga acceso para trabajo de ciberseguridad legítimo. En Opus 5.5 y Sonnet 5.5, el mensaje abre con `'s safeguards flagged this session` en su lugar. Cuando la categoría marcada tiene un modelo alternativo disponible, Claude Code [cambia de modelos](/docs/es/model-config#automatic-model-fallback) en lugar de mostrar este error. +El mensaje enlaza al [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude), que otorga acceso para trabajo legítimo de ciberseguridad. En Opus 5.5 y Sonnet 5.5, el mensaje comienza con `'s safeguards flagged this session` en su lugar. Cuando la categoría marcada tiene disponible un modelo de respaldo, Claude Code [cambia de modelo](/docs/es/model-config#automatic-model-fallback) en lugar de mostrar este error. -En [Amazon Bedrock](/docs/es/amazon-bedrock), [Plataforma de agentes de Google Cloud](/docs/es/google-vertex-ai) y [Microsoft Foundry](/docs/es/microsoft-foundry), una bandera de ciberseguridad produce el mensaje de [rechazo de política de uso](#usage-policy-refusal) en su lugar. +En [Amazon Bedrock](/docs/es/amazon-bedrock), [Agent Platform de Google Cloud](/docs/es/google-vertex-ai) y [Microsoft Foundry](/docs/es/microsoft-foundry), una marca de ciberseguridad produce en su lugar el mensaje de [rechazo por la Política de uso](#usage-policy-refusal). -La protección en sí es del lado del servidor y es anterior a v2.1.203; los lanzamientos de cliente desde entonces han cambiado solo la redacción del mensaje. -De v2.1.203 a v2.1.218, el mensaje decía ` has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:` seguido del mismo enlace del centro de ayuda, y las sesiones interactivas agregaban `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.` -Antes de v2.1.203, decía `'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:` seguido de un enlace de formulario de exención. +La protección en sí funciona del lado del servidor y es anterior a v2.1.203; desde entonces, las versiones del cliente solo han cambiado la redacción del mensaje. +De v2.1.203 a v2.1.218, el mensaje decía ` has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:` seguido del mismo enlace al centro de ayuda, y las sesiones interactivas agregaban `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.` +Antes de v2.1.203, decía `'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:` seguido de un enlace a un formulario de exención. **Qué hacer:** -* Si su trabajo requiere este contenido, solicite acceso a través del [Programa de verificación de ciberseguridad](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude) -* Si su solicitud no era sobre un tema de ciberseguridad, ejecute `/feedback` para reportar el falso positivo -* Para seguir trabajando en la misma sesión, presione Esc dos veces o ejecute `/rewind` para retroceder a un punto de control antes del turno que activó la bandera, luego tome un enfoque diferente. Consulte [Checkpointing](/docs/es/checkpointing). +* Si tu trabajo requiere este contenido, solicita acceso a través del [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude) +* Si tu solicitud no trataba sobre un tema de ciberseguridad, ejecuta `/feedback` para reportar el falso positivo +* Para seguir trabajando en la misma sesión, presiona Esc dos veces o ejecuta `/rewind` para retroceder a un checkpoint anterior al turno que activó la marca, y luego adopta un enfoque diferente. Consulta [Checkpointing](/docs/es/checkpointing).

Errores de instalación @@ -2849,16 +2911,16 @@ Un proxy o puerta de enlace puede cerrar una transferencia larga antes de que fi * Ejecute `claude doctor` desde su shell para diagnósticos de instalación

- Errores de línea de comandos + Errores de la línea de comandos

-Estos 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. +Estos errores provienen de la línea de comandos `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.

Conflicto entre `--bg` y `--print`

-Este 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. +Este 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. ```text theme={null} --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 ''`. @@ -2866,42 +2928,58 @@ Este mensaje requiere Claude Code v2.1.198 o posterior. Combinó `--bg` con `-p` **Qué hacer:** -* Elimine `-p` o `--print`. `--bg` toma el símbolo del sistema como su argumento posicional, por lo que `claude --bg ""` es el comando completo. Consulte [Enviar nuevos agentes desde su shell](/docs/es/agent-view#from-your-shell). -* 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 ""` +* Quita `-p` o `--print`. `--bg` recibe el prompt como su argumento posicional, así que `claude --bg ""` es el comando completo. Consulta [Despachar nuevos agentes desde tu shell](/docs/es/agent-view#from-your-shell). +* 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 ""` + +

+ Conflicto entre un flag de prompt del sistema y su forma de archivo +

+ +Pasaste [`--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 código 1 en lugar de iniciar la sesión: + +```text theme={null} +Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one. +``` + +Antes de v2.1.283, `claude` terminaba de la misma manera 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. + +**Qué hacer:** + +* Conserva una forma del flag y quita la otra. Para combinar un archivo de prompt fijo con texto específico de cada ejecución, integra el texto en el archivo antes de iniciar en lugar de pasar ambos flags

- Configuración de `--agents` inválida + Configuración de `--agents` no válida

-El 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. +El valor que pasaste a `--agents` no es válido, así que `claude` termina con 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 comprueba y la sesión se inicia; un valor leído desde un archivo se comprueba en cada inicio. Antes de v2.1.242, Claude Code iniciaba la sesión de todos modos. ```text theme={null} Error: Invalid --agents configuration: ``` -Lo 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: +Lo 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 tu valor tiene dos tipos de problema, ves el segundo solo después de corregir el primero: -1. 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 JSON -2. 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 problema -3. Cuando un nombre de agente comienza con `-`, Claude Code imprime `: agent names must not start with '-'` +1. Cuando el valor empieza 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 mensaje propio del analizador JSON +2. 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 cada problema +3. Cuando el nombre de un agente empieza con `-`, Claude Code imprime `: agent names must not start with '-'` -Cuando hay más de 20 líneas de problema, Claude Code imprime las primeras 20 y reemplaza el resto con `…and N more`. +Cuando hay más de 20 líneas de problemas, Claude Code imprime las primeras 20 y reemplaza el resto con `…and N more`. -Con `--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: +Con `--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` solo aceptaba 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: -* **`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. -* **`Error: --agents file not found: `**: 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. +* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code interpretó 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. +* **`Error: --agents file not found: `**: no existe ningún archivo en esa ruta. Un valor que no empieza con `{` y no es JSON válido se lee como una ruta, así que el JSON en línea que tu shell alteró también puede fallar de esta manera. Revisa la ruta o las comillas y vuelve a ejecutar el comando. **Qué hacer:** -* 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). +* Corrige cada problema que enumera el mensaje y luego vuelve a ejecutar el comando. Consulta [los campos que acepta un subagente definido por CLI](/docs/es/sub-agents#choose-the-subagent-scope).

- Las sesiones en la nube no se pueden crear desde una sesión `--restricted` + No se pueden crear sesiones en la nube desde una sesión `--restricted`

-Cuando 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: +Cuando 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 lo rechaza en el cliente, antes de contactar al servidor, así que no se crea ninguna sesión en la nube: ```text theme={null} Cloud sessions cannot be created from a --restricted session: they would not enforce it. @@ -2909,72 +2987,72 @@ Cloud sessions cannot be created from a --restricted session: they would not enf **Qué hacer:** -* Ejecute la tarea localmente en la sesión restringida -* 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í +* Ejecuta la tarea localmente en la sesión restringida +* 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 allí -Antes 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. +Antes 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.

- Las sesiones en la nube están deshabilitadas por la política de su organización + Las sesiones en la nube están deshabilitadas por la política de tu organización

-La 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: +La 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: ```text theme={null} Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them. ``` -El 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. +El 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. -Esta 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. +Se trata de 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. -Si 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. +Si Claude Code todavía 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. **Qué hacer:** -* 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) -* Si el mensaje dice que no pudo verificar la política, verifique su conexión de red, luego reinicie Claude Code e intente nuevamente +* 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) +* 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

El valor de `--json-schema` no es un JSON Schema válido

-El 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. +El esquema que pasaste a [`--json-schema`](/docs/es/cli-reference#cli-flags) en [modo no interactivo](/docs/es/headless#get-structured-output) no superó la compilación de JSON Schema, así que `claude` termina con 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. ```text theme={null} Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values ``` -El 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. +El 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. -Claude 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`. +Claude 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 un JSON válido que no es un objeto con `Error: --json-schema must be a JSON object`. **Qué hacer:** -* Corrija la parte del esquema que nombra el diagnóstico, luego vuelva a ejecutar el comando -* Consulte [Obtener salida estructurada](/docs/es/headless#get-structured-output) para un esquema y comando que funcionen +* Corrige la parte del esquema que nombra el diagnóstico y vuelve a ejecutar el comando +* Consulta [Obtener salida estructurada](/docs/es/headless#get-structured-output) para ver un esquema y un comando que funcionan

- El archivo de configuración excede el límite de 2MiB + El archivo de configuración supera el límite de 2MiB

-El 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. +El archivo que pasaste a [`--settings`](/docs/es/cli-reference#cli-flags) pesa más de 2 MiB, así que `claude` termina con código 1 al iniciar en lugar de cargarlo. Antes de v2.1.214, Claude Code leía el archivo sin comprobar 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. ```text theme={null} Error: Settings file exceeds the 2MiB limit: /path/to/settings.json ``` -Claude 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`. +Claude Code rechaza de la misma manera una ruta de `--settings` que no sea un archivo regular: 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`. **Qué hacer:** -* Apunte `--settings` a un archivo JSON de configuración regular menor a 2 MiB. Consulte [Configuración](/docs/es/settings) para el formato. +* Apunta `--settings` a un archivo de configuración JSON regular de menos de 2 MiB. Consulta [Configuración](/docs/es/settings) para ver el formato.

El directorio actual ya no existe

-Inició `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. +Iniciaste `claude` desde un directorio que se eliminó o se 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 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 bundle y un stack `ENOENT ... uv_cwd` sin procesar en stderr en lugar de este mensaje. ```text theme={null} The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory. @@ -2983,21 +3061,21 @@ error: The current working directory was deleted, so that command didn't work. P La causa y la solución son las mismas para ambas formas. -Cuando 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.` +Cuando 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.` -En 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`. +En 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 manera: `ls` allí informa `Operation not permitted`, incluso con `sudo`. **Qué hacer:** -* Cambie a un directorio que exista, como su directorio de inicio o directorio de proyecto, luego ejecute `claude` nuevamente -* 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` nuevamente -* 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 terminal +* Cambia a un directorio que exista, como tu directorio home o el de tu proyecto, y vuelve a ejecutar `claude` +* Si el directorio se volvió a crear en la misma ruta, tu shell sigue apuntando al que se eliminó. Ejecuta `cd "$PWD"` o sal del directorio y vuelve a entrar, y luego vuelve a ejecutar `claude` +* Para `EPERM` en macOS, cierra tu aplicación de terminal con Cmd+Q, ábrela de nuevo, vuelve 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 luego vuelve a abrir la terminal

- El directorio temporal fue rechazado o no se puede crear + Directorio temporal rechazado o imposible de crear

-En macOS y Linux, Claude Code crea un directorio temporal privado al inicio, `claude-` 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: +En macOS y Linux, Claude Code crea un directorio temporal privado al iniciar, `claude-`, 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 comprobaciones de seguridad, Claude Code imprime el fallo en stderr y termina con código 1 en lugar de iniciar la sesión: ```text wrap theme={null} ENOSPC: no space left on device, mkdir '/tmp/claude-501' @@ -3011,18 +3089,18 @@ Temp directory /tmp/claude-501 is not readable (its mode may have been altered, **Qué hacer:** -* Para `ENOSPC`, libere espacio en disco en el volumen que contiene el directorio temporal -* 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 eliminarlo -* Para `is not readable`, ejecute `chmod 0700` en el directorio nombrado, o elimínelo e inicie nuevamente -* 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 sola +* Para `ENOSPC`, libera espacio en el volumen que contiene el directorio temporal +* 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 +* Para `is not readable`, ejecuta `chmod 0700` sobre el directorio nombrado, o elimínalo y vuelve a iniciar +* 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

- El directorio no se pudo resolver a una ubicación real + No se pudo resolver el directorio a una ubicación real

-Ejecutó `/add-dir` para un subdirectorio de su directorio de trabajo, y Claude Code no pudo resolver el directorio a su ubicación real. +Ejecutaste `/add-dir` para un subdirectorio de tu directorio de trabajo, y Claude Code no pudo resolver el directorio a su ubicación real. -Ya 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: +Ya 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 comprueba 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: ```text theme={null} packages/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,85 +3108,85 @@ packages/app couldn't be resolved to a real location, so its skills, commands, a **Qué hacer:** -* Verifique que la ruta nombre un directorio real dentro del directorio de trabajo, luego ejecute `/add-dir` nuevamente -* El mensaje no cambia su acceso a archivos; solo reporta que el contenido `.claude/` del directorio no fue cargado +* Comprueba que la ruta nombre un directorio real dentro del directorio de trabajo y vuelve a ejecutar `/add-dir` +* El mensaje no cambia tu acceso a los archivos; solo informa que el contenido de `.claude/` del directorio no se cargó -Antes de v2.1.261, este mensaje también aparecía para cada `/add-dir ` cuando el directorio de trabajo estaba en un automontaje `/net/`, donde Claude Code se niega a resolver rutas por diseño; el directorio estaba bien y reintentar no podía ayudar. +Antes de v2.1.261, este mensaje también aparecía en cada `/add-dir ` cuando el directorio de trabajo estaba en un montaje automático `/net/`, donde Claude Code no resuelve rutas por diseño; el directorio estaba bien y reintentar no servía de nada.

Espacio de trabajo no confiable al iniciar Remote Control

-Inició 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: +Iniciaste 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 querías 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 código 1: ```text theme={null} Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog. ``` -Dos 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. +Dos variantes que también empiezan 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`. -En 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í. +En 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 allí no puede satisfacer esta comprobación. Antes de v2.1.214, el directorio home mostraba el mensaje anterior, cuyo consejo no puede funcionar allí. ```text theme={null} Error: 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). ``` -Si responde `n` o presiona Enter en la [pregunta `Trust ?`](/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`. +Si respondes `n` o presionas Enter en la [pregunta `Trust ?`](/docs/es/remote-control#requirements), el comando imprime un mensaje `Remote Control did not start` que nombra el directorio y termina con código 1. Vuelve a ejecutar `claude rc` para responder `y`. **Qué hacer:** -* 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 nuevamente -* En su directorio de inicio, cambie a un directorio de proyecto e inicie Remote Control allí +* Primero confía en el directorio desde una terminal: ejecuta `claude rc` allí y responde `y`, o ejecuta `claude` allí 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 +* En tu directorio home, cambia a un directorio de proyecto e inicia Remote Control allí -Antes de v2.1.284, el comando nunca preguntó, incluso en una terminal. +Antes de v2.1.284, el comando nunca preguntaba, ni siquiera en una terminal.

- No se trasladó a las sesiones que inicia Remote Control + No se transfiere a las sesiones que inicia Remote Control

-Inició [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: +Iniciaste [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: ```text theme={null} Error: `--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`). ``` -Claude 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. +Claude Code no rechaza los flags globales que es inofensivo descartar, como `--verbose`, `--model`, o un `--session-id` o `--plugin-dir` inyectado por un wrapper: los ignora y Remote Control se inicia. -Claude 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. +Claude Code también se niega a iniciar con un flag global que aún 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. **Qué hacer:** -* 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 enumera -* Cuando la bandera rechazada es `--permission-mode`, ejecute `claude remote-control --permission-mode ` para establecer el modo de permiso para las sesiones que inicia Remote Control +* 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 +* Cuando el flag rechazado sea `--permission-mode`, ejecuta `claude remote-control --permission-mode ` para establecer el modo de permisos de las sesiones que inicia Remote Control -Antes 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`. +Antes 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`.

- claude import aún no está disponible en esta compilación + claude import todavía no está disponible en esta compilación

-Ejecutó [`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. +Ejecutaste [`claude import`](/docs/es/cli-reference#cli-commands) y Claude Code encontró el flujo de importación desactivado, así que el comando termina 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 prompt e iniciaba una sesión interactiva en lugar de imprimir este mensaje. ```text theme={null} `claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly. ``` -Claude 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: +Claude 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: -* 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. -* 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. -* 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. +* 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 aunque la función esté disponible para ti. +* Usas Claude Code a través de Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry o Claude Platform on 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. +* 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. **Qué hacer:** -* En una instalación nueva, inicie `claude`, espere a que la sesión se cargue, salga y ejecute `claude import` nuevamente -* 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. +* En una instalación nueva, inicia `claude`, espera a que se cargue la sesión, sal y vuelve a ejecutar `claude import` +* Donde la obtención de feature flags siga 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), los [skills y comandos](/docs/es/skills#where-skills-live) y los [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 solo contiene el [modo de permisos](/docs/es/settings-reference#permission-settings); Claude Code no lee servidores MCP desde él.

No se pudo leer la configuración de Claude Code

-Ejecutó [`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. +Ejecutaste [`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 comprobar la disponibilidad, pero no muestra el diálogo de recuperación que muestra la sesión interactiva, así que termina 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 se encargaba del archivo. ```text theme={null} Could not read Claude Code config — run `claude` with no arguments to recover it. @@ -3116,31 +3194,31 @@ Could not read Claude Code config — run `claude` with no arguments to recover **Qué hacer:** -* Ejecute `claude` sin argumentos. Claude Code detecta el archivo inválido y ofrece restablecerlo. Luego ejecute `claude import` nuevamente. -* 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` +* Ejecuta `claude` sin argumentos. Claude Code detecta el archivo no válido y ofrece restablecerlo. Luego vuelve a ejecutar `claude import`. +* Para conservar las ediciones manuales que hayas hecho, corrige en su lugar la sintaxis JSON de `~/.claude.json` en un editor y luego vuelve a ejecutar `claude import`

No se pudo importar un servidor desde Claude Desktop

-Claude 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. +Claude 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. ```text theme={null} Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores. ``` -El 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. +El texto después del nombre del servidor es el motivo. El más común es la comprobació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. **Qué hacer:** -* 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` nuevamente -* 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). +* 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` +* 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).

- No se puede agregar servidor MCP al alcance administrado + No se puede agregar el servidor MCP al alcance managed

-Ejecutó `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. +Ejecutaste `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. ```text theme={null} Cannot add MCP server to scope: managed @@ -3148,121 +3226,138 @@ Cannot add MCP server to scope: managed **Qué hacer:** -* 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) -* 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 implementa +* 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) +* 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 + +

+ No se puede agregar el servidor MCP cuando la configuración administrada solo permite servidores de plugins +

+ +Ejecutaste `claude mcp add` o `claude mcp add-json` mientras la configuración administrada de tu organización establece [`strictPluginOnlyCustomization`](/docs/es/settings-reference#strictpluginonlycustomization) en `true` o en una lista que incluye `mcp`. Con ese ajuste, Claude Code no carga servidores MCP desde `~/.claude.json` ni `.mcp.json`, así que el comando termina con código 1 en lugar de guardar un servidor que nunca se cargaría: + +```text theme={null} +Cannot add MCP server: your organization's managed settings allow only MCP servers that plugins provide. Install a plugin that provides this server, or ask your administrator to make it available. +``` + +`claude mcp add-from-claude-desktop` informa cada servidor que seleccionas como no importado, con este mensaje como motivo. [`/import`](/docs/es/commands#all-commands) informa este mensaje para cada servidor MCP que intenta agregar y aun así importa los demás elementos que encontró. + +Antes de v2.1.284, estos comandos guardaban el servidor e informaban éxito, y el servidor nunca se cargaba. + +**Qué hacer:** + +* Instala un [plugin](/docs/es/plugins/install) que proporcione el servidor +* Pide a tu administrador que distribuya el servidor en un [plugin](/docs/es/plugins/org), o que lo proporcione mediante [`managedMcpServers`](/docs/es/settings-reference#managedmcpservers) si es un servidor remoto HTTP o SSE

No se puede leer .mcp.json

-Un 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. +Un 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 de tu directorio actual no es un archivo regular o pesa más de 2 MiB, así que termina con este error en lugar de leer el archivo. ```text theme={null} Can'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. ``` -Antes 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. +Antes de v2.1.257, un FIFO en `.mcp.json` dejaba el comando esperando indefinidamente sin ninguna salida, y un enlace simbólico a un archivo de dispositivo como `/dev/zero` hacía crecer la memoria hasta que se terminaba el proceso. **Qué hacer:** -* 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. +* Comprueba qué hay en `.mcp.json` en tu directorio actual. Reemplázalo por un archivo JSON normal en el [formato de alcance de proyecto](/docs/es/mcp#project-scope), o elimínalo, y luego vuelve a ejecutar el comando.

El servidor MCP no se guardó ni se eliminó

-Ejecutó `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. +Ejecutaste `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. ```text theme={null} MCP 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. ``` -Despué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)`. +Despué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 del proyecto al que pertenece la entrada, como `(local scope for /path/to/project)`. -Antes 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. +Antes 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. **Qué hacer:** -* 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. +* 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.

- El servidor MCP puede no haber sido guardado o eliminado + Es posible que el servidor MCP no se haya guardado o eliminado

-Ejecutó `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. +Ejecutaste `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. ```text theme={null} MCP 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. ``` -Despué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`. +Despué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`. -Antes de v2.1.283, los comandos reportaban éxito incluso cuando el cambio no podía ser confirmado. +Antes de v2.1.283, los comandos informaban éxito incluso cuando no se podía confirmar el cambio. **Qué hacer:** -* Ejecute `claude mcp get ` 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. -* 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. +* Ejecuta `claude mcp get ` para comprobar si el cambio está en el disco. Para un servidor de alcance `local`, ejecútalo desde el directorio del proyecto al que pertenece el servidor, ya que el alcance local es por proyecto. +* 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.

El servidor está alojado por Anthropic y no admite OAuth local

-Inició 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). +Iniciaste un inicio de sesión para un servidor MCP cuya URL apunta a un host de conector 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 de 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). ```text theme={null} "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. ``` -Claude 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. - **Qué hacer:** -* Elimine su entrada con `claude mcp remove `, para que no pueda ocultar el conector de claude.ai en la misma URL -* 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.ai +* Elimina tu entrada con `claude mcp remove `, para que no pueda ocultar el conector de claude.ai en la misma URL +* 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 automáticamente en Claude Code](/docs/es/mcp#use-mcp-servers-from-claude-ai) si tu método de autenticación activo es un inicio de sesión con suscripción de claude.ai

- El servidor rechazó el encabezado de autorización acuñado por el headersHelper configurado + El servidor rechazó el encabezado Authorization generado por el headersHelper configurado

-Un 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: +Un 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 que la conexión falló. Como el helper proporciona el encabezado `Authorization`, Claude Code [no recurre a OAuth](/docs/es/mcp#authenticate-with-remote-mcp-servers) para el servidor: ```text theme={null} Server 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. ``` -Claude 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. +Claude 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. **Qué hacer:** -* 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 acepte -* Después de corregir el helper o su fuente de credencial, seleccione el servidor en `/mcp` y elija **Reconnect** +* Ejecuta tú mismo el comando `headersHelper` de la misma 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 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. Comprueba que imprima un valor de `Authorization` que el endpoint del servidor acepte +* Después de corregir el helper o el origen de su credencial, selecciona el servidor en `/mcp` y elige **Reconnect** -Antes 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. +Antes de v2.1.248, Claude Code ejecutaba el descubrimiento de OAuth para un servidor cuyo helper proporcionaba el encabezado `Authorization`. Ese descubrimiento podía fallar con `Incompatible auth server: does not support dynamic client registration` en lugar de informar la credencial rechazada.

- Herramienta de solicitud de permiso MCP no encontrada + No se encontró la herramienta de solicitud de permisos de MCP

-La 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. +La 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 código de salida 1, en la primera llamada a herramienta, así que no produce ninguna respuesta aunque la solicitud se haya realizado. 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. ```text theme={null} Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none ``` -La lista después de `Available MCP tools:` nombra las herramientas MCP que estaban conectadas cuando terminó la espera. +La lista después de `Available MCP tools:` nombra las herramientas MCP que estaban conectadas. **Qué hacer:** -* 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 conectado -* Confirme que el nombre de la herramienta coincida con el nombre `mcp____` que expone el servidor -* Si el servidor necesita más de 30 segundos para iniciarse, aumente [`MCP_TIMEOUT`](/docs/es/env-vars) +* Comprueba que el servidor se inicie y permanezca conectado: ejecuta `claude mcp list` en el mismo directorio y confirma que el servidor aparece como conectado +* Confirma que el nombre de la herramienta coincide con el nombre `mcp____` que expone el servidor +* Si el servidor necesita más de 30 segundos para iniciarse, aumenta [`MCP_TIMEOUT`](/docs/es/env-vars)

- El puerto de devolución de llamada OAuth ya está en uso + El puerto de callback de OAuth ya está en uso

-Cuando 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. +Cuando 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 sobre todo 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. ```text theme={null} OAuth callback port is already in use — another process may be holding it. Run `lsof -ti: -sTCP:LISTEN` to find it. @@ -3272,32 +3367,32 @@ En Windows, el comando sugerido es `netstat -ano | findstr :` en su lugar. **Qué hacer:** -* Ejecute el comando del mensaje para encontrar el proceso que mantiene el puerto, y deténgalo o espere a que termine -* 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 use -* Luego inicie el inicio de sesión nuevamente, por ejemplo seleccionando el servidor en `/mcp` +* Ejecuta el comando del mensaje para encontrar el proceso que ocupa el puerto, y detenlo o espera a que termine +* 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 +* Luego vuelve a iniciar el inicio de sesión, por ejemplo seleccionando el servidor en `/mcp`

- No hay puertos disponibles para redirección OAuth + No hay puertos disponibles para la redirección de OAuth

-Cuando 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. +Cuando 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 un software de seguridad o una política de sandbox que deniega los listeners locales. ```text theme={null} No available ports for OAuth redirect ``` -Antes 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. +Antes 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 sus puertos elegidos 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. **Qué hacer:** -* 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 local -* Luego inicie el inicio de sesión nuevamente, por ejemplo seleccionando el servidor en `/mcp` +* Comprueba si un 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 +* Luego vuelve a iniciar el inicio de sesión, por ejemplo seleccionando el servidor en `/mcp`

/security-review falla sin origin/HEAD

-[`/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. +[`/security-review`](/docs/es/commands#all-commands) construye su contexto de revisión generando el diff de tu rama contra `origin/HEAD`, la ref local que registra qué rama es la predeterminada en tu remoto `origin`. Cuando esa ref no existe, los comandos de git que recopilan el diff fallan y la revisión se detiene antes de empezar. ```text theme={null} Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr] @@ -3306,28 +3401,28 @@ Use '--' to separate paths from revisions, like this: 'git [...] -- [...]' ``` -El 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: +El mensaje puede citar `git log` u otro `git diff` en su lugar. Git crea `origin/HEAD` solo cuando el remoto anuncia una rama predeterminada y tu refspec de fetch la cubre, lo cual ocurre con un `git clone` completo de un remoto con commits. La ref falta en estas configuraciones: -* Un checkout de rama única o CI, que obtiene un refspec demasiado estrecho -* Un remoto cuyo HEAD del lado del servidor apunta a una rama que nadie envió -* Un repositorio sin remoto `origin`, o uno del que nunca obtuvo +* Un checkout de una sola rama o de CI, que obtiene un refspec demasiado limitado +* Un remoto cuyo HEAD del lado del servidor apunta a una rama que nadie ha subido +* Un repositorio sin remoto `origin`, o uno del que nunca hiciste fetch -Claude 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: +Claude Code muestra el mismo error para cualquier skill que [inyecte 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 disparan antes de que el comando llegue a ejecutarse: -* `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` -* ``Skill 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) +* `Shell command permission check failed for pattern "..."`: la comprobación de permisos del comando no lo permitió. [Comprobaciones 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` +* ``Skill 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) **Qué hacer:** -* Cree la ref nombrando la rama predeterminada de su remoto: `git remote set-head origin `. Esto funciona siempre que exista la ref de seguimiento local `origin/`. Si no existe, como en clones de rama única, obtenga la rama primero: ejecute `git remote set-branches --add origin `, luego `git fetch origin`, luego vuelva a ejecutar el comando set-head. Vuelva a ejecutar `/security-review`. -* 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. -* Si el repositorio no tiene remoto, agregue uno con `git remote add origin ` 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. +* Crea la ref nombrando la rama predeterminada de tu remoto: `git remote set-head origin `. Esto funciona siempre que exista la ref de seguimiento local `origin/`. Si no existe, como en los clones de una sola rama, primero obtén la rama: ejecuta `git remote set-branches --add origin `, luego `git fetch origin`, y después vuelve a ejecutar el comando set-head. Vuelve a ejecutar `/security-review`. +* 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. +* Si el repositorio no tiene remoto, agrega uno con `git remote add origin ` y haz fetch antes de crear la ref. 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.

- Se debe proporcionar entrada cuando se usa `--print` + Se debe proporcionar una entrada al usar `--print`

-`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. +`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) en su lugar. 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 por stdin produce el mismo error en cualquier lugar. ```text theme={null} Error: Input must be provided either through stdin or as a prompt argument when using --print @@ -3335,173 +3430,201 @@ Error: Input must be provided either through stdin or as a prompt argument when **Qué hacer:** -* 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 salida -* 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` +* 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 +* Para uso puntual, pasa el prompt: `claude -p "your question"`, o canalízalo con `echo "your question" | claude -p` + +

+ Claude Code no puede leer el teclado aquí +

+ +Ejecutaste `claude` sin [`-p`](/docs/es/headless), lo que inicia una [sesión interactiva](/docs/es/interactive-mode), pero su entrada estándar no es una terminal. Algo la canalizó o la redirigió, o el programa que inició `claude` proporcionó su propio flujo de entrada. + +Una sesión interactiva necesita una terminal desde la cual leer tus pulsaciones de teclas, y lo que hace Claude Code sin una depende de tu plataforma: + +* **Windows**: Claude Code imprime el mensaje en stderr y termina con código 1 en lugar de iniciar la interfaz +* **macOS y Linux**: Claude Code lee tus pulsaciones de teclas desde `/dev/tty` e inicia la sesión, con cualquier texto canalizado como tu primer prompt. Ves el mensaje cuando no se puede abrir `/dev/tty`, y su primera línea nombra `/dev/tty` en lugar del texto de Windows. + +En Windows, el mensaje dice: + +```text theme={null} +Claude Code can't read the keyboard here: stdin is not a terminal (it is piped, redirected, or supplied by the program that launched claude), and on Windows it can't fall back to the console for input yet. +Run claude directly in Windows Terminal, PowerShell, or Command Prompt, without piping or redirecting its input. +To send text as a prompt and print the reply instead, add -p; it also works with --continue and --resume (for example: type notes.md | claude -p --continue). +``` + +**Qué hacer:** + +* Para trabajar de forma interactiva, ejecuta `claude` directamente en una terminal, sin canalizar ni redirigir su entrada +* Para obtener una respuesta sin la interfaz interactiva, por ejemplo desde un script, agrega `-p` y proporciona el prompt como argumento o por stdin, como en `claude -p "your question"` o `echo "your question" | claude -p`. Lo mismo funciona con `--continue` y `--resume `. + +Antes de v2.1.287, Claude Code iniciaba la interfaz en lugar de imprimir este mensaje, y luego no mostraba nada en pantalla o fallaba con un error que contenía `Raw mode is not supported`. + +Si ves `Raw mode is not supported` durante `claude install`, consulta [`Raw mode is not supported` durante la instalación](/docs/es/troubleshoot-install#raw-mode-is-not-supported-during-install).

- La entrada contenía solo espacios en blanco + La entrada solo contenía espacios en blanco

-En [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: +En [modo no interactivo](/docs/es/headless), Claude Code rechaza un prompt compuesto solo por 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 vino el prompt en blanco: -* **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` -* **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.` +* **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` +* **Mensaje enviado a una sesión en ejecución de `--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.` -Antes 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. +Antes de v2.1.229, Claude Code enviaba el mensaje compuesto solo por espacios en blanco a la API, que rechazaba la solicitud con un error 400. **Qué hacer:** -* 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. +* Incluye texto visible en el prompt. Si un script construye el prompt a partir de una variable o un archivo, comprueba que el origen no esté vacío antes de llamar a Claude Code.

- stream-json input llevaba más de 256M caracteres sin salto de línea + La entrada stream-json contenía más de 256M caracteres sin salto de línea

-Su 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. +Tu 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 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. ```text theme={null} Error: 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. ``` -La 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. +Una 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 log en texto plano canalizada por accidente. Un solo mensaje que supere el límite no pasa la misma comprobación. **Qué hacer:** -* 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ínea -* 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 predeterminada +* Comprueba 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 en salto de línea +* Para enviar texto plano en su lugar, quita `--input-format stream-json`; `claude -p` lee de forma predeterminada un prompt de texto plano desde stdin

Comando desconocido

-En 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: +En 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: ```text theme={null} Unknown command: /hepl. Did you mean /help? ``` -Claude 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: +Claude Code sugiere el nombre de comando o alias más cercano que el menú muestra en esta sesión. Cuando no hay nada cercano, el mensaje termina después del nombre. La causa suele ser una de las siguientes: -* 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 enviar -* 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) -* 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ón +* Un error tipográfico, como `/hepl` por `/help`. [Cómo el menú de comandos coincide con lo que escribes](/docs/es/commands#how-the-command-menu-matches-what-you-type) explica cómo elegir una coincidencia cercana antes de enviar +* 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) recorren 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) +* 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 -Claude 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: +Claude Code responde así 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: -* Ejecuciones `-p` -* Aplicaciones [Agent SDK](/docs/es/agent-sdk/overview) -* La pestaña Code de la [aplicación Desktop](/docs/es/desktop) -* El panel de chat de la [extensión VS Code](/docs/es/vs-code) +* Ejecuciones con `-p` +* Aplicaciones del [Agent SDK](/docs/es/agent-sdk/overview) +* La pestaña Code de la [aplicación de escritorio](/docs/es/desktop) +* El panel de chat de la [extensión de VS Code](/docs/es/vs-code) * [Sesiones en la nube](/docs/es/claude-code-on-the-web) y [rutinas](/docs/es/routines) -Para 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`. +Para un comando integrado que no puede ejecutarse 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`. -Claude 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`. +Claude Code no trata como comando todo prompt que empiece con `/`. Envía el prompt a Claude como un mensaje normal cuando la primera palabra después de `/` empieza 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`. -Antes 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. +Antes 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 tipográfico como `/hepl` ejecutaba `/help` en lugar de producir este mensaje. **Qué hacer:** -* Ejecute el nombre sugerido, o escriba `/` seguido de parte del nombre para ver qué está disponible en esta sesión -* Si Claude Code reporta un comando documentado como desconocido, verifique su fila en la [referencia de comandos](/docs/es/commands) para el requisito que nombra +* Ejecuta el nombre sugerido, o escribe `/` seguido de parte del nombre para ver qué está disponible en esta sesión +* 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 indica

- La comparación es demasiado grande para ultrareview + El diff es demasiado grande para ultrareview

-La 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. +El 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 consume una ejecución gratuita ni factura 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 solo mostraba las estadísticas sin procesar del diff. ```text theme={null} Diff 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 `) to narrow the scope, or split the change. ``` -Revisar una solicitud de extracción aplica los mismos límites; esa forma del mensaje comienza `PR # is too large for ultrareview` y nombra los recuentos de archivo y línea de la PR. +Revisar un pull request aplica los mismos límites; esa forma del mensaje empieza con `PR # is too large for ultrareview` y nombra la cantidad de archivos y líneas del PR. **Qué hacer:** -* 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 rama -* 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. +* 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 +* 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.

- No se pudo encontrar merge-base con la rama base + No se pudo encontrar el merge-base con la rama base

-`/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. +`/code-review ultra` y el subcomando `claude ultrareview` revisan el diff entre tu rama y una rama base, lo que necesita 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 rastreados](/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 de todo el árbol no es posible, como con el formato de objetos SHA-256. ```text theme={null} Could 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. ``` -La sugerencia después de la primera oración depende de lo que Claude Code observó: +La sugerencia después de la primera oración depende de lo que observó Claude Code: -* **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 anterior -* **Pasó una rama base que ya estaba en su clon**: la sugerencia lee ``Make sure exists locally or on origin (try `git fetch origin `)`` -* **Pasó una rama base que no estaba en su clon**: Claude Code la obtuvo de origin antes de comparar. La sugerencia lee `` was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra `)``; 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`. +* **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 +* **Pasaste una rama base que ya estaba en tu clon**: la sugerencia dice ``Make sure exists locally or on origin (try `git fetch origin `)`` +* **Pasaste una rama base que no estaba en tu clon**: Claude Code la obtuvo de origin antes de comparar. La sugerencia dice `` was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra `)``; 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`. **Qué hacer:** -* Si otra rama es su base real, pásela explícitamente: `/code-review ultra ` -* Si su clon podría no tener historial completo, ejecute `git fetch --unshallow origin` y vuelva a ejecutar la revisión +* Si otra rama es tu base real, pásala explícitamente: `/code-review ultra ` +* Si es posible que tu clon no tenga el historial completo, ejecuta `git fetch --unshallow origin` y vuelve a ejecutar la revisión

- Su checkout no tiene ramas + Tu checkout no tiene ramas

-Un checkout puede tener commits pero sin ramas: si ejecuta `git init` seguido de `git fetch ` 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. +Un checkout puede tener commits pero ninguna rama: si ejecutas `git init` seguido de `git fetch ` y `git checkout FETCH_HEAD`, obtienes un HEAD desvinculado sin refs. Claude Code empaqueta tu repositorio como un bundle de git para subirlo a un [ultrareview](/docs/es/ultrareview), y no puede empaquetar un repositorio que no tiene ramas ni otras refs, 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. ```text theme={null} Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b ` — then rerun /code-review ultra. ``` -Antes de v2.1.221, Claude Code intentaba revisar cada archivo rastreado en este checkout, y la carga fallaba. +Antes de v2.1.221, Claude Code intentaba revisar todos los archivos rastreados de este checkout, y la subida fallaba. **Qué hacer:** -* Cree una rama en su commit actual con `git checkout -b `, luego vuelva a ejecutar la revisión +* Crea una rama en tu commit actual con `git checkout -b ` y luego vuelve a ejecutar la revisión

- Ninguna cuenta de GitHub está conectada a su cuenta de Claude + No hay ninguna cuenta de GitHub conectada a tu cuenta de Claude

-Ejecutó `/code-review ultra ` o `claude ultrareview `, 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. +Ejecutaste `/code-review ultra ` o `claude ultrareview `, 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 expiró, así que la clonación en la nube fallaría y Claude Code rechaza el inicio. Claude Code no consume una ejecución gratuita ni factura créditos de uso por un inicio rechazado. ```text theme={null} Ultrareview clones / 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). ``` -Cuando [`/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. +Cuando [`/web-setup`](/docs/es/web-quickstart#connect-from-your-terminal) no está disponible en tu sesión, el mensaje solo nombra el enlace de claude.ai. **Qué hacer:** -* 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) -* Vuelva a ejecutar la revisión un minuto después de conectar +* Ejecuta `/web-setup` para conectar el inicio de sesión de tu GitHub CLI a tu cuenta de Claude, o conecta una cuenta en [claude.ai/connect-github](https://claude.ai/connect-github) +* Vuelve a ejecutar la revisión un minuto después de conectarte -Antes de v2.1.248, Claude Code no verificaba esto antes del lanzamiento. +Antes de v2.1.248, Claude Code no comprobaba esto antes del inicio.

- Su cuenta de GitHub conectada no puede ver el repositorio + Tu cuenta de GitHub conectada no puede ver el repositorio

-Ejecutó `/code-review ultra ` o `claude ultrareview `, 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. +Ejecutaste `/code-review ultra ` o `claude ultrareview `, 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 la clonación en la nube fallaría y Claude Code rechaza el inicio. Claude Code no consume una ejecución gratuita ni factura créditos de uso por un inicio rechazado. ```text theme={null} Your connected GitHub account can't see / — usually the Claude GitHub app isn't installed on 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. ``` -Cuando [`/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. +Cuando [`/web-setup`](/docs/es/web-quickstart#connect-from-your-terminal) no está disponible en tu sesión, el mensaje solo nombra la instalación de la aplicación. **Qué hacer:** -* Si su CLI `gh` local puede leer el repositorio, ejecute `/web-setup` para conectar ese inicio de sesión a su cuenta de Claude -* Vuelva a ejecutar la revisión después del cambio +* Si tu CLI `gh` local puede leer el repositorio, ejecuta `/web-setup` para conectar ese inicio de sesión a tu cuenta de Claude +* Vuelve a ejecutar la revisión después del cambio -Antes de v2.1.248, Claude Code no verificaba esto antes del lanzamiento. +Antes de v2.1.248, Claude Code no comprobaba esto antes del inicio.

- La verificación previa de la aplicación de GitHub falló transitoriamente + La comprobación previa de la GitHub App falló de forma transitoria

-Inició 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 ()`, y termina con la oración de verificación previa: +Iniciaste 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, comprobó si el servicio en la nube puede clonar el repositorio desde GitHub, y en lugar de una respuesta definitiva, esa comprobació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 empieza con lo que detuvo el bundle, por ejemplo `Could not upload repo bundle ()`, y termina con la oración de la comprobación previa: ```text theme={null} Could not upload repo bundle (). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead @@ -3509,53 +3632,84 @@ Could not upload repo bundle (). The GitHub App preflight failed transien **Qué hacer:** -* 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 lanzamiento -* 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 lugar +* Vuelve a ejecutar el comando después de un momento. Cuando la comprobación de GitHub tiene éxito, Claude Code puede iniciar la sesión desde un clon de GitHub, así que la subida fallida ya no bloquea el inicio +* Si los reintentos siguen fallando, el inicio del mensaje nombra lo que detuvo la subida. Cuando esa causa es algo que puedes corregir, corrígelo para que la sesión pueda iniciarse desde tu repositorio local -Antes 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. +Antes de v2.1.251, Claude Code terminaba el mensaje con `Please set up GitHub on https://claude.ai/code` incluso cuando la comprobación de GitHub fallaba solo de forma transitoria, y un consejo de configuración no puede resolver un fallo transitorio.

- La carga del repositorio no puede seguir una configuración de git + La subida del repositorio no puede seguir un ajuste de git

-Inició 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: +Iniciaste 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 omitiera 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: ```text theme={null} -Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in , 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. +Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in , 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. ``` -El 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. +El mensaje nombra el ajuste y dónde está establecido, y termina con la solución para el caso en el que te encuentras. El mismo rechazo aparece para `core.attributesFile` y `attr.tree`, cada uno con su propia solución. -El 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. +El 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. **Qué hacer:** -* Aplique la solución en la oración final del mensaje +* Aplica la solución de la última oración del mensaje

- GitHub no está conectado a su cuenta de Claude + GitHub no está conectado a tu cuenta de Claude

-Inició 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: +Iniciaste 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 expiró, así que Claude Code rechaza el inicio: ```text theme={null} GitHub 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 ``` -Cuando 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. +Cuando 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. **Qué hacer:** -* 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. -* Vuelva a ejecutar el comando un minuto después de conectar +* Ejecuta `/web-setup` para conectar el inicio de sesión de tu GitHub CLI 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 ambas. +* Vuelve a ejecutar el comando un minuto después de conectarte + +Antes de v2.1.268, Claude Code informaba esto como un fallo temporal de la comprobació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. -Antes 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. +

+ Una política de la organización de GitHub está bloqueando a Claude +

+ +Ejecutaste un comando en el prompt de Claude Code que inicia una sesión en la nube, como [`/autofix-pr`](/docs/es/claude-code-on-the-web#auto-fix-pull-requests). Antes de crear la sesión, Claude Code verifica el acceso de Claude al repositorio en GitHub, y GitHub lo rechazó porque tu organización de GitHub tiene una política que bloquea a Claude. Claude Code se detiene ahí y muestra un mensaje que nombra la política. + +Cuando lo que bloquea el acceso es una lista de IP permitidas, el mensaje dice: + +```text theme={null} +Your GitHub organization has an IP allowlist that is blocking Claude. Add Claude's IP ranges to your GitHub allowlist. +``` + +Cuando lo que lo bloquea es el inicio de sesión único, el mensaje dice: + +```text theme={null} +Your GitHub organization requires single sign-on. Disconnect and reconnect GitHub on the Connectors page in Claude on the web, click Authorize next to your organization when GitHub asks, then try again. +``` + +Cuando lo que lo bloquea es una política de acceso condicional de Microsoft Entra ID, el mensaje dice: + +```text theme={null} +Your GitHub organization's identity provider (Microsoft Entra ID) has a Conditional Access policy that is blocking Claude. Ask your GitHub Enterprise or Entra ID admin to allow Claude in that policy. +``` + +**Qué hacer:** + +* **Lista de IP permitidas**: pide a un propietario de tu organización o empresa de GitHub que permita las direcciones IP de salida de Anthropic. Consulta [Listas de permitidos y firewalls de GitHub](/docs/es/network-config#github-allow-lists-and-firewalls) para conocer las direcciones y la configuración de GitHub que debes cambiar. +* **Inicio de sesión único**: desconecta GitHub en [claude.ai/customize/connectors](https://claude.ai/customize/connectors) y luego vuelve a conectarlo. Cuando GitHub lo solicite, haz clic en **Authorize** junto a tu organización para que la nueva conexión quede autorizada para su inicio de sesión único. +* **Política de acceso condicional**: pide a tu administrador de GitHub Enterprise o de Microsoft Entra ID que permita a Claude en esa política +* Después del cambio, vuelve a ejecutar el comando

- Autorización de inicio de sesión único necesaria + Se necesita autorización de inicio de sesión único

-Ejecutó [`/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: +Ejecutaste [`/install-github-app`](/docs/es/github-actions#quick-setup) y elegiste un repositorio cuya organización exige 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: ```text theme={null} Single sign-on authorization needed @@ -3564,108 +3718,108 @@ Single sign-on authorization needed **Qué hacer:** -* 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 único -* 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ón -* Ejecute `/install-github-app` nuevamente +* Vuelve a autorizar tu inicio de sesión en 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 te solicite el inicio de sesión único +* 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 +* Vuelve a ejecutar `/install-github-app` -Antes de v2.1.273, Claude Code mostraba la advertencia `Admin permissions required` para esta condición en su lugar. +Antes de v2.1.273, Claude Code mostraba en su lugar la advertencia `Admin permissions required` para esta condición.

No se pudo reanudar la conversación

-Claude 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: +Claude 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 parcialmente cargado. El mensaje incluye el comando para reintentar: ```text theme={null} Failed to resume the conversation. Run claude --resume to retry, or claude to start a new session. ``` -Claude 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. +Claude Code termina con el código 1 después de mostrar el mensaje. En cambio, el selector de `/resume` dentro de una sesión en ejecución informa `Failed to resume conversation` en la conversación, 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. **Qué hacer:** -* Ejecute `claude --resume ` con el ID de sesión del mensaje para reintentar -* 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. -* Si el reintento falla nuevamente, ejecute `claude` para iniciar una nueva sesión +* Ejecuta `claude --resume ` con el ID de sesión del mensaje para reintentar +* En una versión anterior a v2.1.285, si el reintento falla de la misma manera, ejecuta `claude update` y vuelve a reanudar. Esas versiones hacen fallar la reanudación cuando la transcripción guardada contiene una entrada que no pueden leer. +* Si el reintento vuelve a fallar, ejecuta `claude` para iniciar una nueva sesión

- No se encontró conversación con el ID de sesión + No se encontró ninguna conversación con el ID de sesión

-Pasó un ID de sesión a `claude --resume ` y ninguna transcripción guardada coincidió: +Pasaste un ID de sesión a `claude --resume ` y ninguna transcripción guardada coincidió con él: ```text theme={null} No conversation found with session ID: ``` -Claude 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. +Claude 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. -Las causas comunes: +Causas comunes: -* **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) -* **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) -* **Máquina diferente**: Claude Code almacena transcripciones localmente, por lo que reanude la sesión en la máquina donde se ejecutó -* **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 arbitrariamente +* **ID mal escrito**: en 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) +* **Transcripción eliminada**: Claude Code elimina las transcripciones después del [período de retención](/docs/es/sessions#where-transcripts-are-stored), de 30 días por defecto, según las [reglas de limpieza por retención](/docs/es/claude-directory#cleaned-up-automatically) +* **Máquina diferente**: Claude Code almacena las transcripciones localmente, así que reanuda la sesión en la máquina donde se ejecutó +* **Copias duplicadas**: si copiaste un directorio de proyecto en `~/.claude/projects` de modo que dos transcripciones tienen el mismo ID, Claude Code muestra este mensaje en lugar de reanudar una de las copias arbitrariamente **Qué hacer:** -* 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ón -* 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ó +* 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; luego selecciona la sesión +* 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

- Windows reportó un error (EBADF) cuando Claude Code leyó el archivo de transcripción de esta sesión + Windows informó un error (EBADF) cuando Claude Code leyó el archivo de transcripción de esta sesión

-Reanudó 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: +Reanudaste 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 indica por qué falló la lectura, así que el mensaje sugiere causas probables y qué intentar: ```text theme={null} Windows 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. ``` -El mensaje sigue la línea de fallo propio del comando, como `Failed to resume session `. 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. +El mensaje aparece después de la propia línea de error del comando, como `Failed to resume session `. 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. **Qué hacer:** -* 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) nombra -* Si no puede agregar una exclusión, agregue Claude Code a las aplicaciones permitidas de ese software en su lugar -* Reanude la sesión nuevamente +* Excluye la carpeta que contiene tus transcripciones de sesión 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` por defecto, o en el directorio que indique [`CLAUDE_CONFIG_DIR`](/docs/es/env-vars) +* Si no puedes agregar una exclusión, agrega Claude Code a las aplicaciones permitidas de ese software +* Vuelve a reanudar la sesión -Antes de v2.1.282, el fallo vino sin explicación: `claude --resume ` terminó en `Failed to resume session `, y una ejecución `-p` imprimió solo el texto de error del sistema, como `Failed to resume session: EBADF: bad file descriptor, read`. +Antes de v2.1.282, el error llegaba sin explicación: `claude --resume ` terminaba en `Failed to resume session `, 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`.

- No se puede cambiar renderizadores en esta sesión + No se puede cambiar de renderizador en esta sesión

-Cuando 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: +Cuando 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: -* `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` nuevamente -* `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 ellas +* `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 vuelve a ejecutar `/tui fullscreen` o `/tui default` +* `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 todos modos y la sesión relanzada se ejecutaba sin ellas -En el mensaje de restricciones, la parte entre paréntesis nombra las restricciones que Claude Code encontró: +En el mensaje de restricciones, la parte entre paréntesis nombra las restricciones que encontró Claude Code: ```text theme={null} Cannot 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. ``` -Cada razón que el mensaje puede mostrar entre paréntesis: +Cada motivo que el mensaje puede mostrar entre paréntesis: -* `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) -* `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 lugar -* `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 solicitud -* `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 valor +* `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) +* `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 de denegación o de consulta con el destino `session`. Las reglas de permiso limitadas a la sesión no provocan el rechazo. Un reinicio las descarta, y Claude Code vuelve a pedir permiso en su lugar +* `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 de consulta junto con las reglas que Claude Code vuelve a pasar como `--allowed-tools` y `--disallowed-tools`. No existe ningún flag para las reglas de consulta +* `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 transmitir su texto como el mismo valor **Qué hacer:** -* 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í +* En una sesión iniciada sin esas restricciones, ejecuta `/tui fullscreen`, o `/tui default` para volver al anterior. Claude Code guarda allí el [ajuste `tui`](/docs/es/settings-reference#tui)

No se pudo abrir Claude Desktop

-Ejecutó [`/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. +Ejecutaste [`/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 falló el comando del sistema que Claude Code usa para abrir Claude Desktop. 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. -El 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`: +El 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`: ```text theme={null} Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session= with error -10814). Open Claude Desktop and try again. @@ -3673,18 +3827,18 @@ Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() faile **Qué hacer:** -* Abra Claude Desktop usted mismo, luego ejecute `/desktop` o `claude --desktop` nuevamente -* 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 `, luego verifique el registro de depuración +* Abre Claude Desktop tú mismo y luego vuelve a ejecutar `/desktop` o `claude --desktop` +* Para leer la salida de error completa del comando que falló, activa el registro de depuración con `/debug` y vuelve a ejecutar `/desktop`, o ejecuta `claude --desktop --debug-file `, y luego revisa el registro de depuración -Antes 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ó. +Antes de v2.1.285, el mensaje terminaba con `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 indicaba qué había fallado.

- /terminal-setup dejó su mapa de atajos de teclado de Zed sin cambios + /terminal-setup dejó sin cambios tu keymap de Zed

-Ejecutó [`/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. +Ejecutaste [`/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. -Cada mensaje nombra la ruta a su mapa de atajos de teclado y termina con el bloque de atajos de teclado para agregar usted mismo: +Cada mensaje nombra la ruta de tu keymap y termina con el bloque de atajo de teclado que debes agregar tú mismo: ```text theme={null} Couldn't update your Zed keymap, so it was left unchanged. @@ -3694,23 +3848,23 @@ To add the binding yourself, add this block to the keymap array in - Los reportes de uso de skills no están disponibles en esta conexión + Los informes de uso de skills no están disponibles en esta conexión -Ejecutó [`/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: +Ejecutaste [`/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: ```text theme={null} Skill usage reports are not available on this connection. @@ -3718,13 +3872,13 @@ Skill usage reports are not available on this connection. **Qué hacer:** -* Ejecute `/skill-doctor` en la terminal en la máquina donde se ejecuta la sesión, o ejecute `claude -p "/skill-doctor"` allí +* Ejecuta `/skill-doctor` en la terminal de la máquina donde se ejecuta la sesión, o ejecuta allí `claude -p "/skill-doctor"`

- Los estilos de salida personalizados no se pueden seleccionar sobre Remote Control + Los estilos de salida personalizados no se pueden seleccionar a través de Remote Control

-Ejecutó [`/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: +Ejecutaste [`/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 ese turno puede 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 proporcionaste. 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: ```text theme={null} Custom 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,14 +3886,14 @@ Custom output styles can't be selected over Remote Control or from a relayed mes **Qué hacer:** -* Elija un estilo integrado, por ejemplo `/output-style concise` -* Para usar un estilo personalizado, establezca [`outputStyle`](/docs/es/settings-reference#outputstyle) en `.claude/settings.local.json` del proyecto, o ejecute `/output-style