openclaw - 💡(How to fix) Fix Control UI session picker hides non-dashboard sessions after gateway restart/upgrade

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…

After gateway restart or version upgrade, the Control UI session picker only shows the dashboard session for non-main agents. Sessions created via external channels (Telegram, WhatsApp, Discord) are hidden from the picker even though the sessions.json data and transcript files are intact on disk.

Root Cause

Root cause analysis:

  1. The Control UI session picker has a 7-day window filter (per docs: "shows up to 50 sessions for the current agent updated in the last 7 days")
  2. After gateway restart, the UI defaults to opening the dashboard session instead of the most recently active channel session
  3. If channel sessions haven't been touched in 7+ days, they're filtered out of the picker entirely
  4. The sessions themselves are healthy on disk - only the UI visibility is affected

Fix Action

Fix / Workaround

Affected: All agents with non-dashboard sessions (coding, life, family, finance, work) Severity: Medium-High (confusing UX, requires workaround) Frequency: Always reproducible after any gateway restart when sessions are >7 days old Consequence: Users cannot access their existing channel sessions from the UI; must send a new message through the external channel to restore visibility

Temporary workaround: manually touch the updatedAt field in sessions.json or send a new message through the external channel.

RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

After gateway restart or version upgrade, the Control UI session picker only shows the dashboard session for non-main agents. Sessions created via external channels (Telegram, WhatsApp, Discord) are hidden from the picker even though the sessions.json data and transcript files are intact on disk.

Steps to reproduce

  1. Have a multi-agent setup with sessions created via external channels (e.g., coding agent with Discord channel sessions)
  2. Ensure the session's updatedAt is older than 7 days (no recent activity)
  3. Upgrade OpenClaw or restart the gateway
  4. Open Control UI and switch to that agent (e.g., coding)
  5. Session picker only shows the dashboard session, not the channel session
  6. Sessions are still intact on disk (sessions.json + transcript files), just hidden from UI

Expected behavior

After restart, the session picker should show all existing sessions for the agent (not just the dashboard session). When switching agents, the UI should default to the most recently active session by updatedAt, not always the dashboard session. Sessions on disk are valid and should be surfaced.

Actual behavior

Session picker only shows the default dashboard session for non-main agents after restart. Channel sessions (Telegram, WhatsApp, Discord) created before the restart are hidden from the UI picker, even though the underlying data (sessions.json + JSONL transcript files) is intact on disk. Sending a new message through the external channel brings the session back into view by updating the updatedAt timestamp.

OpenClaw version

2026.5.19

Operating system

Ubuntu 22.04 (PVE LXC)

Install method

pnpm global install

Model

opencode-go/qwen3.6-plus (multi-agent setup)

Provider / routing chain

opencode-go (qwen3.6-plus) -> multiple agents with per-agent routing (coding->discord, life->whatsapp, finance->telegram, family->weixin)

Additional provider/model setup details

Multi-agent configuration with 6 agents (main, coding, life, family, finance, work). Each agent has its own workspace and routes to different channels. session.dmScope is set to per-channel-peer. All affected sessions have valid JSONL transcripts and entries in sessions.json.

Logs, screenshots, and evidence

Impact and severity

Affected: All agents with non-dashboard sessions (coding, life, family, finance, work) Severity: Medium-High (confusing UX, requires workaround) Frequency: Always reproducible after any gateway restart when sessions are >7 days old Consequence: Users cannot access their existing channel sessions from the UI; must send a new message through the external channel to restore visibility

Additional information

Root cause analysis:

  1. The Control UI session picker has a 7-day window filter (per docs: "shows up to 50 sessions for the current agent updated in the last 7 days")
  2. After gateway restart, the UI defaults to opening the dashboard session instead of the most recently active channel session
  3. If channel sessions haven't been touched in 7+ days, they're filtered out of the picker entirely
  4. The sessions themselves are healthy on disk - only the UI visibility is affected

Temporary workaround: manually touch the updatedAt field in sessions.json or send a new message through the external channel.

Suggested fixes:

  1. Remove or significantly extend the 7-day window for the session picker
  2. When switching agents, default to the most recently active session (by updatedAt) instead of always the dashboard session
  3. Add a "Show all sessions" toggle in the UI

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

After restart, the session picker should show all existing sessions for the agent (not just the dashboard session). When switching agents, the UI should default to the most recently active session by updatedAt, not always the dashboard session. Sessions on disk are valid and should be surfaced.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING