Deze pagina behandelt authenticatie bij modelproviders (API-sleutels, OAuth, hergebruik van de Claude CLI, Anthropic-installatietoken). Zie Configuratie en Authenticatie via vertrouwde proxy voor authenticatie van de Gateway-verbinding (token, wachtwoord, vertrouwde proxy).
- Volledige OAuth-stroom en opslagindeling: /concepts/oauth
- Authenticatie op basis van SecretRef (
env/file/exec-providers): Geheimenbeheer - Geschiktheids-/redencodes voor aanmeldgegevens die door
models status --probeworden gebruikt: Semantiek van aanmeldgegevens voor authenticatie
Aanbevolen configuratie: API-sleutel (elke provider)
- Maak een API-sleutel aan in de beheerconsole van je provider.
- Plaats deze op de Gateway-host (de machine waarop
openclaw gatewaywordt uitgevoerd):
- Als de Gateway onder systemd/launchd draait, plaats je de sleutel in
~/.openclaw/.env, zodat de daemon deze kan lezen:
- Start het Gateway-proces (of de daemon) opnieuw en controleer het daarna nogmaals:
openclaw onboard kan ook API-sleutels opslaan voor gebruik door de daemon als je omgevingsvariabelen niet zelf wilt beheren. Zie Omgevingsvariabelen voor de volledige voorrangsvolgorde bij het laden van omgevingsvariabelen (env.shellEnv, ~/.openclaw/.env, systemd/launchd).
Anthropic: hergebruik van de Claude CLI
Authenticatie met een Anthropic-installatietoken blijft een ondersteunde methode. Hergebruik van de Claude CLI (gebruik in de stijl vanclaude -p) is ook toegestaan voor deze integratie; wanneer een Claude CLI-aanmelding beschikbaar is op de host, heeft die methode de voorkeur voor lokaal/desktopgebruik. Voor langlevende Gateway-hosts blijft een Anthropic-API-sleutel de meest voorspelbare keuze, met expliciete controle over facturering aan de serverzijde.
Hostconfiguratie voor hergebruik van de Claude CLI:
claude-cli-backend te routeren en het bijbehorende OpenClaw-authenticatieprofiel op te slaan.
De Gateway-service moet claude kunnen vinden via PATH. Als een implementatie een
niet-standaardpad naar het uitvoerbare bestand vereist, registreer je een wrapper via een
CLI-backendplugin.
Handmatige tokeninvoer
Werkt voor elke provider; schrijft naar de SQLite-authenticatieopslag per agent en werkt de configuratie bij:openclaw-agent.sqlite van elke agent. Endpointdetails (baseUrl, api, model-id’s, headers, time-outs) horen onder models.providers.<id> in openclaw.json of models.json, niet in authenticatieprofielen.
Als een oudere installatie nog auth-profiles.json, auth-state.json of een platte structuur zoals { "openrouter": { "apiKey": "..." } } bevat, voer je openclaw doctor --fix uit om deze in SQLite te importeren; doctor bewaart back-ups met tijdstempels naast de oorspronkelijke JSON-bestanden.
Externe authenticatieroutes, zoals Bedrock auth: "aws-sdk", zijn geen aanmeldgegevens. Stel voor een benoemde Bedrock-route auth.profiles.<id>.mode: "aws-sdk" in openclaw.json in — schrijf type: "aws-sdk" niet naar de opslag voor authenticatieprofielen. openclaw doctor --fix migreert verouderde AWS SDK-markeringen van de opslag voor aanmeldgegevens naar configuratiemetadata.
Aanmeldgegevens op basis van SecretRef
api_key-aanmeldgegevens kunnenkeyRef: { source, provider, id }gebruikentoken-aanmeldgegevens kunnentokenRef: { source, provider, id }gebruiken- Profielen in OAuth-modus weigeren SecretRef-aanmeldgegevens: als
auth.profiles.<id>.modegelijk is aan"oauth", wordt een door SecretRef ondersteundekeyRef/tokenRefvoor dat profiel geweigerd.
De authenticatiestatus van modellen controleren
1 bij verlopen/ontbrekende gegevens en 2 bij bijna verlopen gegevens:
--probe-provider, --probe-profile, --probe-timeout, --probe-concurrency of --probe-max-tokens toe om het bereik te beperken):
- Controleregels kunnen afkomstig zijn van authenticatieprofielen, aanmeldgegevens uit omgevingsvariabelen of
models.json. - Als
auth.order.<provider>een opgeslagen profiel weglaat, meldt de controleexcluded_by_auth_ordervoor dat profiel in plaats van het te proberen. - Als authenticatie aanwezig is, maar OpenClaw geen controleerbaar model voor die provider kan vinden, meldt de controle
status: no_model. - Afkoelperiodes na snelheidsbeperkingen kunnen modelspecifiek zijn: een profiel dat voor één model in een afkoelperiode zit, kan nog steeds een verwant model van dezelfde provider bedienen.
Rotatie van API-sleutels (Gateway)
Sommige providers proberen een aanvraag opnieuw met een andere geconfigureerde sleutel wanneer een aanroep de snelheidslimiet van de provider bereikt. Prioriteitsvolgorde van sleutels per provider:OPENCLAW_LIVE_<PROVIDER>_KEY(één overschrijving, zet één sleutel vast)<PROVIDER>_API_KEYS(lijst gescheiden door komma’s/spaties/puntkomma’s)<PROVIDER>_API_KEY<PROVIDER>_API_KEY_*(elke omgevingsvariabele met dit voorvoegsel)
google, google-vertex) vallen daarnaast terug op GOOGLE_API_KEY. De gecombineerde lijst wordt vóór gebruik ontdubbeld.
OpenClaw schakelt alleen over naar de volgende sleutel wanneer de foutmelding overeenkomt met: rate_limit, rate limit, 429, quota exceeded/quota_exceeded, resource exhausted/resource_exhausted of too many requests. Andere fouten worden niet opnieuw geprobeerd met alternatieve sleutels. Als alle sleutels mislukken, wordt de uiteindelijke fout van de laatste poging geretourneerd.
Providerspecifieke formuleringen zoals
ThrottlingException, concurrency limit reached of workers_ai ... quota limit exceeded bepalen de classificatie voor failover/opnieuw proberen (overschakelen tussen modellen of providers na herhaalde fouten), een afzonderlijk mechanisme van de bovenstaande rotatie van API-sleutels.Providerauthenticatie verwijderen terwijl de Gateway actief is
Wanneer je providerauthenticatie verwijdert via het besturingsvlak van de Gateway, verwijdert OpenClaw de opgeslagen authenticatieprofielen voor die provider en breekt het actieve chat-/agentruns af waarvan de geselecteerde modelprovider overeenkomt met de verwijderde provider. Afgebroken runs zenden de normale annulerings-/levenscyclusgebeurtenissen uit metstopReason: "auth-revoked", zodat verbonden clients kunnen tonen dat de run is gestopt omdat de aanmeldgegevens zijn verwijderd.
Bepalen welke aanmeldgegevens worden gebruikt
OpenAI en verouderde openai-codex-id’s
OpenAI-profielen met API-sleutels en ChatGPT/Codex OAuth-profielen gebruiken beide de canonieke provider-id openai. Gebruik openai:*-profiel-id’s en auth.order.openai voor nieuwe configuratie.
Als je openai-codex aantreft in een oudere configuratie, authenticatieprofiel-id’s of auth.order.openai-codex, behandel je dit als invoer voor een verouderde migratie — maak geen nieuwe openai-codex-profielen aan. Voer het volgende uit:
openai-codex:*-profiel-id’s en auth.order.openai-codex-vermeldingen naar de canonieke openai-route. Zie OpenAI voor OpenAI-specifieke routering van modellen/runtimes.
Tijdens aanmelding (CLI)
--profile-id houdt meerdere OAuth-aanmeldingen voor dezelfde provider binnen één agent gescheiden.
--force verwijdert de opgeslagen authenticatieprofielen voor die provider in de geselecteerde agentmap en voert daarna dezelfde authenticatiestroom opnieuw uit. Gebruik dit wanneer een opgeslagen profiel vastzit, verlopen is of aan het verkeerde account is gekoppeld. Hiermee worden de aanmeldgegevens bij de provider niet ingetrokken.
Per sessie (chatopdracht)
/model <alias-or-id>@<profileId>zet specifieke provideraanmeldgegevens vast voor de huidige sessie (voorbeeldprofiel-id’s:anthropic:default,anthropic:work)./model(of/model list) toont een compacte kiezer;/model statustoont de volledige weergave (kandidaten + volgend authenticatieprofiel, plus details van het providerendpoint indien geconfigureerd).
/new of /reset om een nieuwe sessie te starten — bestaande sessies behouden hun huidige model-/profielselectie totdat ze opnieuw worden ingesteld.
Per agent (CLI-overschrijving)
Overschrijvingen van de authenticatievolgorde worden opgeslagen in de SQLite-authenticatiestatus van die agent:--agent <id> om een specifieke agent te selecteren; laat dit weg om de geconfigureerde standaardagent te gebruiken. openclaw models status --probe toont weggelaten opgeslagen profielen als excluded_by_auth_order in plaats van ze stilzwijgend over te slaan.
Problemen oplossen
”Geen aanmeldgegevens gevonden”
Configureer een Anthropic-API-sleutel op de Gateway-host of stel het Anthropic-installatietokenpad in en controleer het daarna opnieuw:Token verloopt binnenkort/is verlopen
Voeropenclaw models status uit om te zien welk profiel binnenkort verloopt. Als een Anthropic-tokenprofiel ontbreekt of verlopen is, vernieuw je het via een installatietoken of migreer je naar een Anthropic-API-sleutel.