#Open claw set up

1 messages · Page 1 of 1 (latest)

bold hawkBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

worn tendonBOT
#

Yep — you can add keys later. Easiest is just to rerun onboarding; it’s not a “one-shot” thing.

Option 1 (recommended): rerun the wizard

On the gateway host (the machine where the OpenClaw Gateway is running):

openclaw onboard

Then pick Anthropic API key and/or Gemini API key in the prompts.

Docs: https://docs.openclaw.ai/reference/wizard
Anthropic specifics: https://docs.openclaw.ai/providers/anthropic

Option 2: set env vars for the Gateway (common “daemon doesn’t see my shell env” fix)

If your Gateway runs via systemd/launchd/daemon, it often won’t inherit ANTHROPIC_API_KEY / GEMINI_API_KEY from your terminal.

#

Put them in:

~/.openclaw/.env (on the gateway host), e.g.

ANTHROPIC_API_KEY=...
GEMINI_API_KEY=...

Then restart the gateway:

openclaw gateway restart

Quick sanity check (after you add keys)

#
openclaw models status

If you paste the output of:

  • openclaw --version
  • openclaw models status

(Ignore/REDACT any secrets — don’t post API keys in Discord)
…I can tell you what it’s still missing.

summer umbra
#

everytime i entere a prompt is just says something random like "bamboozling" or "twiddling thumbs"

worn tendonBOT
#

Those words (“bamboozling”, “twiddling thumbs”, etc.) are just OpenClaw’s loading spinner text (the UI shows random “busy” phrases while it’s waiting). If it never progresses past that, it usually means the Gateway isn’t responding or it’s stuck failing a model call (often missing keys / daemon not seeing env vars).

On the machine where the Gateway is running, can you run these and paste the output (redact secrets):

openclaw --version
openclaw status
openclaw gateway status
openclaw models status

Then also do:

openclaw logs --follow
#

…and try sending one prompt while the logs are open. The log will usually say exactly what’s wrong (e.g. “No credentials found…” / “No API key found for provider…” / connection/auth errors).

Two super common fixes if it’s a key/env issue:

  • Put keys in ~/.openclaw/.env (because systemd/launchd often won’t inherit your shell env), then:
    openclaw gateway restart
    
  • Or rerun:
    openclaw onboard
    

Also: are you typing the prompt in the web Control UI or in the terminal/TUI? That affects whether we chase a “dashboard can’t connect” issue vs a “model auth missing” issue.

summer umbra
#

how long should i wait for it to figure it out for me

worn tendonBOT
#

Don’t wait long — it won’t “figure it out” on its own if it’s missing creds or the gateway/model call is failing.

Rule of thumb:

  • Normal: you should see a response start in 5–20 seconds (sometimes up to ~30–60s on first run / cold start).
  • If it’s still just “twiddling thumbs / bamboozling” after ~1 minute: it’s almost certainly stuck (auth missing, gateway not reachable, or repeated retries/backoff).

Next step is to look at the error instead of waiting:

openclaw gateway status
openclaw models status
openclaw logs --follow

Then send one prompt while logs --follow is open and paste the relevant error lines here (redact any API keys).

summer umbra
#

thats the thing it is not outputting any information , can i reinstall or something ?

worn tendonBOT
#

Reinstall is possible, but if you’re seeing “twiddling thumbs / bamboozling” with zero error, that usually means the UI is waiting on the Gateway (Gateway down / unreachable / stuck retrying a model call). Reinstalling without checking that first can waste time.

1) Quick check (on the machine where the Gateway runs)

Run:

openclaw --version
openclaw gateway status
openclaw logs --follow

Then send one prompt while logs --follow is open. Even when the UI shows nothing, the Gateway logs almost always show the real error (missing API key, bad model, auth profile missing, etc.).

2) “Soft reinstall” (reinstall just the Gateway service)

This is safe-ish and often fixes “gateway not really running / service points to old node / bad launchd/systemd unit”:

#
openclaw gateway stop
openclaw gateway uninstall
openclaw gateway install --force
openclaw gateway restart

3) Full wipe/reinstall (last resort)

There’s a built-in uninstaller:

openclaw uninstall

Docs: https://docs.openclaw.ai/install/uninstall

Before you do this: if you’ve already configured stuff you care about, backup your state dir (~/.openclaw or ~/.openclaw-<profile>).

#

If you paste the output of openclaw gateway status (and the first ~30 lines around the error from openclaw logs --follow after you send a prompt), I can tell you whether you even need reinstall, or if it’s just missing ANTHROPIC_API_KEY / GEMINI_API_KEY / model selection.

summer umbra
#

i typed in opencall unistall and its been twiddling its thumbs for 90 seconds now

#

openclaw *

worn tendonBOT
#

That “twiddling thumbs” text is the CLI spinner — after 90s on openclaw uninstall, it’s probably hung (often while trying to stop/uninstall the gateway service).

Do this first

  1. Cancel it with Ctrl+C.

  2. Re-run uninstall in non-interactive “just do it” mode (avoids waiting for prompts):

openclaw uninstall --all --yes --non-interactive

(If openclaw itself is busted, you can also run the same via npx:)

npx -y openclaw uninstall --all --yes --non-interactive

If it still hangs: do the manual “service first” removal

#
openclaw gateway stop
openclaw gateway uninstall

Then remove the state dir carefully (this wipes config/auth/session data on that machine):

rm -rf "${OPENCLAW_STATE_DIR:-$HOME/.openclaw}"

Docs: https://docs.openclaw.ai/install/uninstall

Quick question (so I can give the exact commands)

What OS are you on (macOS / Linux / Windows), and are you running this in a terminal on the same machine as the Gateway?

#

openclaw * isn’t a real OpenClaw command — in most terminals the * gets expanded into “all files in this folder”, so you end up calling openclaw with a huge list of random arguments (and it can look like it’s just spinning / “twiddling thumbs”).

Do this instead:

  1. Cancel any spinning command with Ctrl+C.

  2. Get the command list / confirm CLI works:

openclaw --help
openclaw --version
  1. If your goal is uninstall (no prompts, no waiting):
openclaw uninstall --all --yes --non-interactive

(or)

#
npx -y openclaw uninstall --all --yes --non-interactive

If it still hangs, I need one detail to give the exact manual removal commands:

What OS are you on (macOS / Linux / Windows)?

summer umbra
#

openclaw uninstall --all --yes --non-interactive i tried this , it is conjuring now for 90 seconds, should i restart the mac mini

worn tendonBOT
#

If it’s still “conjuring” after ~90s on macOS, it’s almost certainly hung (usually on a launchd/service stop).

You can reboot the Mac mini, but I’d try this first (faster + more reliable):

  1. Cancel the stuck command: Ctrl+C

  2. Try removing just the gateway service:

openclaw gateway stop
openclaw gateway uninstall
  1. If that also hangs (or openclaw is acting weird), do the manual macOS removal:
launchctl bootout gui/$UID/bot.molt.gateway 2>/dev/null || true
rm -f ~/Library/LaunchAgents/bot.molt.gateway.plist
#
  1. Then wipe the OpenClaw state dir (this deletes config/auth/sessions on this machine):
rm -rf ~/.openclaw

After that you can reinstall cleanly.

Docs (manual removal section is here): https://docs.openclaw.ai/install/uninstall

If you tell me whether you installed the Gateway under a profile (anything like --profile something), I can give the exact label/state-dir name to remove (it changes from ~/.openclaw / bot.molt.gateway to ~/.openclaw-<profile> / bot.molt.<profile>).

summer umbra
#

to do this should i reopen the terminal app launchctl bootout gui/$UID/bot.molt.gateway 2>/dev/null || true
rm -f ~/Library/LaunchAgents/bot.molt.gateway.plist

worn tendonBOT
#

You can do it in the same Terminal window — just make sure the stuck openclaw uninstall ... command is stopped first.

Steps:

  1. Go to the Terminal where it’s “conjuring” and hit Ctrl+C.

  2. Then run these two lines exactly:

launchctl bootout gui/$UID/bot.molt.gateway 2>/dev/null || true
rm -f ~/Library/LaunchAgents/bot.molt.gateway.plist

If you already closed Terminal or it’s totally wedged, then yes: just open a new Terminal and run them there.

After that, if you want the full wipe, also run (this deletes OpenClaw’s local state/config on that Mac):

#
rm -rf ~/.openclaw

If any of these commands prints an error, paste it here (screenshot/text is fine).

summer umbra
#

because i am trying launchctl bootout gui/$UID/bot.molt.gateway 2>/dev/null || true
rm -f ~/Library/LaunchAgents/bot.molt.gateway.plist and it still ios just "conjuring"

worn tendonBOT
#

launchctl bootout ... should return basically instantly and will not show OpenClaw’s “conjuring/twiddling” spinner text.

So if you’re still seeing “conjuring”, one of these is happening:

  1. You’re not actually running launchctl (you’re still inside a stuck openclaw ... command), or
  2. The terminal is wedged/hung and not accepting input properly.

Do this:

  1. Close that Terminal window completely (don’t just Ctrl+C).
  2. Open a fresh Terminal.
  3. Sanity check you’re in a normal shell by running:
    echo hi
    
    (you should see hi immediately)
#
  1. Now run:
    ls -la ~/Library/LaunchAgents | grep -E "molt|openclaw" || true
    
    If you see bot.molt.gateway.plist, remove it:
    rm -f ~/Library/LaunchAgents/bot.molt.gateway.plist
    

At this point, the gateway won’t relaunch next login. To stop anything currently running, a reboot is totally reasonable.

So yes: restart the Mac mini if you can. After reboot, OpenClaw should be gone (at least the auto-start), and you can continue cleanup (like rm -rf ~/.openclaw) without fighting a stuck launchd job.

If you paste what ls -la ~/Library/LaunchAgents | grep -E "molt|openclaw" prints, I can tell you the exact file/label you need to remove (sometimes it’s a profile name, not bot.molt.gateway).

summer umbra
#

i ran this rm -f ~/Library/LaunchAgents/bot.molt.gateway.plist should i expect an output ?

worn tendonBOT
#

No — rm -f ... is silent on success, so no output is expected.

To confirm it’s gone, run:

ls -la ~/Library/LaunchAgents/bot.molt.gateway.plist
  • If it says “No such file or directory” → perfect, it’s removed.
  • If it still lists the file → it’s still there (maybe different name / profile).

Next good cleanup steps (optional, but usually what you want for a clean reinstall):

  1. Stop any running gateway (if it’s still running):
launchctl list | grep -E "bot\\.molt\\.|openclaw" || true
#
  1. Wipe OpenClaw state (this deletes config/auth/sessions on this Mac):
rm -rf ~/.openclaw

If you paste the output of the launchctl list | grep ... command, I can tell you if there’s another service label running besides bot.molt.gateway.

summer umbra
#

i believe i succesfully unistalled how to reinstall and make sure i dont run into this again

worn tendonBOT
#

On macOS, the smoothest way to reinstall (and avoid the “twiddling thumbs / conjuring forever” situation) is:

1) Reinstall (recommended path)

A) Fast CLI install

curl -fsSL https://openclaw.ai/install.sh | bash

Then run the wizard (this is the important part — it sets up auth + installs the background service correctly):

openclaw onboard --install-daemon

Docs: https://docs.openclaw.ai/start/getting-started

B) Even more stable on macOS: use the OpenClaw menu bar app

#

The macOS app handles permissions (TCC prompts) and manages the launchd Gateway lifecycle more reliably.
Docs: https://docs.openclaw.ai/platforms/macos

2) Make sure keys work with the daemon (launchd)

Big gotcha: if the Gateway runs as a service, it often won’t see API keys you only set in your Terminal session.

Put keys in this file on the Mac mini:

~/.openclaw/.env

ANTHROPIC_API_KEY=...
GEMINI_API_KEY=...

Then:

#
openclaw gateway restart

(And please don’t paste keys into Discord.)

3) Verify it’s actually healthy

These should give quick, non-spinner output:

openclaw gateway status
openclaw models status
openclaw dashboard

If it ever goes back to “conjuring” for more than ~60s, don’t wait—open logs in another terminal:

#
openclaw logs --follow

and you’ll usually see the real error (missing credentials, bad auth profile, gateway not running, etc.).

If you tell me whether you want to use Anthropic or Gemini as your main provider, I can suggest the minimum “known-good” setup so it responds reliably right away.

summer umbra
#

should i enable hooks or skip for now ?

worn tendonBOT
#

If your goal right now is just “get a working chat”, you can skip hooks for now — they’re optional automation, not required for models/keys.

That said, if the wizard is offering the recommended bundled hooks, I’d usually enable these two because they’re low-risk and useful for debugging:

  • session-memory (saves a snapshot when you do /new)
  • command-logger (writes a simple command log to ~/.openclaw/logs/commands.log)

I’d skip boot-md unless you specifically want “run BOOT.md on gateway startup” behavior.

You can always change your mind later:

openclaw hooks list
openclaw hooks enable session-memory
openclaw hooks enable command-logger
openclaw hooks check
summer umbra
#

gateway service already installed should i restart ? reinstall or skip

worn tendonBOT
#

If the wizard says “gateway service already installed”, you usually want to skip reinstall and just restart once (especially after adding/changing API keys).

Do this

  1. Restart the gateway service:
openclaw gateway restart
  1. Verify it’s healthy:
openclaw gateway status
  1. Try the UI:
openclaw dashboard
#

When to reinstall (--force)

Only do a reinstall if you changed something that affects how the service launches (new Node install, different --profile, port/bind changes, env loading issues, service pointing at an old path), or if restart doesn’t fix it:

openclaw gateway install --force
openclaw gateway restart

One more key gotcha (macOS)

If you put API keys into ~/.openclaw/.env, you must restart the gateway for the service to pick them up.

If gateway status isn’t RPC probe: ok, paste the output (redact secrets) and we’ll zero in on what’s stuck.

summer umbra
#

haTCH in TUI ?

worn tendonBOT
#

“Hatch in TUI” just means: open the terminal UI and start your first chat session (it usually sends a first “Wake up, my friend!” message to confirm things work).

  • TUI = Terminal UI (interactive screen inside your terminal).
  • It’s a good choice because if something’s wrong (gateway not running, missing API key, auth issues) you’ll notice immediately.

If you pick it and want to do it later, you can always run:

openclaw tui

If you’d rather not deal with terminal UI right now, choose “Do this later” and use the browser UI instead:

openclaw dashboard

If “Hatch in TUI” opens but you get “Wake up, my friend!” with no reply, the fix path is:

#
openclaw gateway restart
openclaw models status
openclaw logs --follow

(That’s the “gateway reachable + model auth” check.)

summer umbra
#

i tried this openclaw gateway restart
openclaw models status
openclaw logs --follow and its just been moseying around now for 60s

worn tendonBOT
#

“Moseying around” is the spinner text again — that usually means the CLI is waiting on an RPC connection to the Gateway.

Two important things:

  1. openclaw logs --follow is supposed to run forever, but it should start printing log lines pretty quickly.
  2. If you ran those 3 commands one after another, the first one that hangs will block the rest.

Do this in a fresh terminal, one command at a time, and use --json to disable the spinner and force a real error:

Step 1: Check the service without doing an RPC probe

openclaw gateway status --json --no-probe

Paste that output.

Step 2: Now check with the probe (this is the “can I talk to the gateway” test)

#
openclaw gateway status --json --timeout 2000

Paste that output too.

Step 3: If you want logs, don’t follow yet — just grab the last chunk

openclaw logs --limit 200 --json

If gateway status --no-probe already shows the service is stopped (or constantly restarting), we’ll fix that first. If it shows running but probe fails, it’s usually a URL/token/auth mismatch and gateway probe is the next move.

If you can, also tell me: which exact command is the one that starts “moseying” (restart, models status, or logs).

summer umbra
#

u want me to paste the output here? will there be any sensitivy information ?

worn tendonBOT
#

Yes—paste it here, but do a quick redact first. Those commands shouldn’t print your raw API keys, but they can include a few sensitive-ish things.

Safe to paste (usually)

  • openclaw gateway status --json --no-probe
  • openclaw gateway status --json --timeout 2000
  • openclaw logs --limit 200 --json

What to redact if you see it

Please replace with REDACTED:

  • Any API keys / tokens (strings starting with things like sk-..., long random hex/base64)
  • Anything that looks like a gateway token/password in a URL (e.g. #token=...)
  • Your home directory username/path if you care (e.g. /Users/YourName/...)
  • Public IPs / hostnames (optional, if you want privacy)

What’s helpful to keep

  • Whether it says running/stopped
  • Any error message text
#
  • Port numbers (like 18789)
  • “RPC probe ok/failed” + the failure reason

If you paste the JSON outputs, I’ll tell you exactly what line indicates the problem and what to do next.

golden jackal
#

exposing the port number isnt a security breach ?

worn tendonBOT
#

A port number by itself is not a secret and usually not a security breach.

What can be sensitive is the combo of:

  • a public IP / hostname (or anything that identifies your machine on the internet), plus
  • the port, plus
  • any auth (gateway token/password, URLs that include #token=..., etc.)

If your Gateway is on the default loopback bind (127.0.0.1), then the port (like 18789) is only reachable from your own machine anyway, so it’s basically harmless to share.

So: feel free to leave the port number in. Just redact:

  • tokens/passwords/keys
  • public IPs/domains (optional but recommended in Discord)
golden jackal
#

{
"service": {
"label": "LaunchAgent",
"loaded": true,
"loadedText": "loaded",
"notLoadedText": "not loaded",
"command": {
"programArguments": [
"/opt/homebrew/bin/node",
"/opt/homebrew/lib/node_modules/openclaw/dist/index.js",
"gateway",
"--port",
"18789"
],
"environment": {
"OPENCLAW_GATEWAY_PORT": "18789"
},
"sourcePath": "/Users/steveword/Library/LaunchAgents/ai.openclaw.gateway.plist"
},
"runtime": {
"status": "running",
"state": "active",
"pid": 6953,
"cachedLabel": false
},
"configAudit": {
"ok": true,
"issues": []
}
},
"config": {
"cli": {

#

"path": "/Users/steveword/.openclaw/openclaw.json",
"exists": true,
"valid": true
},
"daemon": {
"path": "/Users/steveword/.openclaw/openclaw.json",
"exists": true,
"valid": true
}
},
"gateway": {
"bindMode": "loopback",
"bindHost": "127.0.0.1",
"port": 18789,
"portSource": "service args",
"probeUrl": "ws://127.0.0.1:18789",
"probeNote": "Loopback-only gateway; only local clients can connect."
},
"port": {
"port": 18789,
"status": "busy",
"listeners": [
{
"pid": 6953,
"command": "node",
"address": "127.0.0.1:18789",
"commandLine": "openclaw-gateway",
"user": "steveword"
}
],
"hints": [
"Gateway already running locally. Stop it (openclaw gateway stop) or use a different port."
]
},
"rpc": {
"ok": true,
"url": "ws://127.0.0.1:18789"
},
"extraServices": []

worn tendonBOT
#

Yep, paste it here — and what you pasted so far is actually useful.

From that snippet I can already tell:

  • The LaunchAgent is loaded and the gateway process is running (pid: 6953)
  • It’s starting node + openclaw … gateway --port 18789
  • So the service side looks alive.

What we don’t see yet (and what explains the “moseying”) is whether the CLI can RPC-probe the gateway (auth / token / URL mismatch). Your output looks like it was from --no-probe, so it won’t include that part.

Please run + paste these (redact tokens/keys if shown)

  1. Probe status (this is the key one):
openclaw gateway status --json --timeout 2000
  1. Gateway discovery/probe (often shows “you’re talking to the wrong gateway” / multiple gateways):
#
openclaw gateway probe --json
  1. If openclaw logs --follow looked “stuck”: that command is supposed to keep running, but it should print lines quickly. Instead do a one-shot pull:
openclaw logs --limit 200 --json

Redact these if they appear

  • anything like token, password, apiKey, or a URL fragment like #token=...

Port 18789 is fine to leave in.

Once you paste the gateway status (with probe), I can tell you immediately if it’s:

  • unauthorized (token mismatch),
  • can’t connect (wrong URL/port),
#
  • or you accidentally have multiple gateway services running.
#

Nice — that output is actually good news:

  • rpc.ok: true âś…
  • Gateway is running on ws://127.0.0.1:18789 âś…

So the Gateway is reachable. That means the earlier “moseying around” is very likely one of these:

  1. openclaw logs --follow is not supposed to finish — it will sit there “following” forever. Stop it with Ctrl+C. If nothing is happening, it may also print nothing yet because there are no recent log lines.

  2. Your actual “no responses / twiddling thumbs” problem is now almost certainly model auth or model selection, not the gateway being down.

Do this next (one at a time)

  1. Check model/auth status (this should print immediately):
openclaw models status --plain

Paste it here (redact anything that looks like an API key/token, though it usually won’t show them).

#
  1. Get some logs without follow-mode:
openclaw logs --limit 200
  1. Then try a prompt in the Dashboard/TUI again and immediately re-run:
openclaw logs --limit 200

That should capture the real error (missing ANTHROPIC_API_KEY, missing GEMINI_API_KEY, “No credentials found…”, etc.)

Reminder about --follow

If you run:

openclaw logs --follow

…expect it to “sit there” until new logs arrive. That part is normal.

golden jackal
#

🦞 OpenClaw 2026.2.13 (203b5bd) — I keep secrets like a vault... unless you print them in debug logs again.

anthropic/claude-opus-4-

worn tendonBOT
#

Cool — that banner + anthropic/claude-opus-4-… means your default model is set to Anthropic, so the next question is simply: does the gateway actually have Anthropic credentials?

1) Please paste the rest of openclaw models status --plain

The useful part is usually a few lines below the model name where it says something like:

  • No credentials found for profile "anthropic:default" (missing auth), or
  • an auth/profile summary that indicates Anthropic is configured.

Paste the whole output in a code block, and redact anything that looks like a key/token.

2) Grab logs right after you try a prompt

In one terminal:

openclaw logs --limit 200
#

Then try a prompt in the TUI/dashboard, and immediately run again:

openclaw logs --limit 200

That second one usually contains the real error (“No credentials…”, “No API key…”, etc.).

If it turns out auth is missing (most likely)

Put your key in ~/.openclaw/.env (don’t paste it here), e.g.:

  • ANTHROPIC_API_KEY=...

Then:

#
openclaw gateway restart

Paste the remaining models status --plain + the logs --limit 200 output and we’ll pinpoint it fast.

golden jackal
#

20:45:04 error diagnostic {"subsystem":"diagnostic"} lane task error: lane=session:agent:main:main durationMs=3 error="Error: No API key found for provider "anthropic". Auth store: /Users/steveword/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /Users/steveword/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir."

worn tendonBOT
#

That’s the smoking gun:

No API key found for provider "anthropic"
Auth store it’s checking: /Users/steveword/.openclaw/agents/main/agent/auth-profiles.json

So your default model is Anthropic, but the main agent has no Anthropic credentials.

Fix option A (simplest): put the key in ~/.openclaw/.env and restart

  1. Create/edit this file:
nano ~/.openclaw/.env

Add:

ANTHROPIC_API_KEY=sk-ant-...
#
  1. Restart the gateway:
openclaw gateway restart
  1. Verify:
openclaw models status --plain

Fix option B: add auth into the agent’s auth store (wizard-y way)

Run:

openclaw models auth add

and choose Anthropic API key (or setup-token), then re-check openclaw models status.

#

One more important note (why this happened)

If you previously set ANTHROPIC_API_KEY only in your shell, the LaunchAgent gateway won’t inherit it. Putting it in ~/.openclaw/.env is the reliable macOS fix.

Once it’s working, try a prompt again — the “twiddling thumbs” should turn into an actual answer within ~5–20 seconds.

golden jackal
#

do i need to buy antthropic to get the key?

worn tendonBOT
#

You don’t have to “buy Anthropic” as a product, but you do need some way to authenticate to use Anthropic models:

Option A: Anthropic API key (pay‑as‑you‑go)

  • Create an Anthropic account
  • Add billing / credits
  • Generate an API key in the Anthropic Console
  • Put it in ~/.openclaw/.env as ANTHROPIC_API_KEY=...

Option B: Use your Claude subscription via a setup‑token

If you already pay for Claude/Claude Code, you can generate a setup-token with the Claude CLI:

claude setup-token

Then in OpenClaw, paste it via:

#
openclaw models auth setup-token --provider anthropic

Docs: https://docs.openclaw.ai/providers/anthropic

Option C: Don’t use Anthropic (switch provider)

If you’d rather use Gemini/OpenAI/etc, you can switch the default model to a provider you do have a key for (and set that key instead).

If you tell me which provider you want to use (Anthropic vs Gemini vs OpenAI), I’ll give you the exact minimal steps.

golden jackal
#

im in the openclaw gateway dashboard how do i input api keys

worn tendonBOT
#

The dashboard/Control UI doesn’t have a big “paste API keys here” form, but you can set them from the dashboard by editing your config (or you can do it via ~/.openclaw/.env in Terminal).

Option 1: Do it in the Dashboard (Config editor)

  1. In the left sidebar, open Config (or Settings → Config).
  2. Open the Raw JSON editor (or whatever editor shows your openclaw.json).
  3. Add an env block (don’t delete your existing config—just add this alongside it):
{
  env: {
    ANTHROPIC_API_KEY: "sk-ant-REDACTED",
    // or if using Gemini:
    // GEMINI_API_KEY: "REDACTED"
  }
}
#
  1. Click Apply/Save (the UI will validate).
  2. Restart the gateway (there’s usually a restart button in the UI; if not, run openclaw gateway restart in Terminal).

Docs: https://docs.openclaw.ai/gateway/configuration (see “Environment variables”)

Option 2 (recommended on macOS): ~/.openclaw/.env file

In Terminal on the Mac mini:

nano ~/.openclaw/.env

Add:

ANTHROPIC_API_KEY=sk-ant-...
# or GEMINI_API_KEY=...
#

Then:

openclaw gateway restart

Verify

Run (or check in UI):

openclaw models status --plain

And: don’t paste your key into Discord—only into your local dashboard/config or ~/.openclaw/.env.

golden jackal
#

steveword@steves-Mac-mini ~ % openclaw models status --plain

🦞 OpenClaw 2026.2.13 (203b5bd) — I'll refactor your busywork like it owes me money.

anthropic/claude-opus-4-6

worn tendonBOT
#

That models status output you pasted is only the top (it’s showing the default model), but it still doesn’t confirm auth is fixed.

Given the earlier log line:

No API key found for provider "anthropic"

…you still need to add Anthropic credentials somewhere the Gateway (LaunchAgent) can read them, then restart the gateway.

Easiest / most reliable on macOS (recommended)

In Terminal on the Mac mini:

nano ~/.openclaw/.env

Add this line (don’t paste it in Discord):

#
ANTHROPIC_API_KEY=sk-ant-...

Then restart:

openclaw gateway restart

If you want to do it in the dashboard instead

Go to Config → Raw JSON and add:

{
  env: {
#
    ANTHROPIC_API_KEY: "sk-ant-..."
  }
}

Click Apply, then restart the gateway.

Verify (no secrets)

After restarting, run:

openclaw logs --limit 50

Then try a prompt in the dashboard. If it still fails, logs --limit 50 will show the exact error.

#

Also: can you paste the rest of openclaw models status --plain (everything below anthropic/claude-opus-4-6)? It usually includes an auth section (and it shouldn’t print your key).

golden jackal
#

03:54:43 warn [model-catalog] Failed to load model catalog: Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/opt/homebrew/lib/node_modules/openclaw/dist/pi-auth-json-Tr44luPZ.js' imported from /opt/homebrew/lib/node_modules/openclaw/dist/runner-CwwbBOHe.js
03:54:46 debug diagnostic {"subsystem":"diagnostic"} lane enqueue: lane=session:agent:main:main queueSize=1
03:54:46 debug diagnostic {"subsystem":"diagnostic"} lane dequeue: lane=session:agent:main:main waitMs=5 queueSize=0
03:54:46 debug diagnostic {"subsystem":"diagnostic"} lane enqueue: lane=main queueSize=1
03:54:46 debug diagnostic {"subsystem":"diagnostic"} lane dequeue: lane=main waitMs=1 queueSize=0
03:54:46 error diagnostic {"subsystem":"diagnostic"} lane task error: lane=main durationMs=2 error="Error: No API key found for provider "anthropic". Auth store: /Users/steveword/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /Users/steveword/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir."
03:54:46 error diagnostic {"subsystem":"diagnostic"} lane task error: lane=session:agent:main:main durationMs=8 error="Error: No API key found for provider "anthropic". Auth store: /Users/steveword/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /Users/steveword/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir."
03:54:46 error Embedded agent failed before reply: No API key found for provider "anthropic". Auth store: /Users/steveword/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /Users/steveword/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir.

worn tendonBOT
#

You’ve got two separate problems in that log:

  1. Still no Anthropic credential loaded
Error: No API key found for provider "anthropic"

So the gateway still can’t see ANTHROPIC_API_KEY (either it’s not set yet, or it’s not being read by the LaunchAgent).

  1. Your OpenClaw install looks broken
Failed to load model catalog: ERR_MODULE_NOT_FOUND … pi-auth-json-*.js

That file is part of the OpenClaw dist/ bundle. If it’s missing, the global install is incomplete/mismatched and you’ll keep getting weird behavior.


Fix it cleanly (macOS, recommended)

#

Run these on the Mac mini:

  1. Stop the gateway:
openclaw gateway stop
  1. Reinstall OpenClaw (this replaces the broken dist/ files):
curl -fsSL https://openclaw.ai/install.sh | bash
  1. Re-install the LaunchAgent so it points at the new install:
openclaw gateway install --force
#
  1. Add your Anthropic key where the daemon will read it (don’t paste the key into Discord):
nano ~/.openclaw/.env

Add:

ANTHROPIC_API_KEY=sk-ant-...
  1. Restart:
openclaw gateway restart

Verify (safe output)

#
openclaw logs --limit 50

If the key is loading, you should stop seeing “No API key found for provider anthropic”.

If you still get that error after doing the above, paste:

  • openclaw gateway status --json --no-probe
  • the last ~30 lines of openclaw logs --limit 200

(Just redact anything that looks like a key/token.)

golden jackal
#

install gateway service now ?

worn tendonBOT
#

If you want OpenClaw to keep running after you close your terminal / reboot: yes, install the Gateway service (daemon).

Two good options:

  1. Recommended (re-run the wizard, it can fill in the auth you skipped):
openclaw onboard --install-daemon

Docs: https://docs.openclaw.ai/start/getting-started

  1. If you’re already onboarded and just want the background service:
openclaw gateway install
openclaw gateway status

Docs: https://docs.openclaw.ai/cli/gateway

#

After you add Anthropic/Gemini creds later, just restart the service:

openclaw gateway restart
openclaw models status

Key detail: add the keys on the same machine that runs the Gateway service (that’s the “gateway host”).

golden jackal
#

when i am in the env file do i have to click shift o to "write out" i am lost

worn tendonBOT
#

No — Shift+O isn’t “write out” (and won’t save your file).

It depends which editor you’re in. Quick way to tell: look at the bottom bar.

If you see ^O Write Out (that’s nano)

To save:

  1. Ctrl + O (that’s “Write Out”)
  2. press Enter (to confirm filename)
  3. Ctrl + X (to exit)

If you’re in vim

To save & exit:

  1. press Esc
  2. type :wq
  3. press Enter

(Just exit without saving: :q!)

#

If you paste what the bottom of your screen shows (or say “nano” vs “vim”), I’ll give the exact keystrokes for your case.

golden jackal
#

nano

worn tendonBOT
#

In nano, to save the .env file:

  1. Ctrl + O (Write Out / save)
  2. it will ask File Name to Write: → just press Enter
  3. Ctrl + X (exit)

Notes:

  • It’s Ctrl+O (letter O), not Shift+O.
  • On some keyboards you may need Ctrl + Shift + O (still counts as Ctrl+O).

If you tell me what OS you’re on (Mac/Linux/Windows/WSL), I can also tell you what to do if Ctrl keys feel weird.

golden jackal
#

i put the api key in that file?

worn tendonBOT
#

Yeah — if you’re editing the correct file.

For a Gateway running as a service, the safest place is:

nano ~/.openclaw/.env

Then put your keys in as plain NAME=value lines (no quotes, no export, no spaces):

ANTHROPIC_API_KEY=sk-ant-...
GEMINI_API_KEY=...

Save in nano: Ctrl+O, Enter, then Ctrl+X.

#

Then restart the gateway so it picks up the new env:

openclaw gateway restart
openclaw models status

Important: this needs to be on the gateway host (the machine actually running the OpenClaw gateway). Also: don’t paste your key into Discord.

golden jackal
#

LLM request rejected: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.

worn tendonBOT
#

That error means your key is being accepted, but Anthropic API billing has $0 (or insufficient) credits. Nothing in .env can fix that.

You’ve got three paths:

  1. Add Anthropic credits (API key path)
  • Go to Anthropic Console → Plans & Billing → add payment method / purchase credits
  • Then restart:
    openclaw gateway restart
    
  1. If you have a Claude Pro/Max subscription (no API credits needed): use a setup-token instead
  • Generate token:
    claude setup-token
    
  • Then on the gateway host:
#
  openclaw models auth setup-token --provider anthropic
  openclaw gateway restart
  1. Switch to another provider you do have credits for (Gemini/OpenAI/etc.)
  • Add that provider’s key, then:
    openclaw models list
    openclaw models set <something-from-the-list>
    openclaw gateway restart
    

If you run openclaw models status and paste the non-secret part (just the provider/auth status lines), I can tell you which option you’re currently using.

golden jackal
#

zsh: command not found: claude

worn tendonBOT
#

That just means the Claude Code CLI isn’t installed, so claude setup-token can’t run.

You’ve got 2 realistic options:

  1. Stick with the Anthropic API key
    Your error earlier was billing/credits = empty. So you’d need to add credits in Anthropic Console (Plans & Billing), then:
openclaw gateway restart
  1. Use a Claude subscription via setup-token (doesn’t require API credits)
    You need to install Claude Code somewhere (can be any machine — your laptop is fine), then run:
claude setup-token

Copy the token it prints, then on the gateway host run:

#
openclaw models auth paste-token --provider anthropic
openclaw gateway restart

Docs: https://docs.openclaw.ai/providers/anthropic

If you tell me whether your gateway is running on your local machine or a VPS, I’ll tell you the least painful path.

golden jackal
#

i did buy a plan and now restarted gateway, do i need to edit any api key files or should i be good ?

worn tendonBOT
#

If you already put your key in the gateway host env (usually ~/.openclaw/.env) and restarted the Gateway, you should be good — no extra files to edit.

What I’d do to confirm in 30 seconds:

  1. Verify Anthropic auth is actually being picked up
openclaw models status --probe

You want it to show Anthropic as authenticated / probe ok (don’t paste any secrets if you share output).

  1. If you’re running the Gateway as a service/daemon (systemd/launchd), make sure the key is in:
nano ~/.openclaw/.env
# should contain:
# ANTHROPIC_API_KEY=sk-ant-...

(Setting it only in your shell often won’t reach the daemon.)

#

One important gotcha: if by “bought a plan” you mean Claude Pro/Max subscription, that usually does not add API credits. The earlier error was specifically about Anthropic API credits. In that case you either need to buy API credits in the Anthropic Console or use the setup-token route.

If openclaw models status --probe still shows the “credit balance too low” error, paste the (redacted) probe output and we’ll pinpoint whether it’s “key not loaded” vs “billing still 0.”

golden jackal
#

OAuth/token status

  • none
worn tendonBOT
#

That OAuth/token status - none line is normal if you’re using API keys (it’s only reporting OAuth-style tokens, not whether ANTHROPIC_API_KEY exists).

To confirm you’re actually “good”, run a live probe:

openclaw models status --probe
  • If Anthropic probe comes back ok → you’re set, no more file edits.
  • If it still complains about missing key / credits → make sure the key is in the daemon-readable file on the gateway host:
nano ~/.openclaw/.env
# ANTHROPIC_API_KEY=sk-ant-...

then:

#
openclaw gateway restart

If you paste the non-secret part of openclaw models status --probe (just the provider/probe results), I can tell you exactly what it’s seeing.

golden jackal
#

this anthropic/claude-opus-4-6?

worn tendonBOT
#

Yeah — anthropic/claude-opus-4-6 is the model id string you’d use for Anthropic “Opus” in OpenClaw (it’s the same one shown in the Anthropic provider docs as the example primary model).

To verify it’s actually available for your account/credentials:

openclaw models list
openclaw models status --probe

And to set it as your default:

openclaw models set anthropic/claude-opus-4-6
openclaw gateway restart

Docs: https://docs.openclaw.ai/providers/anthropic

golden jackal
#

now what ?

worn tendonBOT
#

Do this checklist in order (it’ll tell us exactly where it’s stuck):

  1. Make sure the Gateway is actually running
openclaw gateway status
  1. Verify Anthropic auth + that the model can be reached
openclaw models status --probe
  • If this prints any “no credits / unauthorized / no api key” message, paste that part (redacted).
  • If probe is OK, your model + key are fine.
  1. Try a real message
  • Easiest: open the Control UI and type “hi”
#
openclaw dashboard
  1. If it still doesn’t reply, tail logs while you send the message
openclaw logs --follow

If you paste the output of (2) (just the probe results, no secrets), I’ll tell you the next exact fix. Also: are you chatting via the Control UI or via a Discord bot channel?

golden jackal
#

Shell env : off
Providers w/ OAuth/tokens (0): -

worn tendonBOT
#

Those two lines are basically saying:

  • Shell env : off = the Gateway is not importing your interactive shell environment (common when running as a daemon/service). So export ANTHROPIC_API_KEY=... in your terminal/profile won’t be seen by the service.
  • Providers w/ OAuth/tokens (0) = totally fine if you’re using API keys (OAuth tokens would show up only if you logged in via an OAuth flow).

What to do next:

  1. Make sure your Anthropic key is in the daemon-readable env file on the gateway host:
nano ~/.openclaw/.env
# should include:
# ANTHROPIC_API_KEY=sk-ant-...
  1. Restart + probe:
#
openclaw gateway restart
openclaw models status --probe

If --probe still shows the “credit balance too low” message, double-check you bought Anthropic API credits (Console Plans & Billing) — a Claude subscription plan doesn’t always equal API credits.