Summary
After changing the primary model in openclaw.json, existing sessions remain stuck on the old model (in my case delivery-mirror), causing empty responses in the Chat UI.
Steps to Reproduce
- Have an active session running with model A
- Change
model.primary in openclaw.json to model B
- Restart gateway (
pkill -USR1 openclaw-gateway or openclaw gateway restart)
- Send a message in the existing session via Chat UI
Expected Behavior
Session should pick up the new model from config after gateway restart.
Actual Behavior
- Session remains stuck on old model (
delivery-mirror in my case)
- Agent runs and completes (logs show
run_completed with duration)
- But response text is empty in the UI
openclaw sessions list shows the session still using the old model
Workaround
Delete the stuck session file manually:
rm ~/.openclaw/agents/main/sessions/<session-id>.jsonl
openclaw gateway restart
Then create a new session.
Environment
- OpenClaw version: 2026.2.1
- macOS
- Gateway mode: local
Additional Context
The CLI works fine (openclaw agent --message "hi" returns proper response), confirming the config is correct. Only the persisted session in the UI was affected.
Summary
After changing the primary model in
openclaw.json, existing sessions remain stuck on the old model (in my casedelivery-mirror), causing empty responses in the Chat UI.Steps to Reproduce
model.primaryinopenclaw.jsonto model Bpkill -USR1 openclaw-gatewayoropenclaw gateway restart)Expected Behavior
Session should pick up the new model from config after gateway restart.
Actual Behavior
delivery-mirrorin my case)run_completedwith duration)openclaw sessions listshows the session still using the old modelWorkaround
Delete the stuck session file manually:
Then create a new session.
Environment
Additional Context
The CLI works fine (
openclaw agent --message "hi"returns proper response), confirming the config is correct. Only the persisted session in the UI was affected.