#New session error
1 messages · Page 1 of 1 (latest)
That looks like OpenAI Responses getting an empty request after /new — it needs input or a state pointer like previous_response_id/conversation state. OpenAI’s own examples create Responses with input, and the API supports previous_response_id for multi-turn state. (platform.openai.com)
I’d check two things first:
openclaw --version
openclaw config get agents.defaults.model
openclaw config get agents.defaults.models
If your model is openai/gpt-*, try disabling the OpenAI WebSocket warm-up / forcing SSE for that model:
openclaw config set agents.defaults.models '{"openai/gpt-5.5":{"params":{"openaiWsWarmup":false,"transport":"sse"}}}' --strict-json --merge
openclaw gateway restart
Replace openai/gpt-5.5 with your exact model ref.
If you’re actually on openai-codex/gpt-*, current main has an unreleased fix for empty Codex Responses input (input: [], issue #73820), so updating to the next release/main should fix it. If the workaround doesn’t help, paste openclaw status --all and the relevant log tail. Docs: https://docs.openclaw.ai/providers/openai
aiuser@Aouns-iMac ~ % openclaw --version
OpenClaw 2026.4.26 (be8c246)
aiuser@Aouns-iMac ~ % openclaw config get agents.defaults.model
🦞 OpenClaw 2026.4.26 (be8c246)
Your second brain, except this one actually remembers where you left things.
{
"primary": "openai-codex/gpt-5.5",
"fallbacks": [
"openai-codex/gpt-5.5",
"openai-codex/gpt-5.4",
"openai-codex/gpt-5.4-mini",
"openai-codex/gpt-5.3-codex",
"nvidia/deepseek-ai/deepseek-v3.1",
"openrouter/nvidia/nemotron-3-super-120b-a12b:free",
"openrouter/openrouter/free",
"openrouter/minimax/minimax-m2.5:free",
"openrouter/stepfun/step-3.5-flash:free"
]
}
aiuser@Aouns-iMac ~ % openclaw config get agents.defaults.models
🦞 OpenClaw 2026.4.26 (be8c246)
Your terminal just grew claws—type something and let the bot pinch the busywork.
{
"nvidia/deepseek-ai/deepseek-v3.1": {},
"openrouter/minimax/minimax-m2.5:free": {},
"openrouter/nvidia/nemotron-3-super-120b-a12b:free": {},
"openrouter/stepfun/step-3.5-flash:free": {},
"openai-codex/gpt-5.4": {},
"openai-codex/gpt-5.4-pro": {},
"openai-codex/gpt-5.4-mini": {},
"openai-codex/gpt-5.3-codex": {},
"openai-codex/gpt-5.2": {},
"openai-codex/gpt-5.1": {},
"openai-codex/gpt-5.1-codex-max": {},
"openai-codex/gpt-5.1-codex-mini": {},
"openai-codex/gpt-5.2-codex": {},
"openai-codex/gpt-5.3-codex-spark": {},
"openrouter/openrouter/free": {},
"openrouter/minimax/minimax-m2.7": {},
"openrouter/deepseek/deepseek-v3.2": {},
"openrouter/moonshotai/kimi-k2.5": {},
"openrouter/openrouter/auto": {},
"openai-codex/gpt-5.5": {},
"openai-codex/gpt-5.5-pro": {},
"google/gemini-3.1-pro-preview": {
"alias": "gemini"
},
"google/gemini-3.1-flash-lite-preview": {
"alias": "gemini-flash-lite"
}
}
aiuser@Aouns-iMac ~ %
Yep — you’re on the affected version/path. Your config is using openai-codex/gpt-5.5, and this exact empty Codex Responses request was fixed after 2026.4.26.
Do this first:
openclaw update
openclaw --version
You should land on 2026.4.27 or newer. Then retry /new.
If you need a temporary workaround before updating, switch the primary to a non-Codex fallback or another provider. I wouldn’t spend more time tweaking this config on 2026.4.26 — it’s a known Codex Responses bug.
Ok I updated but what are these warning about;
Updating plugins...
No plugin updates needed.
Completion cache update failed: Error: spawnSync /opt/homebrew/Cellar/node/25.8.1_1/bin/node ETIMEDOUT
Restarting service...
Gateway did not become healthy after restart.
Gateway version mismatch: expected 2026.4.27, running gateway reported unavailable.
Service runtime: status=running, state=active, pid=97411
Gateway port 18789 status: free.
Restart log: /Users/aiuser/.openclaw/logs/gateway-restart.log
Run openclaw gateway status --deep for details.
Gateway is up and running btw.
Those are mostly post-update housekeeping warnings, not necessarily fatal.
-
Completion cache update failed ... ETIMEDOUT
This is just the shell tab-completion cache generation timing out. It doesn’t affect the gateway or/new. If you care about CLI completions, run later:OPENCLAW_COMPLETION_SKIP_PLUGIN_COMMANDS=1 openclaw completion --write-state -
Gateway did not become healthy after restart+version ... unavailable
The updater restarted the macOS service, then its health probe couldn’t reach the gateway quickly enough. Since it says port 18789 was free, that usually means the service process existed but the gateway wasn’t listening yet during the check — not a port conflict.
If it’s up now, verify it’s actually the new binary:
openclaw --version
openclaw gateway status --deep
openclaw status --all
As long as those show 2026.4.27 and gateway reachable, you’re fine. If it still reports unavailable/mismatch, run:
openclaw gateway restart
One small flag: your Node path is Node 25.8.1. OpenClaw docs recommend Node 24 by default, with Node 22.14+ supported. If weird timeouts keep happening, I’d move back to Node 24 later. Docs: https://docs.openclaw.ai/install/node
Everything looks fine with the versions. But now after the update when I did /new it returned: “✅ Done.”
Yep — that’s the expected success response for /new. It means the session reset completed cleanly.
The old error was happening while resetting/starting the fresh Codex Responses session; after the update, âś… Done. means that path is fixed.
Try sending a normal message after /new. If the assistant replies normally, you’re good 🎉
If this fixed it, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow indexes it for future users.
I never got that before. Usually after /new I get something like this: Morning Xxxx — Chris here ⚡
I’m online and in the right headspace. What do you want to tackle first?
Ah, yep — that’s the distinction:
- Bare
/newnow just resets the session and returns the command ack:✅ Done. - It does not invoke the model, so you won’t get the “Morning … I’m online…” generated greeting from
/newalone.
That matches the current docs: bare /new / /reset are acknowledged without calling the model. https://docs.openclaw.ai/start/openclaw
If you want the old style, do either:
/new
hi
or send a message with /new, e.g.:
/new say your startup greeting
If the text after /new isn’t a model name, OpenClaw treats it as the first message body.
Oh so that’s the new expected behavior?
Yep — for a bare /new, ✅ Done. is the expected behavior now.
It resets the session without spending a model call. The greeting happens on the next normal message, or if you include text after /new.
So:
/new
→ reset only, ✅ Done.
/new what are we doing today?
→ reset, then model responds to that message.
Ok. What did you say about my node version? I should downgrade it? Whatever version I have got installed with OpenClaw.
Not urgent — don’t downgrade just because of that warning if everything is working now.
What I meant: your log showed Node 25.8.1. OpenClaw requires Node 22.14+, but the recommended/default runtime is Node 24. Node 25 is newer, but less “boring/stable” for OpenClaw testing.
My recommendation:
- If
/new, gateway, and normal replies are working: leave it alone for now. - If you keep seeing weird timeout/update/gateway issues: switch to Node 24, then reinstall/rewrite the gateway service so launchd points at the right Node.
Was my model config okay?
Structurally, yes — your config looked OK.
What I saw:
agents.defaults.model.primary=openai-codex/gpt-5.5- That same model is present in
agents.defaults.models, so it’s allowed/selectable. - Your fallback list entries also appeared to be present in the allowlist.
- Having the primary repeated as the first fallback is harmless, just redundant.
The only caveat: model availability can change by account/provider, so validate with:
openclaw models status
openclaw models list --provider openai-codex
If those look healthy and normal messages work after /new, your model config is fine.
What’s the right way to add anthropic models to my config using claude-cli?
Yes — the new preferred shape is:
- model ref stays canonical:
anthropic/<model-id> - execution backend is separate:
agentRuntime.id = "claude-cli" - don’t use new
claude-cli/...model refs unless you’re keeping legacy compatibility.
Flow:
claude --version
openclaw onboard
# choose Claude CLI
openclaw models list --provider anthropic
Pick the exact model id from that list, then:
openclaw config set agents.defaults.agentRuntime.id claude-cli
openclaw config set agents.defaults.models '{"anthropic/<model-id>":{}}' --strict-json --merge
openclaw config set agents.defaults.model.primary anthropic/<model-id>
openclaw gateway restart
If claude isn’t visible to the launchd gateway, set the absolute path too:
which claude
openclaw config set 'agents.defaults.cliBackends["claude-cli"].command' "/opt/homebrew/bin/claude"
openclaw gateway restart
Then start fresh with /new.
Should I be using onboard or configure on my existing setup?
For an existing setup, use:
openclaw configure --section model
onboard is more of the first-run / broad setup wizard. It’s fine to rerun, but for “add Claude CLI / Anthropic to my current config” it’s overkill.
Important nuance: configure --section model merges provider/model choices into your existing allowlist and generally preserves your current primary. If you want Claude CLI to become the default too, set that explicitly after:
openclaw models set anthropic/<model-id>
openclaw config set agents.defaults.agentRuntime.id claude-cli
openclaw gateway restart
Use the exact model id from:
openclaw models list --provider anthropic
Docs: https://docs.openclaw.ai/cli/configure and https://docs.openclaw.ai/providers/anthropic