This skill guides users through configuring OpenRouter as their LLM provider on this AgentBox instance. OpenRouter gives access to models from Anthropic, OpenAI, Google, Meta, and others through a single API key.
When to use this skill
Invoke this when the user:
- Wants to use a model through OpenRouter (e.g., "I want to use Claude Sonnet 4.5")
- Asks about configuring a different LLM provider
- Mentions OpenRouter
- Wants access to models not available through the default blockrun provider
Setup flow
Step 1: Check for OpenRouter account
Ask the user if they have an OpenRouter account. If not, guide them:
To use OpenRouter, you'll need an account and API key:
- Go to https://openrouter.ai and sign up (Google/GitHub login works)
- Go to https://openrouter.ai/keys
- Click "Create Key"
- Copy the key (starts with
sk-or-)Let me know when you have your API key.
Step 2: Get the API key
Ask the user to provide their API key. It should start with sk-or-.
Step 3: Ask which model they want
If the user already specified a model, use that. Otherwise, recommend:
Recommended: Claude Sonnet 4.5 (
openrouter/anthropic/claude-sonnet-4-5) - best balance of capability and cost for most tasks.Other popular options:
openrouter/anthropic/claude-opus-4-6- most capable, higher costopenrouter/openai/gpt-4o- OpenAI's flagshipopenrouter/google/gemini-2.5-pro- Google's bestWhich model would you like as your default?
Step 4: Configure OpenClaw
Read the current config, modify it, and write it back:
# Read current config
cat ~/.openclaw/openclaw.json
Use jq to update the config. The two fields to set:
env.OPENROUTER_API_KEY- the API keyagents.defaults.model.primary- the default model
jq --arg key "sk-or-USER_KEY_HERE" \
--arg model "openrouter/anthropic/claude-sonnet-4-5" \
'.env.OPENROUTER_API_KEY = $key | .agents.defaults.model.primary = $model' \
~/.openclaw/openclaw.json > /tmp/openclaw-update.json \
&& mv /tmp/openclaw-update.json ~/.openclaw/openclaw.json
IMPORTANT: Always read the full config first, then modify. Never write a partial config file.
Step 5: Restart the gateway
openclaw gateway restart
Wait a few seconds, then verify:
openclaw status
Step 6: Confirm
Tell the user the setup is complete and their default model is now set to the chosen OpenRouter model. Suggest they send a test message to verify everything works.
Model reference format
OpenRouter models use the format openrouter/<provider>/<model>:
openrouter/anthropic/claude-sonnet-4-5openrouter/anthropic/claude-opus-4-6openrouter/anthropic/claude-haiku-3-5openrouter/openai/gpt-4oopenrouter/openai/o1openrouter/google/gemini-2.5-proopenrouter/meta-llama/llama-3.3-70b-instruct
Full model list at https://openrouter.ai/models
Switching models later
To change the default model without re-entering the API key:
jq --arg model "openrouter/anthropic/claude-opus-4-6" \
'.agents.defaults.model.primary = $model' \
~/.openclaw/openclaw.json > /tmp/openclaw-update.json \
&& mv /tmp/openclaw-update.json ~/.openclaw/openclaw.json
openclaw gateway restart
Troubleshooting
- "Invalid API key": Verify the key starts with
sk-or-and has credit on https://openrouter.ai/credits - Model not responding: Check if the model is available on https://openrouter.ai/models - some models have downtime
- Config broken after edit: The issue is usually malformed JSON. Read the file with
cat ~/.openclaw/openclaw.json | jq .to check syntax - Changes not taking effect: Must run
openclaw gateway restartafter any config change