#Auto-refresh del token OAuth de Claude CLI dejó de funcionar tras actualizar a 2026.5.12

1 messages · Page 1 of 1 (latest)

narrow aurora
#

Tras la actualización automática a la versión 2026.5.12 (instalada el 15 de mayo), el token OAuth de Claude CLI ya no se renueva automáticamente. Antes de esta versión llevaba semanas funcionando sin intervención manual.
Síntoma: Cada ~8 horas el bot deja de responder. En los logs aparece No credentials found for profile "anthropic:claude-cli" y cae al fallback.

Antes de esta actualización el auto-refresh funcionaba perfecto.

worthy houndBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

lean pulsarBOT
# narrow aurora Tras la actualización automática a la versión 2026.5.12 (instalada el 15 de mayo...

Lo revisé contra docs/código actuales. Hay dos cosas importantes aquí:

  1. En la config nueva, Claude CLI debería usarse como backend local de Claude, no como un OAuth de Anthropic que OpenClaw refresca por su cuenta. Las docs actuales dicen que Claude CLI debe estar logueado en el mismo host y luego registrar el método CLI:
openclaw --version
claude auth status --text
openclaw models auth login --provider anthropic --method cli --set-default
openclaw doctor --yes
openclaw models status
  1. Si el gateway corre por systemd/launchd, el caso más común es que el servicio no vea el binario claude o no pueda leer el auth headless. En ese caso fija la ruta real del binario:
which claude
lean pulsarBOT
lean pulsarBOT
# narrow aurora Tras la actualización automática a la versión 2026.5.12 (instalada el 15 de mayo...

El mensaje No credentials found for profile "anthropic:claude-cli" sugiere que quedó un perfil/pin stale o que el daemon no ve la auth de Claude CLI cuando el token expira. openclaw doctor --yes debería reparar parte de esa migración; si después de eso vuelve a fallar exactamente a las ~8h, huele a regresión de 2026.5.12 y conviene abrir issue con openclaw --version, openclaw models status, openclaw status --all y el tramo de log redacted: https://github.com/openclaw/openclaw/issues

Docs relevantes:
https://docs.openclaw.ai/providers/anthropic
https://docs.openclaw.ai/gateway/cli-backends
https://docs.openclaw.ai/concepts/oauth

narrow aurora
#

Lo hago como root o como usuario sudo?

lean pulsarBOT
# narrow aurora Lo hago como root o como usuario sudo?

Hazlo con el mismo usuario que ejecuta el gateway, no con root “por si acaso”.

Regla práctica:

  • Si OpenClaw/gateway corre como tu usuario normal: ejecuta claude auth status --text, openclaw models auth login ..., openclaw doctor --yes como ese usuario.
  • Si el gateway corre como servicio systemd de usuario: también como ese usuario, sin sudo.
  • Solo usa root si de verdad instalaste y ejecutas el gateway como root, porque entonces las credenciales vivirán en /root/.claude y /root/.openclaw.

Para comprobarlo:

openclaw gateway status
whoami
echo $HOME

Si haces sudo claude auth login pero el gateway corre como tu usuario normal, OpenClaw no verá esas credenciales. Ese desajuste encaja bastante con el síntoma.

narrow aurora
#

Puedes darme todos los comandos para realizar la instalación perfecta?

lean pulsarBOT
# narrow aurora Puedes darme todos los comandos para realizar la instalación perfecta?

Sí. Para tu caso yo haría esto como el mismo usuario que ejecuta el gateway. No uses sudo salvo que tu gateway corra realmente como root.

Primero, reparación limpia sin reinstalar todo:

whoami
echo "$HOME"
openclaw --version
openclaw gateway status

claude --version
claude auth status --text

openclaw models auth login --provider anthropic --method cli --set-default
openclaw doctor --yes
openclaw gateway restart
lean pulsarBOT
lean pulsarBOT
# narrow aurora Puedes darme todos los comandos para realizar la instalación perfecta?
openclaw gateway restart
openclaw models status

Si quieres una instalación “desde cero” sin root, la ruta recomendada por docs es:

curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon

claude auth login
claude auth status --text
openclaw models auth login --provider anthropic --method cli --set-default

openclaw doctor --yes
lean pulsarBOT
# narrow aurora Puedes darme todos los comandos para realizar la instalación perfecta?
openclaw gateway restart
openclaw gateway status
openclaw models status

Si estás en VPS/headless, hazlo dentro de una sesión SSH del usuario real del servicio. Si después de esto vuelve a caer a las ~8h, guarda el output redacted de:

openclaw --version
openclaw status --all
openclaw models status
openclaw logs --follow

y abre issue, porque ya sería muy probablemente regresión o edge case del refresh/migración en 2026.5.12: https://github.com/openclaw/openclaw/issues

narrow aurora
#

Donde se aloja el auto-refresh dentro de openclaw?

lean pulsarBOT
# narrow aurora Donde se aloja el auto-refresh dentro de openclaw?

Dentro del código, el refresh de credenciales OAuth está principalmente aquí:

  • src/agents/auth-profiles/oauth.ts → decide si un perfil OAuth está expirado y llama al refresh.
  • src/agents/auth-profiles/oauth-manager.ts → serializa el refresh con locks, evita carreras entre agentes/procesos y guarda el token renovado.
  • src/agents/auth-profiles/constants.ts → tiempos/locks del refresh OAuth.
  • src/plugins/provider-runtime.ts → permite que un provider/plugin implemente su propio refreshOAuth.

Los tokens/perfiles se guardan por agente en:

~/.openclaw/agents/<agentId>/agent/auth-profiles.json

Para Claude CLI hay una diferencia importante: el auth real lo gestiona Claude Code/Claude CLI. OpenClaw puede reutilizarlo desde: