← Volver a la base de conocimiento

¿Claude Code no conecta aunque el navegador funciona? Configura el proxy del terminal

Sun Oct 25 2026

Si Claude abre en el navegador pero claude se queda esperando o no termina de iniciar sesión en el terminal, comprueba primero si el terminal usa el proxy. La extensión del navegador, el proxy del sistema y las variables del shell son ajustes diferentes.

Esta guía se centra en el CLI independiente de Claude Code, no en Claude Desktop. Debes cumplir los requisitos oficiales de cuenta y región admitida; tener conexión no cambia esas condiciones.

Estos ajustes temporales se aplican al CLI iniciado en primer plano desde este terminal. Para --bg o agentes en segundo plano, sigue la configuración oficial específica: su supervisor persistente no hereda de forma fiable los cambios posteriores del shell.

1. Conecta primero el cliente

La suscripción JMS sirve para configurar los nodos del cliente. Las solicitudes siguen este recorrido:

Claude Code → puerto HTTP/mixed local del cliente → nodo JMS elegido → servicio de Anthropic.

Importa tu suscripción actual en un cliente que admita el protocolo real de los nodos. JMS cambió protocolos durante 2026; no des por hecho que un cliente antiguo exclusivo de Shadowsocks sigue siendo válido. Consulta la guía VLESS/Reality o la configuración de Clash Verge.

Busca el puerto de escucha HTTP o mixed local y mantén el cliente abierto. No es el puerto remoto del servidor, la URL de suscripción, el UUID ni la clave pública Reality. Limita la escucha al equipo; no necesitas activar el acceso desde la LAN.

Según la documentación oficial de red, Claude Code acepta proxies HTTP/HTTPS, pero no SOCKS directamente. Activa la escucha HTTP/mixed o utiliza otro cliente compatible.

2. Configura el terminal que iniciará Claude

Para la primera prueba, usa un terminal separado. Revisa localmente si ya existen https_proxy, HTTPS_PROXY, http_proxy, HTTP_PROXY, all_proxy, ALL_PROXY, no_proxy o NO_PROXY. No publiques sus valores: una URL de proxy puede contener contraseñas.

Claude Code toma el primer valor definido en este orden: https_proxy, HTTPS_PROXY, http_proxy, HTTP_PROXY. Un valor antiguo en minúsculas puede tener prioridad sobre el nuevo en mayúsculas. Otros programas aplican reglas distintas; ALL_PROXY no hace que Claude admita SOCKS. Guarda los valores anteriores de forma privada y resuelve los conflictos antes de sobrescribirlos.

macOS o Linux: Bash/Zsh

7890 solo es un ejemplo. Sustitúyelo por el puerto HTTP/mixed real del cliente antes de ejecutar:

JMS_PROXY_PORT=7890
export HTTPS_PROXY="http://127.0.0.1:${JMS_PROXY_PORT}"
export HTTP_PROXY="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1,::1"
claude

Windows: PowerShell

Cambia también 7890 por tu puerto HTTP/mixed real. Ejecuta esto en PowerShell, no en el símbolo del sistema:

$JmsProxyPort = 7890
$env:HTTPS_PROXY = "http://127.0.0.1:$JmsProxyPort"
$env:HTTP_PROXY = $env:HTTPS_PROXY
$env:NO_PROXY = "localhost,127.0.0.1,::1"
claude

http:// describe la conexión al proxy local; no convierte la conexión HTTPS del destino en HTTP sin cifrar. NO_PROXY mantiene directas las solicitudes locales, lo que ayuda a que la devolución del inicio de sesión llegue al CLI.

Las variables afectan a este terminal y a los procesos que inicie. Una sesión de Claude Code abierta no lee cambios posteriores del shell. Sal, configura las variables y vuelve a ejecutar claude en ese mismo terminal. No hagas persistentes los ajustes hasta completar la prueba.

En WSL, contenedores o SSH, 127.0.0.1 identifica el entorno donde ejecutas el comando, que puede no ser el equipo del cliente. Comprueba la accesibilidad sin exponer el proxy a Internet.

3. Prueba la conexión sin credenciales

Sal de Claude Code y ejecuta la prueba en el terminal configurado. Usa explícitamente el proxy local para consultar el host público de la API, sin enviar una clave API.

macOS/Linux:

curl --proxy "$HTTPS_PROXY" --noproxy "localhost,127.0.0.1,::1" --connect-timeout 10 --max-time 20 --output /dev/null --silent --show-error --write-out 'HTTP %{http_code}\n' https://api.anthropic.com/

En Windows usa curl.exe, para evitar el alias curl de versiones antiguas de PowerShell:

curl.exe --proxy $env:HTTPS_PROXY --noproxy "localhost,127.0.0.1,::1" --connect-timeout 10 --max-time 20 --output NUL --silent --show-error --write-out "HTTP %{http_code}\n" https://api.anthropic.com/

La conexión tiene un límite de 10 segundos y la solicitud completa de 20. HTTP 401, 403 o 404 pueden indicar que llegó una respuesta HTTP; la raíz de la API no es una llamada autenticada al modelo. Examina el error: un resultado distinto de 2xx no demuestra por sí solo un fallo del proxy, y recibir una respuesta no confirma los permisos de la cuenta.

HTTP 000 junto a un error o tiempo agotado significa que no llegó una respuesta HTTP normal. Los errores de certificado requieren un diagnóstico aparte. Mantén la verificación TLS: no añadas -k ni desactives la validación. No publiques enlaces de suscripción, códigos de acceso, tokens ni registros privados.

4. Relaciona el síntoma con la siguiente comprobación

SíntomaQué comprobar
Conexión local rechazadaCliente en ejecución, puerto HTTP/mixed y host correctos
Tiempo agotado o conexión reiniciadaRegistros del cliente, nodo, DNS, cortafuegos y ruta
El navegador inicia sesión, pero el CLI no terminaDevolución local, NO_PROXY, reinicio del CLI y guía oficial de acceso
HTTP 401/403 en una solicitud autenticadaMétodo de acceso, credenciales, políticas de la organización y región admitida
HTTP 429 o límite de usoCuota y frecuencia de solicitudes; cambiar de nodo no añade cuota
Varios dispositivos fallan a la vezRevisar el estado de Anthropic antes de cambiar ajustes

Consulta claude --version, ejecuta claude doctor y actualiza mediante el procedimiento de tu instalación en la guía oficial. Un fallo de versión, una sesión caducada o una incidencia de plataforma pueden parecer problemas de red.

5. Elimina los ajustes temporales

Si estas variables no existían antes de la prueba, elimina solo los valores añadidos:

Bash/Zsh:

unset HTTPS_PROXY HTTP_PROXY NO_PROXY JMS_PROXY_PORT

PowerShell:

Remove-Item Env:HTTPS_PROXY, Env:HTTP_PROXY, Env:NO_PROXY -ErrorAction SilentlyContinue
Remove-Variable JmsProxyPort -ErrorAction SilentlyContinue

Esto elimina los valores actuales; no recupera los valores anteriores sobrescritos. Restáuralos de forma privada si procede y reinicia Claude Code. Revisa por separado la configuración persistente del sistema o del perfil.

Elegir un servicio de conexión

JMS proporciona nodos para un cliente compatible; el cliente y el terminal conectan esos nodos con el CLI. No proporciona una suscripción Anthropic ni garantiza la aprobación de cuentas o la ausencia de suspensiones. Un proxy local tampoco cambia la salida de un conector MCP alojado en la nube.

Compara los planes y la guía de descarga con tus dispositivos y protocolos. Si este método encaja contigo, consulta Just My Socks.

Aviso de afiliación: podemos recibir una comisión si compras a través de ese enlace.