From openclaw-toolkit
Guides the user through setting up API keys, model authentication, and messaging channel credentials for OpenClaw. Covers OAuth, API key rotation, model failover, and per-channel auth. Activate when the user says: "OpenClaw API key", "OpenClaw authentication", "connect OpenClaw to WhatsApp", "OpenClaw Telegram setup", "OpenClaw Slack token", "OpenClaw Discord bot", "openclaw model auth", "openclaw credentials", "openclaw OAuth", "openclaw channel token", "set up OpenClaw channels".
How this skill is triggered — by the user, by Claude, or both
Slash command
/openclaw-toolkit:credentialsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
OpenClaw requires two types of credentials:
OpenClaw requires two types of credentials:
Configure both via the onboarding wizard or by editing config files directly.
Run the onboarding wizard to configure the model interactively:
openclaw onboard
OpenClaw recommends using the latest-generation model available for best performance and security.
If the user already has Claude Code installed, their Anthropic API key is stored in ~/.claude.json under the primaryApiKey field. Offer to read and reuse it automatically:
~/.claude.json via Bash and extract primaryApiKey:
node -e "const f=require('fs');const d=JSON.parse(f.readFileSync(require('os').homedir()+'/.claude.json','utf8'));console.log(d.primaryApiKey||'')"
sk-ant-...xxxx). Use this for OpenClaw?"
openclaw onboard --anthropic-key <key>
Or export it for the current session and run onboard:
export ANTHROPIC_API_KEY=<key> && openclaw onboard
~/.claude.json, skip this option and proceed to manual entry.Set the provider API key in config or environment:
export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...
Or configure via the onboarding wizard which stores keys in ~/.openclaw/.
OAuth is supported for providers that offer it. Configure via the onboarding wizard — it handles the OAuth flow automatically.
Configure multiple model profiles with fallback:
See: https://docs.openclaw.ai/concepts/model-failover
Each channel requires its own credentials. Use openclaw onboard to walk through setup for each channel, or configure manually.
WhatsApp uses QR code pairing — no bot account needed:
openclaw onboard and select WhatsApp~/.openclaw/No API key required. Works with personal WhatsApp accounts.
@BotFather/newbot and follow the prompts to get a bot tokenopenclaw onboard or in config:{
"channels": {
"telegram": {
"token": "YOUR_BOT_TOKEN"
}
}
}
xapp-...)chat:write, im:history, im:read, app_mentions:readxoxb-...)openclaw onboard:{
"channels": {
"slack": {
"botToken": "xoxb-...",
"appToken": "xapp-..."
}
}
}
Message Content Intent and Server Members Intentbot, permissions: Send Messages, Read Message History)openclaw onboard:{
"channels": {
"discord": {
"token": "YOUR_BOT_TOKEN"
}
}
}
signal-cli: https://github.com/AsamK/signal-cliRequires macOS with iMessage enabled:
openclaw onboardRequires a Microsoft 365 developer account or org admin access to register a bot application in Azure.
OpenClaw supports: Google Chat, IRC, Matrix, Feishu, LINE, Mattermost, Nextcloud Talk, Nostr, Synology Chat, Tlon, Twitch, Zalo, WebChat.
Each channel's setup instructions are covered in the onboarding wizard. Run:
openclaw onboard
After channel setup, unknown senders get a pairing code by default:
openclaw pairing approve <channel> <pairing-code>
Check for risky auth configurations:
openclaw doctor
To rotate an API key or channel token:
~/.claude.json primaryApiKey if using Claude Code)~/.openclaw/ config or re-run openclaw onboardopenclaw gateway --restartopenclaw doctorCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub doresimon/smarty --plugin openclaw-toolkit