agentbox-openrouter
OpenRouter Setup for AgentBox
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