Skip to main content
Fireworks exposes open-weight and routed models through an OpenAI-compatible API. Install the official Fireworks provider plugin to use two pre-cataloged Kimi models and any Fireworks model or router id at runtime.
PropertyValue
Provider idfireworks (alias: fireworks-ai)
Package@openclaw/fireworks-provider
Auth env varFIREWORKS_API_KEY
Onboarding flag--auth-choice fireworks-api-key
Direct CLI flag--fireworks-api-key <key>
APIOpenAI-compatible (openai-completions)
Base URLhttps://api.fireworks.ai/inference/v1
Default modelfireworks/accounts/fireworks/routers/kimi-k2p5-turbo
Default aliasKimi K2.5 Turbo

Getting started

1

Install the plugin

openclaw plugins install @openclaw/fireworks-provider
2

Set the Fireworks API key

openclaw onboard --auth-choice fireworks-api-key
openclaw onboard --non-interactive \
  --auth-choice fireworks-api-key \
  --fireworks-api-key "$FIREWORKS_API_KEY"
export FIREWORKS_API_KEY=fw-...
Onboarding stores the key against the fireworks provider in your auth profiles and sets the Fire Pass Kimi K2.5 Turbo router as the default model.
3

Verify the model is available

openclaw models list --provider fireworks
The list should include Kimi K2.6 and Kimi K2.5 Turbo (Fire Pass). If FIREWORKS_API_KEY is unresolved, openclaw models status --json reports the missing credential under auth.unusableProfiles.

Non-interactive setup

For scripted or CI installs, pass everything on the command line:
openclaw onboard --non-interactive \
  --mode local \
  --auth-choice fireworks-api-key \
  --fireworks-api-key "$FIREWORKS_API_KEY" \
  --skip-health \
  --accept-risk

Built-in catalog

Model refNameInputContextMax outputThinking
fireworks/accounts/fireworks/models/kimi-k2p6Kimi K2.6text + image262,144262,144Forced off
fireworks/accounts/fireworks/routers/kimi-k2p5-turboKimi K2.5 Turbo (Fire Pass)text + image256,000256,000Forced off (default)
OpenClaw pins all Fireworks Kimi models to thinking: off because Kimi on Fireworks can leak chain-of-thought into the visible reply unless the request explicitly disables thinking. Routing the same model through Moonshot directly preserves Kimi reasoning output. See thinking modes for switching between providers.

Custom Fireworks model ids

OpenClaw accepts any Fireworks model or router id at runtime. Use the exact id shown by Fireworks and prefix it with fireworks/. Dynamic resolution clones the Fire Pass template (text + image input, OpenAI-compatible API, default cost zero) and disables thinking automatically when the id matches the Kimi pattern. GLM dynamic ids are marked text-only unless you configure a custom model entry with image input.
{
  agents: {
    defaults: {
      model: {
        primary: "fireworks/accounts/fireworks/models/<your-model-id>",
      },
    },
  },
}
Every Fireworks model ref in OpenClaw starts with fireworks/ followed by the exact id or router path from the Fireworks platform. For example:
  • Router model: fireworks/accounts/fireworks/routers/kimi-k2p5-turbo
  • Direct model: fireworks/accounts/fireworks/models/<model-name>
OpenClaw strips the fireworks/ prefix when constructing the API request and sends the remaining path to the Fireworks endpoint as the OpenAI-compatible model field.
Fireworks serves Kimi without a separate reasoning channel, so chain-of-thought can surface in the visible content stream. On every Fireworks Kimi request OpenClaw sends thinking: { type: "disabled" } and strips reasoning, reasoning_effort, and reasoningEffort from the payload (extensions/fireworks/stream.ts). The provider policy (extensions/fireworks/thinking-policy.ts) advertises only the off thinking level for Kimi model ids, so manual /think switches and provider-policy surfaces stay aligned with the runtime contract.To use Kimi reasoning end-to-end, configure the Moonshot provider and route the same model through it.
If the Gateway runs as a managed service (launchd, systemd, Docker), the Fireworks key must be visible to that process — not just to your interactive shell.
A key exported only in an interactive shell will not help a launchd or systemd daemon unless that environment is imported there too. Set the key in ~/.openclaw/.env or via env.shellEnv to make it readable from the gateway process.
OpenClaw loads ~/.openclaw/.env when it loads config, so keys stored there reach managed gateway services on every platform. Restart the gateway (or re-run openclaw doctor --fix) after rotating the key.

Model providers

Choosing providers, model refs, and failover behavior.

Thinking modes

/think levels, provider policies, and routing reasoning-capable models.

Moonshot

Run Kimi with native thinking output through Moonshot’s own API.

Troubleshooting

General troubleshooting and FAQ.