#how can i get text low, when i do /status
1 messages · Page 1 of 1 (latest)
Let me check the docs/source so I don’t make up a config key.
Text: low is not controlled by /verbose off.
What’s going on:
/verbose offhides tool/debug chatterText: lowis a model param for OpenAI / OpenAI Codex- if that line disappeared, you’re usually on a different provider/model, or it isn’t set for the active model
Try this in your config:
{
agents: {
defaults: {
model: "openai/gpt-5.4", // or openai-codex/gpt-5.4
models: {
"openai/gpt-5.4": {
params: { textVerbosity: "low" }
}
}
}
}
}
Then restart:
openclaw gateway restart
And in the chat/session:
/verbose off
/reasoning off
Important: if you’re on Claude or another non-OpenAI provider, Text: low will not show. That knob is currently OpenAI/Codex-specific.
Paste these and I can tell you exactly which case you’re hitting:
openclaw --version
and your full /status
Docs: https://docs.openclaw.ai/tools/thinking and https://docs.openclaw.ai/gateway/configuration-reference
is channels.telegram.streaming.mode set to "partial" and /reasoning steam the same?
Not the same.
Also, for Telegram the key is usually:
channels: {
telegram: {
streaming: "partial"
}
}
not channels.telegram.streaming.mode.
Difference:
channels.telegram.streaming: "partial"= UI transport
- one preview message gets edited as the reply is generated
/reasoning stream= what content gets shown- on Telegram, it sends the reasoning into that live preview while generating
- final answer is sent without the reasoning text
So they’re related, but not equivalent.
If you want less noise:
/reasoning off/verbose offchannels.telegram.streaming: "off"if you also want to kill live preview editstextVerbosity: "low"is a separate OpenAI/Codex brevity setting
Docs: https://docs.openclaw.ai/channels/telegram and https://docs.openclaw.ai/concepts/streaming
"openai-codex": {
"baseUrl": "https://chatgpt.com/backend-api",
"api": "openai-codex-responses",
"models": [
{
"id": "gpt-5.4",
"name": "GPT-5.4",
"api": "openai-codex-responses",
"reasoning": true,
"input": [
"text",
"image"
],
"contextWindow": 1050000,
"maxTokens": 128000
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "openai-codex/gpt-5.4",
"fallbacks": []
},
"models": {
"openai-codex/gpt-5.4": {
"params": {
"textVerbosity": "low"
}
},
"xai/grok-4-1-fast-reasoning": {},
"anthropic/claude-opus-4-6": {
"alias": "opus"
},
"anthropic/claude-sonnet-4-6": {
"alias": "sonnet"
},
"claude-cli/claude-opus-4-6": {},
"claude-cli/claude-sonnet-4-6": {},
"claude-cli/claude-opus-4-5": {},
"claude-cli/claude-sonnet-4-5": {},
"claude-cli/claude-haiku-4-5": {}
},
i still dont see it in my status
I’m going one level deeper, this smells like either the session is actually running a different active model, or /status is reading a path that is not the one you think.
You’re not crazy, that config snippet is correct.
If /status still does not show Text: low, then it’s usually one of these:
- the gateway is still running the old config
- the service is using a different config file
- that session is actually on a different active model than
openai-codex/gpt-5.4
Please paste these 4 things:
openclaw --version
openclaw gateway status
openclaw config get 'agents.defaults.model.primary'
openclaw config get 'agents.defaults.models["openai-codex/gpt-5.4"].params'
And paste the full /status, especially the đź§ Model: line.
Quick sanity test after a restart:
/model openai-codex/gpt-5.4
/new
/status
If gateway status shows a different config path than the file you edited, that’s the bug right there.
Docs: https://docs.openclaw.ai/gateway/configuration and https://docs.openclaw.ai/start/faq
openclaw config get 'agents.defaults.models["openai-codex/gpt-5.4"].params'
🦞 OpenClaw 2026.4.9 (0512059) — Open source means you can see exactly how I judge your config.
Config path not found: agents.defaults.models["openai-codex/gpt-5.4"].params
My bad, that one was on me. config get wants the bracket key without inner quotes.
Try:
openclaw config get 'agents.defaults.models[openai-codex/gpt-5.4].params'
or, if you want to inspect the whole block:
openclaw config get agents.defaults.models
If that shows:
{ textVerbosity: "low" }
then your config is fine, and the problem is likely one of these:
/statusis showing a different active model- the session has a model override
- the gateway needs a restart / is using another config path
If you can, paste these next:
openclaw gateway status
and the full /status, especially the đź§ Model: line.
If this fixed the command syntax, glad we caught it 🙂
OpenClaw 2026.4.9 (0512059) — iMessage green bubble energy, but for everyone.
│
â—‡
Service: systemd (enabled)
File logs: /tmp/openclaw/openclaw-2026-04-10.log
Command: /usr/bin/node /usr/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Service file: ~/.config/systemd/user/openclaw-gateway.service
Service env: OPENCLAW_GATEWAY_PORT=18789
Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json
Gateway: bind=loopback (127.0.0.1), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.
Runtime: running (pid 1109, state active, sub running, last exit 0, reason 0)
RPC probe: ok
Listening: 127.0.0.1:18789
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
Nice, this helps. Your gateway is reading the same config file the CLI is, so we can rule that out.
So now the likely problem is not config path, it’s one of these:
- the config block is not actually present where we think it is
- the session is running a different model
/statushas a small regression on 2026.4.9
Please run these next:
openclaw config get 'agents.defaults.model.primary'
openclaw config get 'agents.defaults.models[openai-codex/gpt-5.4]'
Then paste the full /status, especially these lines if present:
🧠Model: ...↪️ Fallback: ...
Also, if you just edited config, do a hard refresh once:
openclaw gateway restart
then in chat:
/new
/status
At this point I’m pretty suspicious the session is not actually on openai-codex/gpt-5.4, even though that’s your default.
i also want to make reasoning stream to be fully off by default
Yep, for default off set:
{
agents: {
defaults: {
reasoningDefault: "off"
}
}
}
Or per agent:
{
agents: {
list: [
{
id: "main",
reasoningDefault: "off"
}
]
}
}
Important bit: your current chat can still have a stored session override of stream, and that wins over the default.
So do both:
- set
reasoningDefault: "off"in config
- in this chat, send:
/reasoning off
If you want the session to go back to following defaults later, set it to inherit in the Sessions UI.
If you also want Telegram to stop doing live preview edits entirely, that is separate:
channels: {
telegram: {
streaming: "off"
}
}
does reasoning steam cause context blot, or increase my context window?
Not really, /reasoning stream itself is mostly a visibility setting.
Short version:
- No, it does not increase your model’s max context window
- No,
streamvsoffis not the main cause of context bloat - Yes, if the model produces reasoning, those tokens still count toward usage/context budget for that run
So the bigger knob is usually this part from your status:
Think: high
That is much more likely to increase token burn than reasoning stream.
Rule of thumb:
/reasoning off= hide reasoning/reasoning stream= show reasoning in the preview/think high= model may spend more tokens thinking
If you want less token burn + less rambling, I’d do:
/think low
/reasoning off
/verbose off
And for defaults:
{
agents: {
defaults: {
thinkingDefault: "low",
reasoningDefault: "off"
}
}
}
Docs: https://docs.openclaw.ai/concepts/messages and https://docs.openclaw.ai/tools/thinking
"agents": {
"defaults": {
"reasoningDefault": "off",
"model": {
"primary": "openai-codex/gpt-5.4",
"fallbacks": []
},
"models": {
"openai-codex/gpt-5.4": {
"params": {
"textVerbosity": "low"
}
},
this not working
Yeah, I think I see the problem now.
Your config is probably fine, but this thread already has saved session overrides.
That’s why you still see stuff like:
Think: highReasoning: stream
reasoningDefault: "off" does not overwrite an existing thread/session override.
Fix this thread right now
Send these as standalone messages in this thread:
/model openai-codex/gpt-5.4
/think low
/reasoning off
Then send a normal prompt, then /status again.
Important
There are 2 layers here:
-
Config defaults
applies to new sessions, or sessions set to inherit -
Session overrides
sticky per thread/chat, and they win over defaults
So for this thread, you either need to:
- explicitly set the thread with the slash commands above, or
- open Sessions UI and set model / think / reasoning back to inherit
If after forcing:
/model openai-codex/gpt-5.4
you still do not see Text: low, then I’d start calling that a /status display bug on 2026.4.9, because your config snippet itself looks right.
text low is working
Nice, glad we caught it 🎉
So the main culprit was the sticky session overrides, not textVerbosity.
Good steady-state setup:
agents: {
defaults: {
thinkingDefault: "low",
reasoningDefault: "off"
}
}
And in any noisy existing thread:
/think low
/reasoning off
If this fixed it, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow can index it for the next person.
i have other models in agents defaults
That’s totally fine.
agents.defaults.models can contain lots of models.
textVerbosity: "low" only applies to the matching model entry.
So this is valid:
agents: {
defaults: {
model: { primary: "openai-codex/gpt-5.4", fallbacks: [] },
models: {
"openai-codex/gpt-5.4": {
params: { textVerbosity: "low" }
},
"anthropic/claude-opus-4-6": {},
"xai/grok-4-1-fast-reasoning": {}
}
}
}
What matters is:
- if the active model is
openai-codex/gpt-5.4,Text: lowcan apply - if the session switches to Claude/Grok/other model, that line will disappear
So other models in agents.defaults.models are not the problem.
The important part is which model the thread is actually using right now.
where can i put reasoningDefault: "off"
Put it here, under agents.defaults:
{
agents: {
defaults: {
reasoningDefault: "off",
model: {
primary: "openai-codex/gpt-5.4",
fallbacks: [],
},
models: {
"openai-codex/gpt-5.4": {
params: {
textVerbosity: "low",
},
},
"anthropic/claude-opus-4-6": {},
"xai/grok-4-1-fast-reasoning": {},
},
},
},
}
If you want it only for one agent, put it on that agent instead:
{
agents: {
list: [
{
id: "main",
reasoningDefault: "off",
},
],
},
}
One important gotcha: existing threads can still have a saved override, so for this current thread also send:
/reasoning off
If this fixed it, please right-click the solution message → Apps → ✅ Mark Solution.
what are max tokens "maxTokens": 128000
maxTokens: 128000 means the model can generate up to 128k output tokens in one reply.
Think of it like this:
contextWindow= total room for input + history + prompt + outputmaxTokens= the maximum size of the answer itself
So in your example:
contextWindow: 1050000maxTokens: 128000
means roughly:
- the model can read a very large total context
- but any single response is capped at 128k tokens max
It does not mean it will use 128k every time, just that it is allowed to go that high.
Easy mental model:
- contextWindow = size of the whole bucket
- maxTokens = max amount it can pour out in one response
what happens if the reply exceeds that
Usually one of these happens:
-
the model stops at the cap
- reply gets cut off
- can end mid-sentence or mid-code block
-
the provider rejects the request
- if prompt + expected output would break provider limits
-
OpenClaw chunks chat delivery
- if the answer is long for Discord/Telegram/etc
- but that is channel chunking, not a bypass of
maxTokens
So maxTokens is basically a hard ceiling on one model response.
If it hits that ceiling, the normal symptom is:
“answer just stops”
Then you usually need to say:
continue
or ask it to answer more briefly.
my openclaw is using significant cpu usage why?
If you’re using openai-codex/gpt-5.4, the actual model thinking is remote, so reasoning/text verbosity by itself should not make the OpenClaw process burn CPU.
So high CPU usually means OpenClaw is doing local work like:
- compaction / summarization
- heartbeats or crons
- memory indexing / embeddings
- media processing (images, PDFs, audio)
- browser / exec / tool runs
- or a bad loop / bug
Rule of thumb:
- High CPU only while replying = probably active tool/media/memory work
- High CPU while idle = more suspicious, probably worth digging into
Best next checks:
openclaw status --all
openclaw logs --follow
And tell me this too:
- is CPU high only during replies
- or even when idle
If it’s idle and still chewing CPU, I’m leaning bug or a background task loop.
! Port 18789
Port 18789 is already in use.
- pid 16810 root: openclaw-gateway (127.0.0.1:18789)
- Gateway already running locally. Stop it (openclaw gateway stop) or use a different port.
Aha, this explains a lot.
You almost certainly have two gateways on the same machine:
- your user systemd service
- a root-owned
openclaw-gatewayalready holding port18789
That can absolutely cause:
- weird
/statusbehavior - config seeming ignored
- extra CPU
- “why is this not using the settings I changed?”
Because the port owner is the one actually answering on 127.0.0.1:18789.
Check both services
systemctl --user status openclaw-gateway
sudo systemctl status openclaw-gateway
ps -fp 1109 16810
What to do
Keep one gateway only, not both.
Usually for a personal setup, I’d keep the user service and remove/stop the root/system one. If you prefer the system service, then stop/disable the user one instead.
After that, restart the one you keep, then test again:
openclaw gateway restart