openclaw - 💡(How to fix) Fix [Bug]: Dashboard session picker dropdown does not switch sessions — onSwitchSession is a no-op in chat view

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

In the Control UI Dashboard, clicking any session in the header session picker dropdown (or sidebar session list) closes the picker but does not switch to the selected session. The same v2026.5.27 version works correctly on another machine.

Root cause traced to dist/control-ui/assets/index-89Mm3xEP.js: the click handler in jA() calls n(e, r.key) to switch sessions, but n (onSwitchSession) defaults to () => void 0 (no-op). The actual session switch is never dispatched. WebSocket confirms only sessions.list fires on click — no chat.history or subscribe events.

Root Cause

Root cause traced to dist/control-ui/assets/index-89Mm3xEP.js: the click handler in jA() calls n(e, r.key) to switch sessions, but n (onSwitchSession) defaults to () => void 0 (no-op). The actual session switch is never dispatched. WebSocket confirms only sessions.list fires on click — no chat.history or subscribe events.

Fix Action

Fix / Workaround

Root cause traced to dist/control-ui/assets/index-89Mm3xEP.js: the click handler in jA() calls n(e, r.key) to switch sessions, but n (onSwitchSession) defaults to () => void 0 (no-op). The actual session switch is never dispatched. WebSocket confirms only sessions.list fires on click — no chat.history or subscribe events.

Workaround (DevTools Console):

document.querySelector('openclaw-app').sessionKey = 'target-sessio
document.querySelector('openclaw-app').requestUpdate();

Code Example

document.querySelector('openclaw-app').sessionKey = 'target-sessio
document.querySelector('openclaw-app').requestUpdate();

---
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

In the Control UI Dashboard, clicking any session in the header session picker dropdown (or sidebar session list) closes the picker but does not switch to the selected session. The same v2026.5.27 version works correctly on another machine.

Root cause traced to dist/control-ui/assets/index-89Mm3xEP.js: the click handler in jA() calls n(e, r.key) to switch sessions, but n (onSwitchSession) defaults to () => void 0 (no-op). The actual session switch is never dispatched. WebSocket confirms only sessions.list fires on click — no chat.history or subscribe events.

Steps to reproduce

  1. Open Control UI Dashboard (http://127.0.0.1:18789/)
  2. Click the session picker in the top bar (next to "Main session")
  3. Click any session other than the current one
  4. Picker closes, view stays on current session

Expected behavior

Clicking a session in the picker should switch the dashboard view to that session's chat history.

Actual behavior

The picker closes, the current session view remains unchanged. No session switch occurs.

OpenClaw version

v2026.5.27 (27ae826), clean npm reinstall tested

Operating system

Windows 10 Pro 22H2 (19045)

Install method

No response

Model

deepseek/deepseek-v4-pro (current session), deepseek/deepseek-v4-flash (default)

Provider / routing chain

deepseek (primary), moonshot/kimi (search). WebChat → local Gateway (127.0.0.1:18789)

Additional provider/model setup details

Code path:

  • eA() defaults onSwitchSession to () => void 0 (no-op)
  • AA() passes it through to jA()
  • jA() click handler: `@click=${()=>{pA(e), r.key!==e.sessionKey

Ruled out: data corruption (rebuilt sessions.json), browser ca

Workaround (DevTools Console):

document.querySelector('openclaw-app').sessionKey = 'target-sessio
document.querySelector('openclaw-app').requestUpdate();

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Clicking a session in the picker should switch the dashboard view to that session's chat history.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix [Bug]: Dashboard session picker dropdown does not switch sessions — onSwitchSession is a no-op in chat view