Pioneer exposes an OpenAI-compatible inference endpoint, so OpenClaw can use Pioneer as a custom provider today. This guide covers the custom-provider setup until Pioneer is available as an official OpenClaw provider.
OpenClaw is a third-party local agent tool. Keep the gateway bound to loopback unless you have intentionally hardened remote access, channel allowlists, and tool permissions.
Prerequisites
npm install -g openclaw@latest
- A Pioneer API key from the Pioneer dashboard.
jq installed if you want to inspect supported model IDs from the command line.
- Check to see if OpenClaw is available:
Setup steps
- Save Pioneer auth in OpenClaw
- Use OpenClaw’s model auth store for the Pioneer API key. This is more reliable than relying on shell or
launchctl environment propagation, because the OpenClaw gateway runs as a service.
openclaw models auth paste-api-key --provider pioneer
- Paste your Pioneer API key when prompted.
Do not paste real API keys into docs, screenshots, shared shell history, or issue trackers. Rotate the key if it has been exposed.Register Pioneer as a custom provider
- Pick Pioneer models
- Pioneer’s supported base models can change over time. Use the API as the source of truth:
export PIONEER_API_KEY='<YOUR_PIONEER_API_KEY>'
curl -sS "https://api.pioneer.ai/base-models?supports_inference=true" \
-H "X-API-Key: $PIONEER_API_KEY" \
| jq -r '.models[] | select(.task_type == "decoder") | "\(.id)\t\(.context_window)"'
- Copy the
id and context_window for each model you want OpenClaw to use.
- Register Pioneer as a custom provider
- This example registers five Pioneer-backed decoder models. You can swap or add models using the IDs returned by the previous step.
openclaw config set models.providers.pioneer '{
"baseUrl": "https://api.pioneer.ai/v1",
"api": "openai-completions",
"models": [
{ "id": "claude-sonnet-4-6", "name": "Claude Sonnet 4.6", "input": ["text"], "contextWindow": 1000000, "maxTokens": 16000 },
{ "id": "claude-opus-4-7", "name": "Claude Opus 4.7", "input": ["text"], "contextWindow": 1000000, "maxTokens": 16000 },
{ "id": "deepseek-ai/DeepSeek-V4-Pro", "name": "DeepSeek V4 Pro", "input": ["text"], "contextWindow": 1000000, "maxTokens": 16000 },
{ "id": "moonshotai/Kimi-K2.6", "name": "Kimi K2.6", "input": ["text"], "contextWindow": 256000, "maxTokens": 16000 },
{ "id": "gpt-5.5", "name": "GPT-5.5", "input": ["text"], "contextWindow": 400000, "maxTokens": 16000 }
]
}' --strict-json
- If you choose to use environment variables instead of
openclaw models auth paste-api-key, configure the header as a structured env reference:
openclaw config set models.providers.pioneer.headers.X-API-Key \
--ref-provider default \
--ref-source env \
--ref-id PIONEER_API_KEY
- The gateway service must be able to resolve that variable. In practice, the auth-profile command above is the simpler path.
- Expose the models to agents
- Registering the provider adds models to OpenClaw’s provider catalog. To make them visible to the default agent and model picker, add each model under
agents.defaults.models.
openclaw config set 'agents.defaults.models["pioneer/claude-sonnet-4-6"]' '{"alias":"Pioneer Sonnet 4.6"}' --strict-json
openclaw config set 'agents.defaults.models["pioneer/claude-opus-4-7"]' '{"alias":"Pioneer Opus 4.7"}' --strict-json
openclaw config set 'agents.defaults.models["pioneer/deepseek-ai/DeepSeek-V4-Pro"]' '{"alias":"Pioneer DeepSeek V4 Pro"}' --strict-json
openclaw config set 'agents.defaults.models["pioneer/moonshotai/Kimi-K2.6"]' '{"alias":"Pioneer Kimi K2.6"}' --strict-json
openclaw config set 'agents.defaults.models["pioneer/gpt-5.5"]' '{"alias":"Pioneer GPT-5.5"}' --strict-json
- Set the default model if needed:
openclaw models set pioneer/claude-sonnet-4-6
- Install and start the gateway
- For a local setup, keep the gateway on loopback:
openclaw config set gateway.mode local
openclaw gateway install
openclaw gateway status
- If OpenClaw shows a security disclaimer during setup, read it and continue only if this is a trusted personal setup. Do not expose a tool-enabled gateway to untrusted users.
- Restart and verify
- Restart the gateway so provider and auth changes are loaded:
- Use a live probe, not just
openclaw models status, to confirm Pioneer auth and model routing actually work:
openclaw models status --probe --probe-provider pioneer
- Expected result:
Auth probes
pioneer/claude-sonnet-4-6 | pioneer:manual (api_key) | ok
- Run a first agent message
- OpenClaw needs a target session for agent messages. A plain
--message is not enough.
openclaw agent --agent main --session-key cli-test --message "hello"
- To continue the same local session:
openclaw agent --agent main --session-key cli-test --message "summarize the previous answer"
- You can list sessions with:
Troubleshooting OpenClaw integration
Missing auth - pioneer
- OpenClaw does not have a Pioneer auth profile. Run:
openclaw models auth paste-api-key --provider pioneer
openclaw models status --probe --probe-provider pioneer
Missing env var "PIONEER_API_KEY"
- This usually means the config points at an environment variable that is not visible to the OpenClaw process or gateway service. Prefer the auth-profile setup:
openclaw models auth paste-api-key --provider pioneer
- If you intentionally use an env reference, confirm the variable is visible to the process that runs OpenClaw:
test -n "$PIONEER_API_KEY" && echo "set" || echo "not set"
- For launchd,
launchctl setenv does not persist across reboots and may not be enough if OpenClaw uses a generated service environment wrapper.
Gateway service not loaded
- Install or restart the LaunchAgent:
openclaw gateway install
openclaw gateway restart
openclaw gateway status
No target session selected
- Pass a session target:
openclaw agent --agent main --session-key cli-test --message "hello"
- Gateway is running but probe fails
- Check reachability and logs:
openclaw gateway status
openclaw gateway probe
openclaw logs --follow