- Clave de API de Anthropic: facturación normal de la API de Anthropic.
- Anthropic Claude CLI / autenticación por suscripción dentro de OpenClaw: el personal de Anthropic
nos indicó que este uso vuelve a estar permitido, por lo que OpenClaw trata la reutilización de Claude CLI y
el uso de
claude -pcomo autorizados para esta integración, salvo que Anthropic publique una nueva política. Para Anthropic en producción, la autenticación con clave de API sigue siendo la ruta recomendada más segura.
openai. Los ids de perfil openai-codex:* antiguos y las entradas
auth.order.openai-codex son estado heredado que repara
openclaw doctor --fix; usa ids de perfil openai:* y auth.order.openai para
configuración nueva.
Esta página cubre:
- cómo funciona el intercambio de tokens OAuth (PKCE)
- dónde se almacenan los tokens (y por qué)
- cómo manejar varias cuentas (perfiles + anulaciones por sesión)
El sumidero de tokens (por qué existe)
Los proveedores OAuth suelen emitir un token de actualización nuevo en cada inicio de sesión/actualización. Algunos proveedores invalidan el token de actualización anterior 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, y uno de ellos se desconecta aleatoriamente más tarde. Para reducir eso, OpenClaw trata el almacén de perfiles de autenticación como un sumidero de tokens:- el runtime lee credenciales desde un único lugar por agente
- varios perfiles pueden coexistir y enrutarse de forma determinista
- la reutilización de CLI externa es específica del proveedor: una vez que OpenClaw posee un perfil OAuth
local para un proveedor, el token de actualización local es canónico. Si ese token de actualización local
se rechaza, OpenClaw informa el perfil para
volver a autenticarse en lugar de recurrir al material de tokens de la CLI externa.
El arranque de Codex CLI es aún más restringido: solo puede inicializar un perfil vacío de estilo
openai:defaultantes de que OpenClaw posea OAuth para ese proveedor; después de eso, las actualizaciones propiedad de OpenClaw siguen siendo canónicas - las rutas de estado/inicio limitan la detección de CLI externa al conjunto de proveedores ya configurado, por lo que no se sondea un almacén de inicio de sesión de CLI no relacionado para una configuración de un solo proveedor
Almacenamiento (dónde viven los tokens)
Los secretos viven por agente, identificados por el nombre lógicoauth-profiles.json (el
almacén subyacente es la base de datos SQLite del agente; el nombre JSON se conserva por
compatibilidad y visualización en herramientas):
- Perfiles de autenticación (OAuth + claves de API + referencias opcionales a nivel de valor):
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - Archivo de compatibilidad heredado:
~/.openclaw/agents/<agentId>/agent/auth.json(las entradas estáticasapi_keyse limpian cuando se descubren)
~/.openclaw/credentials/oauth.json(importado al almacén de perfiles de autenticación en el primer uso)
$OPENCLAW_STATE_DIR (anulación del directorio de estado). Referencia completa: /gateway/configuration-reference#auth-storage
Para referencias estáticas de secretos y el comportamiento de activación de instantáneas de runtime, consulta Gestión de secretos.
Cuando un agente secundario no tiene un perfil de autenticación local, OpenClaw usa herencia de lectura directa
desde el almacén del agente predeterminado/principal; no clona el almacén principal
del agente al leer. Los tokens de actualización OAuth son especialmente sensibles: los flujos de copia normales
los omiten de forma predeterminada porque algunos proveedores rotan o invalidan
los tokens de actualización después del uso. Configura un inicio de sesión OAuth separado para un agente cuando
necesite una cuenta independiente.
Reutilización de Anthropic Claude CLI
OpenClaw admite la reutilización de Anthropic Claude CLI yclaude -p como una ruta de
autenticación autorizada. Si ya tienes un inicio de sesión local de Claude en el host,
onboarding/configure puede reutilizarlo directamente. El token de configuración de Anthropic sigue
disponible como ruta de autenticación por token compatible, pero OpenClaw prefiere la reutilización de Claude CLI
cuando está disponible.
Intercambio OAuth (cómo funciona el inicio de sesión)
Los flujos de inicio de sesión interactivos de OpenClaw se implementan enopenclaw/plugin-sdk/llm.ts y se conectan con los asistentes/comandos.
Token de configuración de Anthropic
Forma del flujo:- inicia el token de configuración de Anthropic o pega un token desde OpenClaw
- OpenClaw almacena la credencial de Anthropic resultante en un perfil de autenticación
- la selección de modelo permanece en
anthropic/... - los perfiles de autenticación de Anthropic existentes siguen disponibles para control de reversión/orden
OpenAI Codex (OAuth de ChatGPT)
OAuth de OpenAI Codex se admite explícitamente para su uso fuera de Codex CLI, incluidos los flujos de trabajo de OpenClaw. El comando de inicio de sesión usa el id de proveedor canónico de OpenAI:--profile-id openai:<name> para varias cuentas OAuth de ChatGPT/Codex en
un agente. No uses openai-codex:<name> para perfiles nuevos. Doctor migra
ese prefijo antiguo a un id de perfil openai:* sin colisiones; ejecuta
openclaw models auth list --provider openai después de la reparación antes de copiar
ids de perfil en auth.order o /model ...@<profileId>.
Forma del flujo (PKCE):
- genera un verificador/desafío PKCE y un
statealeatorio - abre
https://auth.openai.com/oauth/authorize?...(alcanceopenid profile email offline_access) - intenta capturar la devolución de llamada en
http://localhost:1455/auth/callback(el host de devolución de llamada predeterminado eslocalhosty solo acepta hosts de loopback; anúlalo conOPENCLAW_OAUTH_CALLBACK_HOST) - si puedes pegar un código antes de que llegue la devolución de llamada (o estás en remoto/sin interfaz y la devolución de llamada no puede enlazarse), pega la URL/código de redirección en su lugar; el pegado manual compite con la devolución de llamada del navegador y gana lo que se complete primero
- intercambia el código en
https://auth.openai.com/oauth/token - extrae
accountIddel token de acceso y almacena{ access, refresh, expires, accountId }
openclaw onboard → elección de autenticación openai.
Actualización + caducidad
Los perfiles almacenan una marca de tiempoexpires. En runtime:
- si
expiresestá en el futuro, usa el token de acceso almacenado - si caducó, actualiza (bajo un bloqueo de archivo) y sobrescribe las credenciales almacenadas
- si un agente secundario lee un perfil OAuth heredado del agente principal, la actualización escribe de vuelta en el almacén del agente principal en lugar de copiar el token de actualización en el almacén del agente secundario
- las credenciales de CLI gestionadas externamente (Claude CLI, arranque restringido de Codex CLI; consulta El sumidero de tokens) se vuelven a leer en lugar de gastar un token de actualización copiado. Si una actualización gestionada falla, OpenClaw informa el perfil afectado para volver a autenticarse en lugar de devolver material de tokens de la CLI externa.
Varias cuentas (perfiles) + enrutamiento
Dos patrones:1) Preferido: agentes separados
Si quieres que “personal” y “trabajo” nunca interactúen, usa agentes aislados (sesiones + credenciales + workspace separados):2) Avanzado: varios perfiles en un agente
El almacén de perfiles de autenticación admite varios IDs de perfil para el mismo proveedor. Elige cuál se usa:- globalmente mediante ordenación de configuración (
auth.order) - por sesión mediante
/model ...@<profileId>
/model Opus@anthropic:work
- Conmutación por error de modelos (reglas de rotación + enfriamiento)
- Comandos Slash (superficie de comandos)
Relacionado
- Autenticación - resumen de autenticación de proveedores de modelos
- Secretos - almacenamiento de credenciales y SecretRef
- Referencia de configuración - claves de configuración de autenticación