#Do downlaoded opensource models work with openclaw?It feels messy and unreliable to set up
1 messages · Page 1 of 1 (latest)
Yes — downloaded/open‑source (local) models can work with OpenClaw, but your “it feels messy” instinct is pretty accurate.
Why local feels messy / unreliable
Most local stacks rely on running something like a local model server that exposes an OpenAI-compatible HTTP API (so OpenClaw can talk to it like any other provider). That setup works, but:
- Tool-calling reliability varies a lot on local/open models (they may ignore tool results, stall, or hallucinate tool calls).
- Speed + context depend heavily on your hardware; agent workflows get painful fast on consumer GPUs.
- You end up debugging two systems (OpenClaw + the model server).
Are most people using paid models?
In practice: for agentic workflows (tools, browser, long multi-step tasks), most people use paid cloud models because it’s simply more reliable and “just works.”
A common pattern is:
- Cloud model for “real work” / tool-heavy tasks
- Local model for casual chat / privacy / cheap background stuff (when it behaves)
What I recommend
If you’re new to OpenClaw: get everything working end-to-end with a reliable cloud model first, then swap in local once you know the rest of your setup is solid. It cuts debugging time massively.
Docs: https://docs.openclaw.ai/concepts/models
And for current “what’s working well right now” reports (since it changes constantly), ask in #models: https://docs.openclaw.ai/concepts/models#model-discussions-community-notes
i'l stick with paid and probably use Gemini. how do i change over fromclaude which is listed now and add inmaybe 2 of these as options ModelInput (per 1M)Output (per 1M)Why use it for OpenClaw?Gemini 2.0 Flash-Lite$0.075$0.30The absolute cheapest. Best for "heartbeats" and simple status checks.DeepSeek V3.2$0.28$0.42Best Bang-for-Buck. Incredible at coding and logic for the price.GPT-4o-mini$0.15$0.60Most Reliable Entry. Extremely fast; rarely fails tool calls.Claude 4.5 Haiku$0.80$4.00The "Smart" Budget. Use this if the others fail to follow your instructions.
You can do this two ways: switch just this Discord session (fast, no restart) or change your defaults + add fallbacks (persistent).
1) Switch in this thread (doesn’t change your global default)
In Discord, run:
/model(interactive picker), or/model listthen/model <number>/model statusto confirm what you’re on
Docs: https://docs.openclaw.ai/concepts/models#switching-models-in-chat-model-model
2) Make Gemini your default + add 1–2 fallback models (recommended)
First, make sure the provider(s) have credentials, then set the model + fallbacks.
A) Add auth
- Gemini (API key provider is
google): setGEMINI_API_KEY(or runopenclaw onboard --auth-choice gemini-api-key) - OpenAI fallback: set
OPENAI_API_KEY(or runopenclaw onboard --auth-choice openai-api-key)
Provider notes: https://docs.openclaw.ai/concepts/model-providers#google-gemini-api-key
B) Pick the exact model IDs (don’t guess the strings)
Run:
openclaw models list --all --provider google
openclaw models list --all --provider openai
Copy the exact provider/model refs you want.
C) Set default + fallbacks
openclaw models set google/<your-gemini-model-id>
openclaw models fallbacks add openai/<your-openai-fallback-id>
openclaw models fallbacks add anthropic/<your-second-fallback-id> # optional
openclaw models status
Docs for these commands: https://docs.openclaw.ai/concepts/models#cli-commands
Quick gotcha: “Model … is not allowed”
If you (or the wizard) have agents.defaults.models set, that becomes an allowlist. Then you must add the new models to that list or OpenClaw will refuse to switch. (Symptom: “Model is not allowed” + it feels like no reply.)
Docs: https://docs.openclaw.ai/concepts/models#model-is-not-allowed-and-why-replies-stop
If you paste your openclaw models status output (redacts secrets), I can tell you exactly what’s missing / what IDs to use. Also: what openclaw --version are you on?
/model list
i'm going touse this GPT-4o-miniand maybe Gemini after. Ialready ahve Claude. please give me easy instructuions formy terminal
Run these in your terminal (copy/paste). This sets GPT‑4o‑mini as your default, keeps Claude available, and shows you how to add Gemini later.
0) Sanity check
openclaw --version
openclaw models status
1) Add your OpenAI API key (if you haven’t yet)
Recommended (wizard prompts you):
openclaw onboard --auth-choice openai-api-key
2) Set GPT‑4o‑mini as the default model
First, confirm the exact model ref OpenClaw knows for it:
openclaw models list --all --provider openai | grep -i "4o" | head
Then set it (most installs use this exact ref, but use whatever your models list shows):
openclaw models set openai/gpt-4o-mini
openclaw models status
3) (Optional) Keep Claude as a fallback
Find your current Claude model ref:
openclaw models list --all --provider anthropic | head
Add it as a fallback:
openclaw models fallbacks add anthropic/<paste-the-claude-model-ref-here>
openclaw models fallbacks list
4) Later: add Gemini (optional)
openclaw onboard --auth-choice gemini-api-key
openclaw models list --all --provider google | head
openclaw models fallbacks add google/<paste-gemini-model-ref-here>
openclaw models fallbacks list
If you paste the output of openclaw models status (it redacts secrets), I can tell you exactly what line to use for the Claude/Gemini refs and whether anything’s missing.
Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : anthropic/claude-haiku-4-5-20251001
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (0) : -
Configured models (1): anthropic/claude-haiku-4-5-20251001
Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -
- anthropic effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | anthropic:default=sk-ant-a...jtakZQAA
OAuth/token status
- none
Nice — your openclaw models status shows two important things:
- You currently have an allowlist with only 1 configured model (
Configured models (1)), so OpenClaw will refuse to use anything else until you add it. Shell env: offmeans settingOPENAI_API_KEYin your terminal often won’t reach the running Gateway service. Easiest is to store the key via the onboarding/auth commands.
Here’s the “easy terminal” path to add GPT‑4o‑mini and make it default, while keeping your current Claude as a fallback.
Step 1) Add OpenAI API key (stores it where the Gateway can use it)
openclaw onboard --auth-choice openai-api-key
Step 2) Find the exact model ref + add it to your allowlist
openclaw models list --all --provider openai --plain | grep -i "4o-mini"
Take the exact output (it should look like openai/...) and plug it in here:
openclaw models aliases add 4o-mini openai/<PASTE-EXACT-4O-MINI-REF-HERE>
(Adding an alias is the simplest way to “register/allowlist” the model, and it also gives you /4o-mini as a shortcut.)
Step 3) Set it as the default model + keep Claude as fallback
openclaw models set openai/<PASTE-EXACT-4O-MINI-REF-HERE>
openclaw models fallbacks add anthropic/claude-haiku-4-5-20251001
openclaw models status
If your Gateway is running as a background service and doesn’t pick it up immediately, do:
openclaw gateway restart
Later: add Gemini (optional)
openclaw onboard --auth-choice gemini-api-key
openclaw models list --all --provider google --plain | head
# then:
openclaw models aliases add gemini google/<PASTE-GEMINI-REF>
openclaw models fallbacks add google/<PASTE-GEMINI-REF>
If you paste the output of:
openclaw models list --all --provider openai --plain | grep -i "4o-mini"
I’ll tell you the exact command lines with the right ref filled in.
I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?
│ ○ Yes / ● No
└
That’s the onboarding wizard safety prompt.
- If this OpenClaw install is just for you (your own Discord account / your own chats): select “Yes” and press Enter to continue.
- If you’re setting it up in a shared / public Discord where other people could talk to it: hit No for now, then come back after you’ve set strict allowlists/permissions.
How to interact with that prompt:
- Use ↑ / ↓ (or ← / →) to move the dot to Yes
- Press Enter
- You can always Ctrl+C to abort.
Onboarding mode
│ ● QuickStart (Configure details later via openclaw configure.)
│ ○ Manual
└
Pick QuickStart (leave it on the ●) and press Enter.
That will get you working fast, and you can tweak everything later with openclaw configure (or the openclaw models ... commands we used).
◆ Config handling
│ ● Use existing values
│ ○ Update values
│ ○ Reset
└
Choose “Update values” and press Enter.
- Use existing values = won’t change anything (so you won’t add OpenAI/Gemini).
- Reset = wipes a bunch of config (don’t do that unless you intentionally want a clean slate).
it's asking me about channel. doi complete this again givn it'salready set up
No — if your Discord/Telegram/etc channel is already working, you don’t need to “set up the channel again.”
You’ve got two safe options:
Option A (stay in the wizard)
When it asks about a channel, pick the choice that means keep existing / no changes / skip (wording varies), and just press Enter through it until you get to the models/auth bits.
Key thing: do not choose anything like “reset channel config”.
Option B (simpler): abort onboarding and only add the model/provider
Hit Ctrl+C to exit the wizard, then just do:
openclaw onboard --auth-choice openai-api-key
openclaw models list --all --provider openai --plain | grep -i "4o-mini"
# then:
openclaw models aliases add 4o-mini openai/<exact-ref>
openclaw models set openai/<exact-ref>
If you paste the exact prompt text it’s showing for the channel step (the few lines with the options), I’ll tell you which option is the “leave it alone” one.
ok. I'd like toconfigure skillsnowso it can create a folder , open, save a file
What you want is mostly tool access, not “skills”.
If the agent has the file tools enabled, it can read/write/edit files in its workspace (and “create folders” just by writing a file into a new subfolder).
Easiest: enable the “coding” tool profile
This turns on the file tools (read/write/edit) plus a few others.
openclaw config set tools.profile "coding"
openclaw config validate
openclaw gateway restart
Docs: https://docs.openclaw.ai/tools#tool-profiles-base-allowlist
More locked-down: allow only file read/write/edit (no shell exec)
openclaw config set tools.allow '["group:fs"]' --strict-json
openclaw config validate
openclaw gateway restart
group:fs = read, write, edit, apply_patch
Docs: https://docs.openclaw.ai/tools#tool-groups-shorthands
Make sure you know where files will be created
openclaw config get agents.defaults.workspace
Then in chat you can say things like:
- “Create
notes/ideas.mdwith …” (this will also create thenotes/folder) - “Open/read
notes/ideas.mdand append …”
If you tell me what agents.defaults.workspace prints, I can suggest a good folder location (so you don’t lose track of where it’s writing).
◇ What now ─────────────────────────────────────────────────────────────╮
│ │
│ What now: https://openclaw.ai/showcase ("What People Are Building"). │
│ │
├────────────────────────────────────────────────────────────────────────╯
│
└ Onboarding complete. Use the dashboard link above to control OpenClaw.
thoma@snapshot-362436766-ubuntu-8gb-nbg1-1:~$
Inow want totestthe open ai API
To test that your OpenAI key + OpenClaw integration is working (without doing raw curl), do this on the VPS:
1) Confirm OpenAI auth is present
openclaw models status
You should see an openai section in the “Auth overview”. If it says missing, run:
openclaw onboard --auth-choice openai-api-key
2) Run the deep probes (actually pings providers)
openclaw status --deep
This is the quickest “does the provider actually respond from this machine?” check.
3) End-to-end test (best)
In Discord, switch the thread to an OpenAI model with /model and send a normal message (“test”). If it replies, your whole pipeline is good.
If you specifically meant “test the OpenAI API key with curl”, tell me which OpenAI endpoint you want to hit (models list vs a tiny chat request) and I’ll give you a minimal command — don’t paste the API key into Discord.
Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : openai/gpt-5.1-codex
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (1) : GPT -> openai/gpt-5.1-codex
Configured models (2): anthropic/claude-haiku-4-5-20251001, openai/gpt-5.1-codex
Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -
- anthropic effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | anthropic:default=sk-ant-a...jtakZQAA
- openai effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | openai:default=sk-proj-...1H2drg8A
OAuth/token status
- none
thoma@snapshot-362436766-ubuntu-8gb-nbg1-1:~$
Perfect — that output means:
- Your OpenAI API key is stored and being picked up (
openai:default=sk-proj-...) - Your default model is now OpenAI (
Default: openai/gpt-5.1-codex) - You also still have Claude configured as another allowed model.
Quick “does it actually work?” tests
A) Provider probe from the VPS
openclaw status --deep
B) End-to-end from Discord
In this thread run:
/model status(should show it’s using OpenAI now)- then send a normal message like:
say "ok"orwhat time is it?
If you wanted GPT‑4o‑mini specifically (instead of the current default)
openclaw models list --all --provider openai --plain | grep -i "4o-mini"
# then:
openclaw models set openai/<that-exact-ref>
openclaw models status
Tell me what openclaw status --deep prints if anything errors (you can paste it; it won’t include your full keys).
[openclaw] Failed to start CLI: Error: gateway timeout after 10000ms
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: /home/thoma/.openclaw/openclaw.json
Bind: loopback
at Timeout.<anonymous> (file:///home/thoma/.npm-global/lib/node_modules/openclaw/dist/call-DaJKh-6e.js:612:9)
at listOnTimeout (node:internal/timers:588:17)
at process.processTimers (node:internal/timers:523:7)
That error means the CLI can’t reach a running Gateway at ws://127.0.0.1:18789 (local loopback), or the Gateway is wedged and not answering.
On the VPS, run these and paste the output:
1) Version + gateway status
openclaw --version
openclaw gateway status
2) If it’s not running, start it
openclaw gateway start
openclaw gateway status
3) If it says running but still times out, restart + check logs
openclaw gateway restart
openclaw logs --follow
(If openclaw logs --follow doesn’t show anything, run:)
tail -f "$(ls -t /tmp/openclaw/openclaw-*.log | head -1)"
Most of the time on a fresh VPS this is simply “gateway service isn’t started yet” or it crashed on boot — the log will show the real reason quickly.
from Telegram
Current: openai/gpt-5.1-codex (selected)
Active: anthropic/claude-haiku-4-5-20251001 (runtime)
Default: openai/gpt-5.1-codex
Agent: main
Auth file: ~/.openclaw/agents/main/agent/auth-profiles.json
[anthropic] endpoint: default auth: anthropic:default=sk-ant-a...jtakZQAA (next) (auth-profiles.json: ~/.openclaw/agents/main/agent/auth-profiles.json)
- anthropic/claude-haiku-4-5-20251001
[openai] endpoint: default auth: openai:default=sk-proj-...1H2drg8A (next) (auth-profiles.json: ~/.openclaw/agents/main/agent/auth-profiles.json)
- openai/gpt-5.1-codex (GPT)
Terminal
Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : openai/gpt-5.1-codex
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (1) : GPT -> openai/gpt-5.1-codex
Configured models (2): anthropic/claude-haiku-4-5-20251001, openai/gpt-5.1-codex
Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -
- anthropic effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | anthropic:default=sk-ant-a...jtakZQAA
- openai effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | openai:default=sk-proj-...1H2drg8A
OAuth/token status
- none
thoma@snapshot-362436766-ubuntu-8gb-nbg1-1:~$
You’re basically set up correctly — OpenAI auth is present and your Default is OpenAI now.
The confusing bit is this line:
- Current (selected):
openai/gpt-5.1-codex - Active (runtime):
anthropic/claude-haiku-...
In OpenClaw, “Active (runtime)” is often just “what the session last actually ran”. If you switched the model but haven’t sent a new message yet (or the last request was already in-flight), it can still show the previous model as “active”.
What to do (Telegram)
-
In Telegram, send one normal message (e.g. “test”) and then re-run
/model status. It should flip the Active runtime to OpenAI after a successful OpenAI response. -
If it still stays on Claude, force a clean session:
- send
/new - then send
/GPT(you have an aliasGPT -> openai/gpt-5.1-codex) - then send “test”
If it keeps refusing to run OpenAI
Paste the error you get right after sending “test” (or run openclaw logs --follow on the VPS while you send the message). That will show whether it’s falling back due to an OpenAI error.
in telgram it isshowing gpt5-1
Yep — that matches your config right now: you only have one OpenAI model configured, so Telegram can only show/select gpt‑5.1.
If you want GPT‑4o‑mini, you need to add/allowlist it, then select it.
On the VPS: add GPT‑4o‑mini + make it the default
# 1) Find the exact model ref OpenClaw knows for 4o-mini
openclaw models list --all --provider openai --plain | grep -i "4o-mini"
# 2) Add it to your configured models (allowlist) + give it an easy alias
openclaw models aliases add 4o-mini openai/<PASTE-EXACT-REF-FROM-THE-LINE-ABOVE>
# 3) Set it as default
openclaw models set openai/<PASTE-EXACT-REF-FROM-THE-LINE-ABOVE>
# 4) Verify
openclaw models status
Then in Telegram
- send
/new - then send
/4o-mini - then send a test message
If you paste the output line from the grep -i "4o-mini" command, I’ll tell you the exact two commands to run with the correct ref filled in.
openai/gpt-4o-mini
thoma@snapshot-362436766-ubuntu-8gb-nbg1-1:~$
Great — that’s the exact ref.
Now run:
openclaw models aliases add 4o-mini openai/gpt-4o-mini
openclaw models set openai/gpt-4o-mini
openclaw models status
Then in Telegram:
/new/4o-mini(or/model openai/gpt-4o-mini)- send “test”
If this fixed it, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow can index it.
Config overwrite: /home/thoma/.openclaw/openclaw.json (sha256 b9b52c9fd73ddb9464d570c72b69361b41196009906bfd4c3a80c4e2a1153220 -> 642abcc3e19dfc6fe014ed20efe2acd407f36d92517509eb3c4cd47ef611091c, backup=/home/thoma/.openclaw/openclaw.json.bak)
Updated ~/.openclaw/openclaw.json
Default model: openai/gpt-4o-mini
🦞 OpenClaw 2026.3.2 (85377a2) — Runs on a Raspberry Pi. Dreams of a rack in Iceland.
Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : openai/gpt-4o-mini
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (2) : GPT -> openai/gpt-5.1-codex, 4o-mini -> openai/gpt-4o-mini
Configured models (3): anthropic/claude-haiku-4-5-20251001, openai/gpt-5.1-codex, openai/gpt-4o-mini
Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -
- anthropic effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | anthropic:default=sk-ant-a...jtakZQAA
- openai effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | openai:default=sk-proj-...1H2drg8A
working now
Looks good — you’re fully switched:
- Default:
openai/gpt-4o-mini - Alias:
/4o-mini→openai/gpt-4o-mini - Claude + your other OpenAI model are still in the allowlist.
Next step: in Telegram do:
/new/4o-mini- send a quick “test” message
Optional (recommended): add Claude as a safety fallback if OpenAI errors/rate-limits:
openclaw models fallbacks add anthropic/claude-haiku-4-5-20251001
openclaw models fallbacks list
If this thread’s solved now, please right-click the solution message → Apps → ✅ Mark Solution so it gets indexed.
Heads up: you just posted your email address in a public thread. It’s not a secret like an API key, but I’d still avoid sharing it here (and never share tokens/keys).
That snippet:
email ...
services sheets
client default
looks like you successfully authenticated something for Google Sheets (client “default”).
What are you trying to do next?
- Use Gemini models via Google (model provider auth), or
- Let your OpenClaw agent read/write Google Sheets (a skill / custom integration)?