Use Coding Plan with OpenClaw
OpenClaw is an open-source AI assistant platform that connects AI models through Web UI and TUI.
Start a conversation in the Web UI.Start a conversation.
The interface confirms with "model set to qwen3-coder-next".
To create a custom Skill, see the OpenClaw official docs.
Install OpenClaw
- Manual installation
- Qwen Code guided installation
1
Install Node.js
Install or update Node.js (v22.0 or later).
2
Install OpenClaw
Copy
curl -fsSL https://openclaw.ai/install.sh | bash
3
Configure
After installation, configure OpenClaw following the on-screen prompts. Reference settings:
| Configuration item | Value |
|---|---|
| Accept risk and continue? | Yes |
| Onboarding mode | QuickStart |
| Model/auth provider | Skip for now |
| Model filter | All providers |
| Default model | Use default |
| Select channel | Skip for now |
| Configure skills now? | No |
| Enable hooks? | Skip for now (space bar, then Enter) |
| How to hatch your bot? | Hatch in TUI |
Use Qwen Code to install OpenClaw and avoid environment issues with Node.js.
1
Install Qwen Code
Install and configure Qwen Code.
2
Run Qwen Code
Run Qwen Code in your terminal.
Copy
qwen
3
Enter the installation instruction
Enter the following in Qwen Code:
Copy
Install OpenClaw and complete initial setup by running these commands:
1. Prerequisite: Install Node.js (v22.0 or later). Check with node --version.
2. curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
3. openclaw gateway install
4. openclaw onboard --non-interactive --accept-risk --flow quickstart --auth-choice skip --skip-channels --skip-skills
4
Wait for completion
Let Qwen Code run the commands to completion.
5
Exit Qwen Code
Enter
/exit to exit Qwen Code.Copy
/exit
Set up Coding Plan
- Method 1: Edit configuration file using Web UI
- Method 2: Edit configuration file using terminal
- Method 3: Qwen Code guided
- Open the Web UI:
Copy
openclaw dashboard
-
In the Web UI, select Config > RAW from the navigation pane on the left.
- Copy the content below into the Raw JSON field. Replace
YOUR_API_KEYwith your Coding Plan API key.
- Copy the content below into the Raw JSON field. Replace
Copy
{
"models": {
"mode": "merge",
"providers": {
"qwen-cloud": {
"baseUrl": "https://coding-intl.dashscope.aliyuncs.com/v1",
"apiKey": "YOUR_API_KEY",
"api": "openai-completions",
"models": [
{
"id": "qwen3.5-plus",
"name": "qwen3.5-plus",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 1000000,
"maxTokens": 65536,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "qwen3-max-2026-01-23",
"name": "qwen3-max-2026-01-23",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 65536,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "qwen3-coder-next",
"name": "qwen3-coder-next",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 65536
},
{
"id": "qwen3-coder-plus",
"name": "qwen3-coder-plus",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 1000000,
"maxTokens": 65536
},
{
"id": "MiniMax-M2.5",
"name": "MiniMax-M2.5",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 196608,
"maxTokens": 32768
},
{
"id": "glm-5",
"name": "glm-5",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 202752,
"maxTokens": 16384,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "glm-4.7",
"name": "glm-4.7",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 202752,
"maxTokens": 16384,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "kimi-k2.5",
"name": "kimi-k2.5",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 32768,
"compat": {
"thinkingFormat": "qwen"
}
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "qwen-cloud/qwen3.5-plus"
},
"models": {
"qwen-cloud/qwen3.5-plus": {},
"qwen-cloud/qwen3-max-2026-01-23": {},
"qwen-cloud/qwen3-coder-next": {},
"qwen-cloud/qwen3-coder-plus": {},
"qwen-cloud/MiniMax-M2.5": {},
"qwen-cloud/glm-5": {},
"qwen-cloud/glm-4.7": {},
"qwen-cloud/kimi-k2.5": {}
}
}
},
"gateway": {
"mode": "local"
}
}
-
Click Save in the top-right corner. Then click Update to apply the configuration.
After saving, the API key displays as "__OPENCLAW_REDACTED__". This protects your key in the UI only. It does not affect actual API calls.
- Open the configuration file:
Copy
nano ~/.openclaw/openclaw.json
- Paste the content below. Replace
YOUR_API_KEYwith your Coding Plan API key.
Copy
{
"models": {
"mode": "merge",
"providers": {
"qwen-cloud": {
"baseUrl": "https://coding-intl.dashscope.aliyuncs.com/v1",
"apiKey": "YOUR_API_KEY",
"api": "openai-completions",
"models": [
{
"id": "qwen3.5-plus",
"name": "qwen3.5-plus",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 1000000,
"maxTokens": 65536,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "qwen3-max-2026-01-23",
"name": "qwen3-max-2026-01-23",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 65536,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "qwen3-coder-next",
"name": "qwen3-coder-next",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 65536
},
{
"id": "qwen3-coder-plus",
"name": "qwen3-coder-plus",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 1000000,
"maxTokens": 65536
},
{
"id": "MiniMax-M2.5",
"name": "MiniMax-M2.5",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 196608,
"maxTokens": 32768
},
{
"id": "glm-5",
"name": "glm-5",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 202752,
"maxTokens": 16384,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "glm-4.7",
"name": "glm-4.7",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 202752,
"maxTokens": 16384,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "kimi-k2.5",
"name": "kimi-k2.5",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 32768,
"compat": {
"thinkingFormat": "qwen"
}
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "qwen-cloud/qwen3.5-plus"
},
"models": {
"qwen-cloud/qwen3.5-plus": {},
"qwen-cloud/qwen3-max-2026-01-23": {},
"qwen-cloud/qwen3-coder-next": {},
"qwen-cloud/qwen3-coder-plus": {},
"qwen-cloud/MiniMax-M2.5": {},
"qwen-cloud/glm-5": {},
"qwen-cloud/glm-4.7": {},
"qwen-cloud/kimi-k2.5": {}
}
}
},
"gateway": {
"mode": "local"
}
}
- Save the file and exit. Run the following command to apply the configuration.
Copy
openclaw gateway restart
Use Qwen Code to configure OpenClaw automatically.
- Run Qwen Code in your terminal.
Copy
qwen
- Enter the following instruction. Replace
YOUR_API_KEYwith your Coding Plan API key.
Copy
Configure OpenClaw to connect to Coding Plan as follows:
1. Open the config file: ~/.openclaw/openclaw.json
2. Locate or create the following fields and merge the configuration (keep existing settings. Add new fields if missing):
{
"models": {
"mode": "merge",
"providers": {
"qwen-cloud": {
"baseUrl": "https://coding-intl.dashscope.aliyuncs.com/v1",
"apiKey": "YOUR_API_KEY",
"api": "openai-completions",
"models": [
{
"id": "qwen3.5-plus",
"name": "qwen3.5-plus",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 1000000,
"maxTokens": 65536,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "qwen3-max-2026-01-23",
"name": "qwen3-max-2026-01-23",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 65536,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "qwen3-coder-next",
"name": "qwen3-coder-next",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 65536
},
{
"id": "qwen3-coder-plus",
"name": "qwen3-coder-plus",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 1000000,
"maxTokens": 65536
},
{
"id": "MiniMax-M2.5",
"name": "MiniMax-M2.5",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 196608,
"maxTokens": 32768
},
{
"id": "glm-5",
"name": "glm-5",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 202752,
"maxTokens": 16384,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "glm-4.7",
"name": "glm-4.7",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 202752,
"maxTokens": 16384,
"compat": {
"thinkingFormat": "qwen"
}
},
{
"id": "kimi-k2.5",
"name": "kimi-k2.5",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 32768,
"compat": {
"thinkingFormat": "qwen"
}
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "qwen-cloud/qwen3.5-plus"
},
"models": {
"qwen-cloud/qwen3.5-plus": {},
"qwen-cloud/qwen3-max-2026-01-23": {},
"qwen-cloud/qwen3-coder-next": {},
"qwen-cloud/qwen3-coder-plus": {},
"qwen-cloud/MiniMax-M2.5": {},
"qwen-cloud/glm-5": {},
"qwen-cloud/glm-4.7": {},
"qwen-cloud/kimi-k2.5": {}
}
}
},
"gateway": {
"mode": "local"
}
}
3. Save the config file
4. Run openclaw gateway restart to restart the OpenClaw gateway and apply changes.
- Let Qwen Code run the commands to completion.
- Verify the configuration in a new terminal.
Copy
openclaw status
Use OpenClaw
- Web UI
- TUI
Copy
openclaw dashboard
Copy
openclaw tui
Switch models
-
Switch models in the current session (temporary)
In the TUI, use
/model <model name>to switch models for this session.
Copy
/model qwen3-coder-next
-
Change the default model (permanent)
To use a specific model in every new session, update the
agents.defaults.model.primaryfield. See Edit configuration file.
Copy
{
"agents": {
"defaults": {
"model": {
"primary": "qwen-cloud/qwen3.5-plus"
}
}
}
}
Learn more: Skills and ClawHub
A Skill is a modular knowledge package (defined in SKILL.md). Agents load Skills automatically based on user requests. Use the built-infind-skills Skill to discover and install new ones — for example, ask "Find a weather Skill for me."
You can also search and install Skills from ClawHub using the command line:
Copy
clawhub install <skill-slug>