#I am burning open ai credits like water I need help

1 messages · Page 1 of 1 (latest)

solid raft
#

I am burning open ai credits like water I need help, s there a way I can use two open ai models at the same time eg switch between them?

waxen escarpBOT
#

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

candid cometBOT
#

Yes — you can switch models, and you can keep multiple models available.

Fast path:

  • Run /model or /model list in the chat/session to pick a different model without restarting.
  • If the model isn’t available yet, use /models add or /models add <provider> <modelId> to add it, then switch with /model.
  • You can also configure a default primary model + fallbacks, but fallbacks are mainly for failure/cooldown routing, not “always use cheap unless hard”.

Cost-saving pattern I’d recommend: set your default to the cheaper model you’re comfortable with, then manually switch up with /model only for heavy coding/debugging turns. Also check whether heartbeats/crons are using the expensive model — those can quietly burn credits if they’re frequent.

Docs: https://docs.openclaw.ai/concepts/models
For fresh model picks/pricing experience, ask in #old-models — I don’t want to give you stale model advice.

Also: what does openclaw --version show? Version matters a lot for model command behavior.

solid raft
#

I don’t get you explain in easy terms and where am I switching via WhatsApp

candid cometBOT
#

Yep — easy version:

Think of OpenClaw like a car with gears:

  • cheap model = low gear / everyday driving
  • expensive model = high gear / hard problems

You switch by sending a command to your OpenClaw bot in WhatsApp as its own message.

In WhatsApp, send:

/model

That should show/select the current model options. You can also send:

/model status

To switch, send either the number/name it shows, for example:

#

/model 2

or:

/model openai/<model-name>

Important: send the command by itself, not inside a normal sentence.

If the cheaper model is not listed, add it first with:

/models add

Then choose it with /model.

My recommendation: make the cheaper model your normal/default one, and only switch to the expensive OpenAI model when you’re doing something hard. Also run /usage cost if enabled — it helps spot what’s burning credits.

If /model does nothing in WhatsApp, paste your openclaw --version and tell us whether WhatsApp is paired as your main channel or just notifications.

solid raft
#

Ok but do I not have to have multiple models installed before I switch

candid cometBOT
#

Yes — exactly. You need the models to be available/configured before you can switch to them.

For cloud models like OpenAI, “installed” really means:

  1. You have provider auth set up — API key / OAuth
  2. The model is allowed/added in OpenClaw
  3. Then /model can switch to it

So the flow is:

/models add

Pick/add the cheaper model you want.

Then:

/model

#

Choose it as the active model.

If you already see multiple models when you run /model, then you don’t need to add anything — just pick one.

If you only see one model, add another first. For WhatsApp, these are just normal messages you send to your OpenClaw chat, one command at a time.

solid raft
#

Ok when I set up my open claw it only allowed me to chose one model?

candid cometBOT
#

Yep, that’s normal. Setup/onboarding usually makes you choose one default model so OpenClaw has something to start with.

After setup, you can add more.

In your WhatsApp chat with OpenClaw, send:

/models add

That should guide you through adding another model/provider.

Then send:

/model

…and pick which one to use for that session.

So: setup = choose your starting/default model. Later = add more models and switch between them.

#

For your credit issue, the practical move is: add a cheaper model, switch to it with /model, and only switch back to the expensive OpenAI model for harder tasks.

solid raft
#

Can I do this inside the terminal

candid cometBOT
#

Yes. Terminal is actually the cleanest way.

Use these on the machine running OpenClaw:

openclaw models status

Shows what model you’re currently using + auth status.

openclaw models list

Shows models already configured.

openclaw models list --all
#

Shows more models you may be able to configure/use.

To switch the default model:

openclaw models set <provider/model>

Example shape:

openclaw models set openai/some-model-name

I’m saying <provider/model> on purpose because I don’t want to guess the exact OpenAI model names for your install. Run openclaw models list --all --provider openai and copy one from there.

If OpenClaw was installed from source with pnpm, use the same commands but as:

solid raft
#

Also how do I do it on terminal I only have one model set

candid cometBOT
#

Yes — if terminal only shows one model, do this:

  1. Check what you have now:
openclaw models status
openclaw models list
  1. See available OpenAI models:
openclaw models list --all --provider openai
  1. Pick the exact provider/model name from that list, then set it:
openclaw models set openai/<model-from-the-list>
#

That changes your default model.

If you want to add/use a totally different provider, first set up auth:

openclaw models auth add

Then list/set again:

openclaw models list --all
openclaw models set <provider/model>

If you installed OpenClaw from source and openclaw command doesn’t work, use:

pnpm openclaw models status
#
pnpm openclaw models list --all --provider openai
pnpm openclaw models set <provider/model>

Tiny warning: models set changes the default globally. /model in WhatsApp switches the current chat/session. So terminal = default setting, WhatsApp = quick per-chat switching.

solid raft
#

I already have a model installed how can I add others

candid cometBOT
#

You don’t really “install” cloud models one by one. You add/configure them, then choose one.

Terminal flow:

  1. See what you already have:
openclaw models list
  1. See models OpenClaw knows about:
openclaw models list --all

For only OpenAI:

#
openclaw models list --all --provider openai
  1. Copy the exact model name from the list, then run:
openclaw models set <provider/model>

Example format only:

openclaw models set openai/<model-name-from-list>

That command both adds it to your config and makes it your default model.

If you want to add another provider/account first, run:

#
openclaw models auth add

Then repeat:

openclaw models list --all
openclaw models set <provider/model>

After that, in WhatsApp you can use /model to switch per chat/session.

solid raft
#

What’s the command to find what version I am running

candid cometBOT
#

Run:

openclaw --version

If you installed/runs from source with pnpm, use:

pnpm openclaw --version

Paste that output here and we can give version-specific commands.

solid raft
#

How do I exit a session

candid cometBOT
#

Depends what you mean by “exit”:

If OpenClaw is currently thinking/running, send:

/stop

If you want to end the current chat context and start fresh, send:

/new

or:

#
/reset

If you’re inside a terminal session/CLI prompt, usually press:

Ctrl+C

So for WhatsApp/OpenClaw chat: use /stop to cancel, /new or /reset to start a clean session.

solid raft
#

I am using openclaw 2026 4 26

candid cometBOT
#

On 2026.4.26, do it from terminal like this:

  1. See available model names:
openclaw models list --all --provider openai
  1. Copy the exact model id you want, then run:
openclaw models set openai/<model-id>

That adds it to your OpenClaw config and makes it the default.

Example shape only:

#
openclaw models set openai/gpt-whatever-from-your-list
  1. Confirm:
openclaw models list
openclaw models status

If you want to add a model without switching to it yet, use this instead:

openclaw config set agents.defaults.models '{"openai/<model-id>":{}}' --strict-json --merge

Then later switch with:

#
openclaw models set openai/<model-id>

If you’re running from source, put pnpm in front:

pnpm openclaw models list --all --provider openai
pnpm openclaw models set openai/<model-id>
solid raft
#

It said no models found

candid cometBOT
#

That probably means the provider name was wrong for your setup.

If you set up OpenAI through Codex / ChatGPT OAuth, the provider is usually:

openai-codex

not openai.

Try:

openclaw models status
openclaw models list --all --provider openai-codex

If that shows models, switch with:

#
openclaw models set openai-codex/<model-id>

Example shape:

openclaw models set openai-codex/gpt-5.5

If that also says no models found, run:

openclaw models list --all

and look at the provider names on the left. Paste the first ~20 lines here and I’ll tell you exactly which command to run.

Tiny distinction:

#
  • openai = normal OpenAI API key provider
  • openai-codex = ChatGPT/Codex OAuth/subscription provider
solid raft
#

🦞 OpenClaw 2026.4.26 (be8c246)
Welcome to the command line: where dreams compile and confidence segfaults.

Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : openai/gpt-5.4-mini
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (3) : GPT -> openai/gpt-5.5, gpt -> openai/gpt-5.4, gpt-mini -> openai/gpt-5.4-mini
Configured models (3): openai/gpt-5.5, openai/gpt-5.4, openai/gpt-5.4-mini

Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -

  • openai effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | openai:default=sk-proj-...luB75GoA

OAuth/token status

  • none
    root@OpenClaw:~#
candid cometBOT
#

Good, this output tells us a lot: you already have 3 OpenAI models configured.

Configured:

  • openai/gpt-5.5
  • openai/gpt-5.4
  • openai/gpt-5.4-mini

Current default:

  • openai/gpt-5.4-mini

So you do not need to add more just to switch between those three.

Switch in terminal:

openclaw models set gpt-mini

or:

#
openclaw models set gpt

or:

openclaw models set GPT

Those aliases mean:

  • gpt-mini → openai/gpt-5.4-mini
  • gpt → openai/gpt-5.4
  • GPT → openai/gpt-5.5

Switch in WhatsApp:

/model gpt-mini
#

or:

/model gpt

or:

/model GPT

If your goal is saving credits, stay on gpt-mini as default and only switch up for hard tasks.

solid raft
#

I want to set ht 5 mini as default then change to gpt 5. .4 mini when I need to code how do I set this up

candid cometBOT
#

From your output, you currently have these three choices:

GPT      -> openai/gpt-5.5
gpt      -> openai/gpt-5.4
gpt-mini -> openai/gpt-5.4-mini

If you want the cheap/default one to be mini, run this in terminal:

openclaw models set gpt-mini

That sets your default to:

#
openai/gpt-5.4-mini

Then when you need stronger coding help in WhatsApp, send one message by itself:

/model gpt

That switches that chat/session to openai/gpt-5.4.

If you need the strongest one, send:

/model GPT
#

To switch back to cheap mode in WhatsApp:

/model gpt-mini

So your setup is basically:

openclaw models set gpt-mini

Then use /model gpt only when you need more coding power.

solid raft
#

No I want to add gpt 5 mini and make it default

candid cometBOT
#

Got it — you want openai/gpt-5-mini, not gpt-5.4-mini.

Do this:

  1. First check whether your OpenClaw/OpenAI provider sees it:
openclaw models list --all --provider openai | grep gpt-5-mini
  1. If it shows up, set it as default:
openclaw models set openai/gpt-5-mini
  1. Confirm:
#
openclaw models status

If step 1 shows nothing, you can still add it to your config manually:

openclaw config set agents.defaults.models '{"openai/gpt-5-mini":{}}' --strict-json --merge
openclaw models set openai/gpt-5-mini

Then verify:

openclaw models status

If OpenAI rejects it after that, then your API key/account doesn’t have access to that exact model id, or the model id is named slightly differently in your provider.

solid raft
#

How do I do that line on a Mac after OpenAI

candid cometBOT
#

On Mac, open Terminal and paste the command exactly like this:

openclaw config set agents.defaults.models '{"openai/gpt-5-mini":{}}' --strict-json --merge

Then set it as default:

openclaw models set openai/gpt-5-mini

Then check it worked:

openclaw models status
#

If your Mac says openclaw: command not found, try the pnpm version:

pnpm openclaw config set agents.defaults.models '{"openai/gpt-5-mini":{}}' --strict-json --merge
pnpm openclaw models set openai/gpt-5-mini
pnpm openclaw models status

The important part is: on Mac, keep the single quotes around the JSON bit. That stops the shell from mangling it.

solid raft
#

I am posting these commands nothing is happening you know my openclaw version send me the correct promos

candid cometBOT
#

Got you — I think the confusion is this:

For your OpenClaw 2026.4.26, your status already showed the available mini model is:

openai/gpt-5.4-mini

Not openai/gpt-5-mini.

So paste these in Terminal, one line at a time:

openclaw models set openai/gpt-5.4-mini

Then check:

#
openclaw models status

You should see:

Default : openai/gpt-5.4-mini

If you want a short alias, this should also work because your status showed it exists:

openclaw models set gpt-mini

For WhatsApp, do not paste terminal commands. Send this as a normal WhatsApp message to your OpenClaw bot:

#
/model gpt-mini

When you want the stronger coding model, send:

/model gpt

Then switch back to cheap mini with:

/model gpt-mini

If “nothing happens”, tell me where you pasted it: Mac Terminal, Linux/root terminal, or WhatsApp. The commands are different depending on that.

solid raft
#

Default is 5 .4 mini but I want 5 mini

candid cometBOT
#

Got it. For OpenClaw 2026.4.26, paste this in Terminal, not WhatsApp:

openclaw models set openai/gpt-5-mini

Then check:

openclaw models status

You want it to say:

Default : openai/gpt-5-mini
#

If that command errors or the model later fails when you send a message, then your OpenAI API key probably doesn’t have access to gpt-5-mini or OpenAI uses a different exact model id for your account.

To make a nice shortcut after setting it, run:

openclaw models aliases add mini openai/gpt-5-mini

Then later you can switch with:

openclaw models set mini

And in WhatsApp:

#
/model mini

Important: you already have gpt-mini, but that points to openai/gpt-5.4-mini. So use a new alias like mini for openai/gpt-5-mini.

solid raft
#

You there I have 5 mini set as default now is there a way it automatically replies to simple questions with 5 mini then use ai to determine if it needs gpt 5.4 mini like configure

candid cometBOT
# solid raft You there I have 5 mini set as default now is there a way it automatically repli...

Yep, I’m here.

Easy version: OpenClaw does not currently have a built-in “use cheap model for easy questions, automatically upgrade to stronger model for hard questions” brain-router for normal chat.

What you can do today:

  1. Keep your cheap model as the default.
  2. Switch manually when a question needs more power.
  3. Use fallbacks only for errors/rate limits, not for “this question is hard”.

So if your default is already the cheap one, in WhatsApp send this as its own message:

/model

That should show the models available in that chat/session. Then pick one by number, or use the exact model/alias shown there, for example:

candid cometBOT
candid cometBOT
solid raft
#

What other ways can I reduce cost list all

candid cometBOT
# solid raft What other ways can I reduce cost list all

Yep. Cost usually comes from two things: expensive model + huge context/tool work.

Ways to reduce it:

  1. Use the cheapest usable model as default.
    • You already did this.
    • Use the stronger model only when needed with:
/model

or:

/model status
  1. Start fresh sessions often.
    Long WhatsApp chats keep history/context around, which can make every reply more expensive.
candid cometBOT
# solid raft What other ways can I reduce cost list all
/new

or:

/reset

Send that as its own WhatsApp message when a topic is done.

  1. Don’t use fallbacks as “smart upgrade”.
    Fallbacks are for errors/rate limits, not “hard question detected”. If you put an expensive model in fallbacks, it can still cost you when the cheap model fails.

  2. Avoid sub-agents unless you really need them.
    Sub-agents are powerful, but each one is another model run.

  3. Keep questions short and separate.
    “Do this one thing” is cheaper than dumping a giant multi-part task.

candid cometBOT
# solid raft What other ways can I reduce cost list all
  1. Avoid sending big files/images/PDFs unless needed.
    Media and document analysis can burn tokens fast.

  2. Avoid asking it to browse/search/read logs unless needed.
    Tool calls often bring back lots of text, and that text gets processed by the model.

  3. Use a fresh session before switching from a big task back to casual chat.
    Example:

/new
/model <your-cheap-model-or-number>
  1. Check for background jobs/heartbeats/crons.
    If you configured heartbeat or scheduled tasks, they may be spending tokens in the background. Empty/disable HEARTBEAT tasks you don’t need, or configure them to use a cheaper model / isolated session.

  2. Put hard spending limits in the OpenAI dashboard.

candid cometBOT
# solid raft What other ways can I reduce cost list all

This is the emergency brake. OpenClaw can reduce usage patterns, but the provider billing dashboard is where you cap damage.

  1. Use other providers only if they fit your needs.
    For current “cheap but usable” model advice, ask in #models because pricing/quality changes constantly. Docs here: https://docs.openclaw.ai/concepts/models

  2. Run:

openclaw models status
openclaw --version

That shows what OpenClaw thinks your default/fallbacks are. If you paste that output here, redact any keys/tokens first.

solid raft
#

What are jobs heartbeats and cribs how do I know if I am using any

candid cometBOT
# solid raft What are jobs heartbeats and cribs how do I know if I am using any

I think by “cribs” you mean crons.

Easy terms:

Jobs / background tasks
These are detached things OpenClaw is doing in the background, like a sub-agent, video/music generation, or an isolated scheduled run.
Check:

openclaw tasks list
openclaw tasks list --status running

Crons
These are scheduled jobs: “run this every day”, “remind me in 20 minutes”, “check something every hour”, etc.
Check:

candid cometBOT
# solid raft What are jobs heartbeats and cribs how do I know if I am using any
openclaw cron status
openclaw cron list

If you see jobs in the list, those can spend tokens when they run.

Heartbeats
This is OpenClaw periodically waking up to check whether anything needs attention. Default can be around every 30m / 1h depending on setup, but an empty/no-op HEARTBEAT usually won’t do useful work.
Check your heartbeat config:

openclaw config get agents.defaults.heartbeat --json
openclaw config get agents.list --json

To disable heartbeats:

candid cometBOT
# solid raft What are jobs heartbeats and cribs how do I know if I am using any
openclaw config set agents.defaults.heartbeat.every "0m"
openclaw gateway restart

Also check the actual heartbeat file:

cat ~/.openclaw/workspace/HEARTBEAT.md

If it has real tasks in it, heartbeats may run model calls. If it’s empty/comment-only, it should not be burning much.

Docs:
https://docs.openclaw.ai/automation/cron-jobs
https://docs.openclaw.ai/gateway/heartbeat
https://docs.openclaw.ai/automation/tasks

solid raft
#

What are heartbeats

candid cometBOT
# solid raft What are heartbeats

Heartbeats are OpenClaw “waking itself up” every so often to check if it needs to do anything.

Example:

  • “Do I have any reminders?”
  • “Any background task finished?”
  • “Anything in HEARTBEAT.md I should check?”
  • “Should I send an alert?”

They are useful if you want OpenClaw to proactively check things. But if you’re trying to save money, they can be disabled.

Check your heartbeat settings:

openclaw config get agents.defaults.heartbeat --json

Disable them:

candid cometBOT
solid raft
#

Ok what can I run to check every heartbeat crone or jobs

candid cometBOT
# solid raft Ok what can I run to check every heartbeat crone or jobs

Run these on the machine where your OpenClaw gateway is running:

openclaw --version
openclaw status
openclaw models status

Heartbeats:

openclaw config get agents.defaults.heartbeat --json
openclaw config get agents.list --json
cat ~/.openclaw/workspace/HEARTBEAT.md

Crons / scheduled jobs:

candid cometBOT
candid cometBOT
solid raft
#

I have no credit on my open ai key will this affect my answer

candid cometBOT
# solid raft I have no credit on my open ai key will this affect my answer

Yes, if OpenClaw is trying to use your OpenAI API key, no credit can affect replies.

Simple rule:

  • If your current/default model is openai/..., replies may fail or stop.
  • If OpenAI is only a fallback, it may fail only when OpenClaw tries that fallback.
  • If you switch to a non-OpenAI provider with working auth/credit, replies can still work.

Check what model/auth OpenClaw is actually using:

openclaw models status

From WhatsApp, also send:

candid cometBOT
solid raft
#

No I mean the job cron and heartbeat checks if I have no credit will this affect my the checks to see what’s running or set up

candid cometBOT
# solid raft No I mean the job cron and heartbeat checks if I have no credit will this affect...

No, checking what is configured/running should not require OpenAI credit.

These are local/gateway inspection commands, so they should still work:

openclaw cron status
openclaw cron list
openclaw tasks list
openclaw tasks list --status running
openclaw config get agents.defaults.heartbeat --json
openclaw config get agents.list --json
cat ~/.openclaw/workspace/HEARTBEAT.md

The one command that may complain about OpenAI credit/auth is:

candid cometBOT
# solid raft No I mean the job cron and heartbeat checks if I have no credit will this affect...
openclaw models status

…but even then it’s useful because it tells you OpenAI is unavailable.

What would need credit is anything that actually makes the AI run, for example a heartbeat firing, a cron job running, or manually doing:

openclaw cron run <job-id>

So: safe to list/check jobs, crons, tasks, and heartbeat config. Avoid manually running jobs until you switch away from OpenAI or add credit.

solid raft
#

Why are you not letting me post my results here

candid cometBOT
# solid raft Why are you not letting me post my results here

You can post results here. I’m only warning you to redact secrets first because command output can include API keys, tokens, phone numbers, channel IDs, or auth profile details.

Safe to paste after redacting:

openclaw cron status
openclaw cron list
openclaw tasks list
openclaw tasks list --status running
openclaw config get agents.defaults.heartbeat --json

For anything that shows config or model auth, remove values that look like:

sk-...
candid cometBOT
solid raft
#

But you will not let me

candid cometBOT
# solid raft But you will not let me

I’m not blocking you. I don’t have the ability to stop you posting here.

If Discord is refusing the message, it’s probably one of these:

  • the output is too long for Discord’s message limit
  • Discord is rate-limiting you
  • the message contains something Discord blocks/flags
  • the thread/channel permissions are acting weird

Try this: paste one command output at a time, starting with the shortest one:

openclaw cron list

If it’s long, put it in a .txt file and upload it, or split it into chunks. Redact keys/tokens first.

solid raft
#

How do I switch models in WhatsApp

candid cometBOT
# solid raft How do I switch models in WhatsApp

In WhatsApp, send the model command as a message by itself.

Start with:

/model

That should show the available models for that chat/session.

Then switch by number:

/model 3

Or switch by exact model/alias if you know it:

candid cometBOT
candid cometBOT
solid raft
#

Ok it said 5.4 mini but I have not credit so not sure how it is reading this

candid cometBOT
# solid raft Ok it said 5.4 mini but I have not credit so not sure how it is reading this

That can happen. Seeing 5.4 mini in /model status does not necessarily mean OpenAI successfully answered with paid API credit.

It might be one of these:

  1. /model status is just reading your saved config/session choice. That does not need OpenAI credit.
  2. You may be using a different auth path/provider, like openai-codex/... instead of openai/....
  3. The model is selected, but the next real AI reply may fail when it tries to call OpenAI.
  4. You may have fallback/alternate auth configured somewhere.

Run this on the gateway machine:

openclaw models status

Look for the exact provider prefix:

candid cometBOT
solid raft
#

I ran status and it said something else but WhatsApp say 5.4 mini

candid cometBOT
# solid raft I ran status and it said something else but WhatsApp say 5.4 mini

That usually means you’re seeing two different things:

  • openclaw models status = your gateway/default model config.
  • WhatsApp /model status = the model selected for that WhatsApp chat/session.

So WhatsApp can be pinned to 5.4 mini even if the default status says something else.

To fix it in WhatsApp, send:

/model

Then pick the non-OpenAI model from the list. After switching, confirm:

candid cometBOT
candid cometBOT
solid raft
#

Dejay is clearing session and does that save money

candid cometBOT
# solid raft Dejay is clearing session and does that save money

Yes, clearing/starting a new session can save money.

Why: long sessions carry old conversation history/context. More context = more tokens = more cost. Starting fresh means the next replies don’t drag the whole old chat along.

In WhatsApp, send this as its own message:

/new

or:

/reset

That helps with token cost, but it does not change the model. If WhatsApp is still on 5.4 mini, switch after resetting:

candid cometBOT
solid raft
#

So do I send new on every new chat

candid cometBOT
# solid raft So do I send new on every new chat

Not every single message. Use /new when you are starting a new topic.

Good rule:

  • Same conversation/topic: keep chatting, no /new needed.
  • Finished that topic and asking about something different: send /new first.
  • The bot seems confused or is carrying old context: send /new.
  • You just switched from a big task back to simple chat: send /new.

Example:

/new

Then ask your new question.

candid cometBOT
solid raft
#

WhatsApp returned this Ehat does each one mean

Current: openai/gpt-5.4-mini
Switch: /model <provider/model>
Runtime: /model <provider/model> --runtime <runtime>
Browse: /models (providers) or /models <provider> (models)
More: /model status

candid cometBOT
# solid raft WhatsApp returned this Ehat does each one mean Current: openai/gpt-5.4-mini Swi...

That output means:

Current: openai/gpt-5.4-mini
Your WhatsApp session is currently set to OpenAI GPT-5.4 Mini. If your OpenAI API has no credit, this is the one you probably want to change.

Switch: /model <provider/model>
This is the command format to switch directly. Example:

/model minimax/MiniMax-M2.7

Use the exact provider/model from your available list.

Runtime: /model <provider/model> --runtime <runtime>
Advanced option. Usually ignore this. It chooses the backend runtime/harness, not just the model.

candid cometBOT
candid cometBOT
solid raft
#

Once you switch do I have to switch back to default

candid cometBOT
# solid raft Once you switch do I have to switch back to default

No, not unless you want to.

When you switch with /model, it changes the model for that current WhatsApp session and keeps using it for that session.

So if you switch away from OpenAI to a cheaper/non-OpenAI model, you can just leave it there.

Use:

/model status

to confirm what it is currently using.

If you start a fresh session with /new, it may go back to the configured default depending on your setup. So after /new, check again:

candid cometBOT
solid raft
#

So I can switch back to be on the safe side?

candid cometBOT
candid cometBOT
solid raft
#

If I switch in WhatsApp does that affect my discord reply ai bot which is running my openclaw

candid cometBOT
# solid raft If I switch in WhatsApp does that affect my discord reply ai bot which is runnin...

Usually no.

A /model switch in WhatsApp affects that WhatsApp chat/session, not every channel globally.

So your Discord bot/replies should keep using whatever model is selected for the Discord session/default.

The exception: if your setup routes WhatsApp and Discord into the same agent/session identity or you changed the gateway default with a CLI command like:

openclaw models set <provider/model>

That can affect new/default sessions more broadly.

Check each place separately:

In WhatsApp:

candid cometBOT
solid raft
#

Is there a way I can limit replies per user and keep replies short to avoid people spamming

candid cometBOT
# solid raft Is there a way I can limit replies per user and keep replies short to avoid peop...

Yes, partially.

There are 3 different controls:

1. Stop random people using it
Use allowlists / pairing. This is the biggest cost saver.

For WhatsApp DMs, only allow approved numbers:

openclaw config get channels.whatsapp --json

You want dmPolicy to be allowlist or pairing, not open-to-everyone.

2. Stop group spam triggering replies
In groups, make the bot only reply when mentioned. For WhatsApp groups this is the important idea:

candid cometBOT
# solid raft Is there a way I can limit replies per user and keep replies short to avoid peop...
channels: {
  whatsapp: {
    groups: { "*": { requireMention: true } }
  }
}

For Discord, same idea: set the Discord channel to require mention / only allow specific channels/users. Docs show per-channel Discord config with requireMention: true and users: [...].

3. Batch spammy messages instead of replying to every one
OpenClaw has inbound debounce/queue settings. This does not create a strict “5 replies per user per hour” quota, but it helps stop rapid-fire messages becoming many model calls:

messages: {
  inbound: { debounceMs: 5000 },
candid cometBOT
candid cometBOT
# solid raft Is there a way I can limit replies per user and keep replies short to avoid peop...

Discord docs show this under channel config, for example channels.discord.guilds.<guild>.channels.<channel>.systemPrompt.

Important: I don’t think OpenClaw currently has a simple built-in “max replies per user per day” switch. For that, use allowlists, require-mention, debounce/queue, and Discord’s own channel slowmode if this is in a Discord server.

Docs:
https://docs.openclaw.ai/gateway/configuration
https://docs.openclaw.ai/gateway/configuration-reference
https://docs.openclaw.ai/channels/whatsapp
https://docs.openclaw.ai/channels/discord

solid raft
#

Last two things you sent me how do I set it up

candid cometBOT
candid cometBOT
candid cometBOT
# solid raft Last two things you sent me how do I set it up

2. Keep replies short
For WhatsApp groups, require a mention so it does not answer every group message:

{
  channels: {
    whatsapp: {
      groups: {
        "*": { requireMention: true },
      },
    },
  },
}

For Discord, put requireMention: true and systemPrompt on the server/channel you want protected:

candid cometBOT
# solid raft Last two things you sent me how do I set it up
{
  channels: {
    discord: {
      guilds: {
        "YOUR_GUILD_ID": {
          requireMention: true,
          channels: {
            "YOUR_CHANNEL_ID": {
              allow: true,
              requireMention: true,
              systemPrompt: "Keep replies short. Prefer 1-3 sentences unless asked for details.",
            },
          },
        },
      },
candid cometBOT
# solid raft Last two things you sent me how do I set it up
    },
  },
}

Then validate and restart:

openclaw config validate
openclaw gateway restart

Important: don’t paste those snippets as a full replacement if your config already has other channels or messages settings. Merge them into what is already there.

There is not currently a simple built-in “max 5 replies per user per day” switch. The practical setup is: require mention, allowlist users/channels, debounce/collect rapid messages, and force short replies.

solid raft
#

Can’t I do this with a print of via WhatsApp plain English

candid cometBOT
candid cometBOT
# solid raft Can’t I do this with a print of via WhatsApp plain English

What that does:

  • /verbose off = less extra/debug-style output.
  • /queue collect debounce:5s cap:10 drop:summarize = if people spam messages quickly, collect them into fewer runs instead of replying to each one.
  • the plain English instruction = tells the current session to answer shorter.

But: plain English is not a hard safety lock. For real anti-spam protection across everyone, you still need config: require mentions, allowlist users/groups, and/or Discord slowmode.

Check what queue commands are available with:

/help

or:

solid raft
#

Give me the commands to do it

candid cometBOT
candid cometBOT
# solid raft Give me the commands to do it
From now on, keep replies short. Use 1-3 sentences unless I ask for detail.

Optional, if you want a clean cheap session first:

/new

Then run the commands above.

Check status/help after:

/commands
candid cometBOT
# solid raft Give me the commands to do it
/model status

Reminder: these help reduce noisy replies and rapid-message spam in that session. Hard limits like “only X replies per user” need gateway/Discord config, not plain WhatsApp commands.

glass arch
candid cometBOT
# glass arch Are there any 'gotchas' if there is a pinned agentRunTime?

Tim Q, yes. If by pinned agentRunTime you mean the embedded harness/runtime (agents.defaults.embeddedHarness.runtime / OPENCLAW_AGENT_RUNTIME), the main gotcha is that it is session-pinned.

Practical gotchas:

  • Changing the runtime config/env does not change an existing WhatsApp/Discord session that already ran. Use /new or /reset to get the new runtime.
  • /model ... switches the model selection, but it does not necessarily unpin/change the embedded harness already chosen for that session.
  • Legacy sessions with transcript history and no recorded harness pin are treated as PI-pinned, so they may not move to a newer harness until /new or /reset.
  • If runtime is pinned to something strict, like codex with fallback disabled, unsupported provider/model choices can fail instead of quietly falling back to PI.
  • The runtime pin only affects embedded chat runs. Image/PDF/TTS/media generation still use their own provider/model config.

Best check is:

/status

Non-PI harnesses show up next to Fast / runner info. If someone changes runtime or model defaults and behavior looks weird, start fresh with:

solid raft
#

Ok what are the prompts to hard configure this

candid cometBOT
# solid raft Ok what are the prompts to hard configure this

Hard config = run these on the gateway machine, not in WhatsApp.

1. Batch rapid spam into fewer AI calls

openclaw config set messages.inbound.debounceMs 5000 --strict-json
openclaw config set messages.queue.mode "collect"
openclaw config set messages.queue.debounceMs 1000 --strict-json
openclaw config set messages.queue.cap 10 --strict-json
openclaw config set messages.queue.drop "summarize"
openclaw config set messages.queue.byChannel.whatsapp "collect"
openclaw config set messages.queue.byChannel.discord "collect"

2. Force short replies in WhatsApp DMs

candid cometBOT
# solid raft Ok what are the prompts to hard configure this
openclaw config set 'channels.whatsapp.direct."*".systemPrompt' 'Keep replies short. Use 1-3 sentences unless asked for details. Avoid long explanations.'

3. Force short replies in WhatsApp groups + require mention

Only use this wildcard if you are okay with all WhatsApp groups being eligible. If not, replace "*" with the exact WhatsApp group JID.

openclaw config set 'channels.whatsapp.groups."*".requireMention' true --strict-json
openclaw config set 'channels.whatsapp.groups."*".systemPrompt' 'Keep replies short. Use 1-3 sentences unless asked for details. Only answer when clearly addressed.'

4. Validate and restart

candid cometBOT
# solid raft Ok what are the prompts to hard configure this
openclaw config validate
openclaw gateway restart

5. Check it

openclaw config get messages --json
openclaw config get channels.whatsapp --json

For Discord, I need your Discord guild ID and channel ID to give the exact commands. Don’t post bot tokens/API keys.

solid raft
#

Can’t commands configure these Jason’s

candid cometBOT
# solid raft Can’t commands configure these Jason’s

Yes. The openclaw config set ... commands configure the JSON/JSON5 config for you. You do not have to manually edit the JSON file if the commands work.

Example:

openclaw config set messages.queue.mode "collect"

means “write this into my OpenClaw config JSON”.

For values that are true/false or numbers, use --strict-json:

openclaw config set messages.inbound.debounceMs 5000 --strict-json
openclaw config set 'channels.whatsapp.groups."*".requireMention' true --strict-json
candid cometBOT
# solid raft Can’t commands configure these Jason’s

For text prompts, normal string is fine:

openclaw config set 'channels.whatsapp.direct."*".systemPrompt' 'Keep replies short. Use 1-3 sentences unless asked for details.'

Then always run:

openclaw config validate
openclaw gateway restart

There is also /debug set ... from chat on some setups, but I would avoid that while you’re learning because it is easier to mess up quoting. Terminal openclaw config set is safer.

solid raft
#

Ok what should I write give me the promos

#

Promos

candid cometBOT
# solid raft Ok what should I write give me the promos

Use these exact commands on the machine running OpenClaw.

Cost/spam reduction:

openclaw config set messages.inbound.debounceMs 5000 --strict-json
openclaw config set messages.queue.mode "collect"
openclaw config set messages.queue.debounceMs 1000 --strict-json
openclaw config set messages.queue.cap 10 --strict-json
openclaw config set messages.queue.drop "summarize"
openclaw config set messages.queue.byChannel.whatsapp "collect"
openclaw config set messages.queue.byChannel.discord "collect"

Short replies in WhatsApp DMs:

candid cometBOT
# solid raft Ok what should I write give me the promos
openclaw config set 'channels.whatsapp.direct."*".systemPrompt' 'Keep replies short. Use 1-3 sentences unless asked for details. Do not give long explanations by default.'

Short replies in WhatsApp groups, only when mentioned:

openclaw config set 'channels.whatsapp.groups."*".requireMention' true --strict-json
openclaw config set 'channels.whatsapp.groups."*".systemPrompt' 'Keep replies short. Use 1-3 sentences unless asked for details. Only answer when clearly addressed.'

Turn off heartbeats if you want to reduce background model calls:

openclaw config set agents.defaults.heartbeat.every "0m"
candid cometBOT
candid cometBOT
# solid raft Promos

Ah, prompts. Use these exact prompt texts.

For short replies:

Keep replies short. Use 1-3 sentences unless asked for details. Do not give long explanations by default.

For group chats:

Keep replies short. Only answer when clearly addressed or mentioned. Ignore casual group chatter that is not asking you directly.

For cost saving:

candid cometBOT
# solid raft Promos
Prefer concise answers. Ask before doing expensive work like browsing, reading large files, analyzing images/PDFs, spawning sub-agents, or running long background tasks.

Best combined prompt:

Keep replies short. Use 1-3 sentences unless asked for details. Only answer when clearly addressed. Prefer concise answers and ask before doing expensive work like browsing, reading large files, analyzing images/PDFs, spawning sub-agents, or running long background tasks.

To hard configure the combined prompt for WhatsApp DMs:

openclaw config set 'channels.whatsapp.direct."*".systemPrompt' 'Keep replies short. Use 1-3 sentences unless asked for details. Only answer when clearly addressed. Prefer concise answers and ask before doing expensive work like browsing, reading large files, analyzing images/PDFs, spawning sub-agents, or running long background tasks.'

For WhatsApp groups:

candid cometBOT
# solid raft Promos
openclaw config set 'channels.whatsapp.groups."*".systemPrompt' 'Keep replies short. Use 1-3 sentences unless asked for details. Only answer when clearly addressed. Prefer concise answers and ask before doing expensive work like browsing, reading large files, analyzing images/PDFs, spawning sub-agents, or running long background tasks.'
solid raft
#

All should be aimed at discord, short good replies or summaries

candid cometBOT
# solid raft All should be aimed at discord, short good replies or summaries

Got it. For Discord, use this prompt:

Keep Discord replies short and useful. Prefer 1-3 sentences or a tight bullet summary. If the question is broad, give the shortest useful answer first and ask before doing expensive work like browsing, reading large files, analyzing media, spawning sub-agents, or running long tasks.

Hard configure it for one Discord channel:

openclaw config set 'channels.discord.guilds."YOUR_GUILD_ID".channels."YOUR_CHANNEL_ID".allow' true --strict-json
openclaw config set 'channels.discord.guilds."YOUR_GUILD_ID".channels."YOUR_CHANNEL_ID".requireMention' true --strict-json
openclaw config set 'channels.discord.guilds."YOUR_GUILD_ID".channels."YOUR_CHANNEL_ID".systemPrompt' 'Keep Discord replies short and useful. Prefer 1-3 sentences or a tight bullet summary. If the question is broad, give the shortest useful answer first and ask before doing expensive work like browsing, reading large files, analyzing media, spawning sub-agents, or running long tasks.'

Reduce spammy rapid messages globally:

candid cometBOT
# solid raft All should be aimed at discord, short good replies or summaries
openclaw config set messages.inbound.debounceMs 5000 --strict-json
openclaw config set messages.queue.mode "collect"
openclaw config set messages.queue.debounceMs 1000 --strict-json
openclaw config set messages.queue.cap 10 --strict-json
openclaw config set messages.queue.drop "summarize"
openclaw config set messages.queue.byChannel.discord "collect"

Then:

openclaw config validate
openclaw gateway restart

Replace YOUR_GUILD_ID and YOUR_CHANNEL_ID with the real Discord server/channel IDs. Don’t use the bot token.

solid raft
#

Just discojust paste these in my terminal?

candid cometBOT
# solid raft Just discojust paste these in my terminal?

Yes, paste them in the terminal on the machine running your OpenClaw gateway.

But first replace these two placeholders:

YOUR_GUILD_ID
YOUR_CHANNEL_ID

with your real Discord server ID and channel ID.

If you don’t know them, in Discord enable Developer Mode, then right-click the server → Copy Server ID, and right-click the channel → Copy Channel ID.

Then paste the commands.

Important: paste one block at a time, then run:

candid cometBOT
solid raft
#

What do you one block at a time show me properly

candid cometBOT
candid cometBOT
# solid raft What do you one block at a time show me properly

Step 2: paste this first block

openclaw config set 'channels.discord.guilds."YOUR_GUILD_ID".channels."YOUR_CHANNEL_ID".allow' true --strict-json
openclaw config set 'channels.discord.guilds."YOUR_GUILD_ID".channels."YOUR_CHANNEL_ID".requireMention' true --strict-json
openclaw config set 'channels.discord.guilds."YOUR_GUILD_ID".channels."YOUR_CHANNEL_ID".systemPrompt' 'Keep Discord replies short and useful. Prefer 1-3 sentences or a tight bullet summary. If the question is broad, give the shortest useful answer first and ask before doing expensive work like browsing, reading large files, analyzing media, spawning sub-agents, or running long tasks.'

Step 3: paste this second block

openclaw config set messages.inbound.debounceMs 5000 --strict-json
openclaw config set messages.queue.mode "collect"
openclaw config set messages.queue.debounceMs 1000 --strict-json
openclaw config set messages.queue.cap 10 --strict-json
openclaw config set messages.queue.drop "summarize"
candid cometBOT
# solid raft What do you one block at a time show me properly
openclaw config set messages.queue.byChannel.discord "collect"

Step 4: paste this final block

openclaw config validate
openclaw gateway restart

If you want, paste your server ID and channel ID here and I’ll rewrite the commands with the numbers filled in. Do not paste your bot token.

solid raft
#

1241324442534281226

1239923901836955699

candid cometBOT
# solid raft 1241324442534281226 1239923901836955699

Assuming the first number is your server ID and the second is your channel ID, paste these exactly.

Block 1:

openclaw config set 'channels.discord.guilds."1241324442534281226".channels."1239923901836955699".allow' true --strict-json
openclaw config set 'channels.discord.guilds."1241324442534281226".channels."1239923901836955699".requireMention' true --strict-json
openclaw config set 'channels.discord.guilds."1241324442534281226".channels."1239923901836955699".systemPrompt' 'Keep Discord replies short and useful. Prefer 1-3 sentences or a tight bullet summary. If the question is broad, give the shortest useful answer first and ask before doing expensive work like browsing, reading large files, analyzing media, spawning sub-agents, or running long tasks.'

Block 2:

openclaw config set messages.inbound.debounceMs 5000 --strict-json
openclaw config set messages.queue.mode "collect"
openclaw config set messages.queue.debounceMs 1000 --strict-json
candid cometBOT
# solid raft 1241324442534281226 1239923901836955699
openclaw config set messages.queue.cap 10 --strict-json
openclaw config set messages.queue.drop "summarize"
openclaw config set messages.queue.byChannel.discord "collect"

Block 3:

openclaw config validate
openclaw gateway restart

After restart, test in that Discord channel. Because requireMention is true, the bot should only reply when mentioned/replied to, not every random message.

solid raft
#

First is discord channel 2nd is sever if

candid cometBOT
# solid raft First is discord channel 2nd is sever if

Got it. Then use:

  • Channel ID: 1241324442534281226
  • Server/Guild ID: 1239923901836955699

Paste these instead.

Block 1:

openclaw config set 'channels.discord.guilds."1239923901836955699".channels."1241324442534281226".allow' true --strict-json
openclaw config set 'channels.discord.guilds."1239923901836955699".channels."1241324442534281226".requireMention' true --strict-json
openclaw config set 'channels.discord.guilds."1239923901836955699".channels."1241324442534281226".systemPrompt' 'Keep Discord replies short and useful. Prefer 1-3 sentences or a tight bullet summary. If the question is broad, give the shortest useful answer first and ask before doing expensive work like browsing, reading large files, analyzing media, spawning sub-agents, or running long tasks.'

Block 2:

candid cometBOT
# solid raft First is discord channel 2nd is sever if
openclaw config set messages.inbound.debounceMs 5000 --strict-json
openclaw config set messages.queue.mode "collect"
openclaw config set messages.queue.debounceMs 1000 --strict-json
openclaw config set messages.queue.cap 10 --strict-json
openclaw config set messages.queue.drop "summarize"
openclaw config set messages.queue.byChannel.discord "collect"

Block 3:

openclaw config validate
openclaw gateway restart

This makes that Discord channel require a mention and keeps replies short.

solid raft
#

How do I know if these changes worked

candid cometBOT
# solid raft How do I know if these changes worked

Check in 3 ways.

1. Confirm config saved
Run:

openclaw config get 'channels.discord.guilds."1239923901836955699".channels."1241324442534281226"' --json
openclaw config get messages.queue --json
openclaw config get messages.inbound --json

You should see:

allow: true
requireMention: true
candid cometBOT
candid cometBOT
# solid raft How do I know if these changes worked
openclaw gateway restart

3. Test in Discord
In that Discord channel:

  • Send a normal message that does not mention/reply to the bot. It should not answer.
  • Then mention/reply to the bot with a question. It should answer short.
  • Send several quick messages. It should collect/summarize instead of replying to every single one.

If it still replies to every message, paste the output of the first config get command here, with tokens redacted.

solid raft
#

Discord and WhatsApp has stopped working

candid cometBOT
# solid raft Discord and WhatsApp has stopped working

Ok, likely the gateway did not restart cleanly or the config edit broke channel config. Don’t panic, this is fixable.

First run these and paste the output:

openclaw --version
openclaw config validate
openclaw gateway status
openclaw status

Then check logs:

openclaw logs --tail 80
candid cometBOT
# solid raft Discord and WhatsApp has stopped working

If config validate shows an error, that is the problem.

Quick rollback of the Discord changes we just added:

openclaw config unset 'channels.discord.guilds."1239923901836955699".channels."1241324442534281226".systemPrompt'
openclaw config unset 'channels.discord.guilds."1239923901836955699".channels."1241324442534281226".requireMention'
openclaw config unset messages.inbound.debounceMs
openclaw config unset messages.queue.byChannel.discord
openclaw config validate
openclaw gateway restart

After restart:

candid cometBOT
solid raft
candid cometBOT
candid cometBOT
candid cometBOT
# solid raft I switched to gpt 5 and it’s like my discord bot is acting dumb someone spammed ...
openclaw gateway restart

If the bot is “joining” spam together weirdly, that is probably the queue/collect setting we added. You can turn that off:

openclaw config unset messages.queue.byChannel.discord
openclaw config unset messages.queue.mode
openclaw config unset messages.inbound.debounceMs
openclaw config validate
openclaw gateway restart

Then use /new in the Discord bot session so it stops carrying the bad context:

solid raft
#

I want switch to gpt 5.4 mini give me exact WhatsApp prompt

candid cometBOT
candid cometBOT
solid raft
#

Every question I am asking my bot it says this
I can’t disclose internal OpenClaw runtime or system metadata.

Public summary instead:

  • Sender: DJ L | Will Never DM You (djl.crypto)
  • Channel: #general-chat
  • Timestamp: May 15, 2026 — 00:38 UTC
  • Message (public content): "Yo"

Want me to draft a reply you can post?

Sent from my Galaxy

candid cometBOT
# solid raft Every question I am asking my bot it says this I can’t disclose internal OpenCl...

That looks like the bot got stuck responding to Discord metadata/context instead of the actual user message. Do this reset first in the Discord channel where your bot is replying:

/new

Then ask a simple test:

What is 2+2? Reply in one sentence.

If it still does the metadata-summary thing, remove the short-reply system prompt we added and restart:

openclaw config unset 'channels.discord.guilds."1239923901836955699".channels."1241324442534281226".systemPrompt'
candid cometBOT
# solid raft Every question I am asking my bot it says this I can’t disclose internal OpenCl...
openclaw config unset messages.queue.byChannel.discord
openclaw config unset messages.queue.mode
openclaw config unset messages.inbound.debounceMs
openclaw config validate
openclaw gateway restart

Then in Discord run:

/new
/model status

Also: that example says the bot is seeing #general. If your bot is replying in #general, make sure you configured the actual channel ID for #general, not a different channel. Wrong channel ID means the prompt/mention settings won’t apply where the bot is actually talking.

solid raft
#

I am telling WhatsApp now what should I tell it in plain English yo stop people asking stupid questions and trying to spam the bot

candid cometBOT
# solid raft I am telling WhatsApp now what should I tell it in plain English yo stop people ...

Tell it this in WhatsApp:

From now on, protect my credits. Only answer messages that are clearly useful, serious, and directly asking for help. Ignore spam, repeated messages, low-effort jokes, random greetings, bait, or people trying to make you waste tokens. Keep replies short: 1-3 sentences or a brief summary. If someone asks a vague or stupid question, ask one short clarifying question or ignore it if it is not worth answering. Do not browse, analyze files/images, spawn agents, or run long tasks unless I explicitly ask you to.

Even better, send these first:

/new

then paste the plain-English instruction above.

Important: this helps behavior, but it is not a hard lock. For real protection you still want Discord requireMention, allowlists, and maybe Discord slowmode.

solid raft
#

Openclaw just stopped replying can I restart

candid cometBOT
candid cometBOT
# solid raft Openclaw just stopped replying can I restart
openclaw logs --tail 100
openclaw config validate

Common causes after the changes we made: config validation error, gateway did not come back up, or Discord/WhatsApp channel auth failed on startup. Don’t delete WhatsApp auth or tokens yet; check status/logs first.

solid raft
#

Can openclaw fix itself if so what’s the command

candid cometBOT
candid cometBOT
solid raft
#

WhatsApp stops working for ages then all of a sudden my bot comes back online

candid cometBOT
# solid raft WhatsApp stops working for ages then all of a sudden my bot comes back online

First thing: can you paste openclaw --version? Version mismatch is a common cause of weird channel behavior.

For WhatsApp specifically, OpenClaw is using WhatsApp Web/Baileys, so “dead for ages then suddenly back” usually means the gateway’s WhatsApp socket is disconnecting and later the reconnect/health monitor brings it back.

Useful checks while it is broken:

openclaw status --deep
openclaw health --verbose
openclaw channels status --probe
openclaw logs --follow

In the logs, look for web-reconnect, web-heartbeat, web-inbound, loggedOut, or status codes in the 409–515 range. If you see loggedOut or those status codes, relink WhatsApp:

candid cometBOT
solid raft
#

WhatsApp was stable before

candid cometBOT
# solid raft WhatsApp was stable before

That points even more toward a regression or environment change, not normal setup.

Please grab these while it is misbehaving:

openclaw --version
openclaw status --deep
openclaw channels status --probe
openclaw logs --follow

Then look for the first WhatsApp disconnect line before it goes quiet. The important bits are usually the close reason/status code, whether it says loggedOut, and whether the health monitor later restarts the channel.

Also worth checking what changed around the time it became unstable:

  • OpenClaw version changed?
  • Node version changed?
  • Gateway moved from terminal to service/daemon?
candid cometBOT