OAuth
OpenClaw admite “autenticación por suscripción” mediante OAuth para proveedores que la ofrecen (en particular OpenAI Codex (ChatGPT OAuth)). Para suscripciones de Anthropic, use el flujo setup-token. Esta página explica:- cómo funciona el intercambio de tokens de OAuth (PKCE)
- dónde se almacenan los tokens (y por qué)
- cómo manejar múltiples cuentas (perfiles + anulaciones por sesión)
El sumidero de tokens (por qué existe)
Los proveedores OAuth suelen emitir un nuevo token de actualización durante los flujos de inicio de sesión/actualización. Algunos proveedores (o clientes OAuth) pueden invalidar tokens de actualización anteriores cuando se emite uno nuevo para el mismo usuario/aplicación. Síntoma práctico:- inicia sesión mediante OpenClaw y mediante Claude Code / Codex CLI → uno de ellos termina “cerrando sesión” de forma aleatoria más tarde
auth-profiles.json como un sumidero de tokens:
- el runtime lee las credenciales desde un solo lugar
- podemos mantener múltiples perfiles y enrutarlos de forma determinista
Almacenamiento (dónde viven los tokens)
Los secretos se almacenan por agente:- Perfiles de autenticación (OAuth + claves de API):
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - Caché de runtime (gestionada automáticamente; no la edite):
~/.openclaw/agents/<agentId>/agent/auth.json
~/.openclaw/credentials/oauth.json(importado aauth-profiles.jsonen el primer uso)
$OPENCLAW_STATE_DIR (anulación del directorio de estado). Referencia completa: /gateway/configuration
Anthropic setup-token (autenticación por suscripción)
Ejecuteclaude setup-token en cualquier máquina y luego péguelo en OpenClaw:
Intercambio OAuth (cómo funciona el inicio de sesión)
Los flujos interactivos de inicio de sesión de OpenClaw están implementados en@mariozechner/pi-ai y conectados a los asistentes/comandos.
Anthropic (Claude Pro/Max) configuración del token
Forma del flujo:- ejecute
claude setup-token - pegue el token en OpenClaw
- almacénelo como un perfil de autenticación por token (sin actualización)
openclaw onboard → opción de autenticación setup-token (Anthropic).
OpenAI Codex (ChatGPT OAuth)
Forma del flujo (PKCE):- generar verificador/desafío PKCE +
statealeatorio - abrir
https://auth.openai.com/oauth/authorize?... - intentar capturar el callback en
http://127.0.0.1:1455/auth/callback - si el callback no puede enlazarse (o está remoto/sin interfaz), pegar la URL/código de redirección
- intercambiar en
https://auth.openai.com/oauth/token - extraer
accountIddel token de acceso y almacenar{ access, refresh, expires, accountId }
openclaw onboard → opción de autenticación openai-codex.
Actualización + caducidad
Los perfiles almacenan una marca de tiempoexpires.
En tiempo de ejecución:
- si
expiresestá en el futuro → use el token de acceso almacenado - si está caducado → actualice (bajo un bloqueo de archivo) y sobrescriba las credenciales almacenadas
Múltiples cuentas (perfiles) + enrutamiento
Dos patrones:1. Preferido: agentes separados
Si quiere que “personal” y “trabajo” nunca interactúen, use agentes aislados (sesiones + credenciales + espacio de trabajo separados):2. Avanzado: múltiples perfiles en un solo agente
auth-profiles.json admite múltiples ID de perfil para el mismo proveedor.
Elija qué perfil se usa:
- globalmente mediante el orden de configuración (
auth.order) - por sesión mediante
/model ...@<profileId>
/model Opus@anthropic:work
openclaw channels list --json(muestraauth[])
- /concepts/model-failover (reglas de rotación + enfriamiento)
- /tools/slash-commands (superficie de comandos)