openclaw - 💡(How to fix) Fix Control UI /new from main chat creates dashboard child session

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 OpenClaw 2026.5.7 on Windows, using /new from the main Control UI chat creates and switches to a dashboard-scoped child session instead of starting a fresh usable agent:main:main direct chat session.

The created keys look like:

agent:main:dashboard:<GUID>

with:

parentSessionKey=agent:main:main

This makes the normal "start a new main chat" workflow confusing and effectively unusable for a user who wants to stay in the main direct chat lane.

Root Cause

In OpenClaw 2026.5.7 on Windows, using /new from the main Control UI chat creates and switches to a dashboard-scoped child session instead of starting a fresh usable agent:main:main direct chat session.

The created keys look like:

agent:main:dashboard:<GUID>

with:

parentSessionKey=agent:main:main

This makes the normal "start a new main chat" workflow confusing and effectively unusable for a user who wants to stay in the main direct chat lane.

Fix Action

Fix / Workaround

Local patch tested as a workaround:

Code Example

agent:main:dashboard:<GUID>

---

parentSessionKey=agent:main:main

---

agent:main:dashboard:<GUID>

---

agent:main:main                                           sessionId=84e363a6-8ff9-4ec7-b03f-3820dffff46a chatType=direct
agent:main:dashboard:675162e3-23d8-4465-9c2c-a01d032dd931 sessionId=44d5d32b-77a9-44c4-92ff-c59894886ec0 parentSessionKey=agent:main:main
agent:main:dashboard:83f38890-8f36-4bd2-8dcf-7c90728f2681 sessionId=4391ed22-5275-47b4-b0bf-e9bf5d7689aa parentSessionKey=agent:main:main
agent:main:dashboard:84e1e674-d431-4f63-be85-c453c2d6b869 sessionId=022bbeee-7376-4ef5-bc29-8cac5e21e280 parentSessionKey=agent:main:main

---

sessions.resolve ... errorCode=INVALID_REQUEST errorMessage=No session found: current

---

function buildDashboardSessionKey(agentId) {
  return `agent:${agentId}:dashboard:${randomUUID()}`;
}
RAW_BUFFERClick to expand / collapse

Bug type

Control UI session routing / regression

Summary

In OpenClaw 2026.5.7 on Windows, using /new from the main Control UI chat creates and switches to a dashboard-scoped child session instead of starting a fresh usable agent:main:main direct chat session.

The created keys look like:

agent:main:dashboard:<GUID>

with:

parentSessionKey=agent:main:main

This makes the normal "start a new main chat" workflow confusing and effectively unusable for a user who wants to stay in the main direct chat lane.

Steps to reproduce

  1. Start OpenClaw Gateway.
  2. Open the Control UI chat.
  3. Use the main/default agent chat.
  4. Type /new, or click the New Chat/New Session control from that chat view.
  5. Inspect ~/.openclaw/agents/main/sessions/sessions.json or observe the selected session in the UI.

Expected behavior

From the main/direct chat, /new should provide a fresh normal main chat experience, or at minimum keep the user visibly in the direct main-chat lane.

Reasonable implementations would be either:

  • reset/rotate the direct session behind agent:main:main, preserving old history/checkpoint behavior as designed, or
  • create a new direct-chat session that remains clearly selectable as a direct main chat, not a dashboard child.

Actual behavior

/new creates a dashboard child session and switches focus to it:

agent:main:dashboard:<GUID>

Example local session registry entries after using /new:

agent:main:main                                           sessionId=84e363a6-8ff9-4ec7-b03f-3820dffff46a chatType=direct
agent:main:dashboard:675162e3-23d8-4465-9c2c-a01d032dd931 sessionId=44d5d32b-77a9-44c4-92ff-c59894886ec0 parentSessionKey=agent:main:main
agent:main:dashboard:83f38890-8f36-4bd2-8dcf-7c90728f2681 sessionId=4391ed22-5275-47b4-b0bf-e9bf5d7689aa parentSessionKey=agent:main:main
agent:main:dashboard:84e1e674-d431-4f63-be85-c453c2d6b869 sessionId=022bbeee-7376-4ef5-bc29-8cac5e21e280 parentSessionKey=agent:main:main

The dashboard child transcripts were tiny placeholder sessions, not a practical replacement for a fresh direct main chat.

Gateway logs also showed repeated resolution failures around this workflow:

sessions.resolve ... errorCode=INVALID_REQUEST errorMessage=No session found: current

OpenClaw version

2026.5.7

Operating system

Windows 10 / Windows PowerShell / nvm-windows

Install method

Global npm install under nvm-windows / Node 24.14.1

Evidence / root-cause notes

In the bundled 2026.5.7 Control UI, /new maps to the new-session slash action, which calls the Control UI helper that ultimately sends sessions.create without a key, but with parentSessionKey set to the current session.

In the bundled gateway server handler:

function buildDashboardSessionKey(agentId) {
  return `agent:${agentId}:dashboard:${randomUUID()}`;
}

and in sessions.create, when no requested key is supplied, the target key falls back to buildDashboardSessionKey(agentId). That makes the dashboard child behavior deterministic for this path.

Local patch tested as a workaround:

  • In dist/server-methods-DStUV8Sh.js, before falling back to buildDashboardSessionKey(agentId), detect a no-key create request whose parent is agent:<agent>:main or a dashboard child parented to agent:<agent>:main.
  • Route that case through the existing performGatewaySessionReset({ reason: "new" }) path against agent:<agent>:main.
  • Return key: agent:<agent>:main instead of minting another dashboard GUID.

This passed node --check locally and mapped both tested cases back to agent:main:main.

Impact

For users who use the Control UI as a normal chat surface, /new does not behave like a clean main-chat start. It moves them into generated dashboard child sessions, which is surprising and makes it hard to keep a straightforward main chat workflow.

Related issue

Possibly related but not identical to #49517. That issue discusses /new versus /reset semantics generally. This report is specifically about Control UI /new routing to agent:<agent>:dashboard:<GUID> from the main direct chat.

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

From the main/direct chat, /new should provide a fresh normal main chat experience, or at minimum keep the user visibly in the direct main-chat lane.

Reasonable implementations would be either:

  • reset/rotate the direct session behind agent:main:main, preserving old history/checkpoint behavior as designed, or
  • create a new direct-chat session that remains clearly selectable as a direct main chat, not a dashboard child.

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 Control UI /new from main chat creates dashboard child session