openclaw / openclaw/openclaw-windows-node

[Bug]: Companion /new creates session but does not select or materialize it in chat UI

Open
#1,411 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:session-state impact:ux-friction issue-rating: 🦞 diamond lobster P1
Dominant language
C#
Stars
2.1k
Forks
295
Avg merge
1d 6h
Merged PRs (30d)
99

Description

Summary

In Windows Companion v2026.9.3, typing /new successfully creates a new Gateway session, but Companion does not switch to that session and does not expose the empty session in the chat-area session selector.

The newly created session is visible immediately in Companion's Gateway session list as New session, so session creation itself succeeds. The failure is in Companion's local selection/materialization behavior.

Environment

  • Windows Companion: v2026.9.3
  • Gateway: OpenClaw 2026.9.4
  • Windows 11 x64
  • Existing selected chat/session: Main

Reproduction

  1. Start with Main selected in Companion.
  2. Type /new in the Companion composer.
  3. Click Send once.
  4. Do not select anything else.

Actual behavior

  • Companion remains on Main; the chat view does not change.
  • A new session named New session appears immediately in Companion's Gateway session list.
  • The new session is absent from the chat-area session selector below the conversation.

Additional controlled verification:

  1. In ControlUI, select the newly created New session and send one message (test).
  2. The session becomes a normal/materialized chat and appears in Companion's chat-area selector as Direct message.
  3. Companion still remains on Main.
  4. Manually selecting Direct message in Companion works normally and shows the message.

So the created session is healthy; Companion simply does not perform the expected local handoff to it.

Expected behavior

After successful /new session creation, Companion should immediately select the newly created session and make it usable in the chat UI, even before the session has received its first message.

Source behavior in v2026.9.3

The current lifecycle path appears intended to do exactly that:

  • ChatLifecycleCommandDispatcher parses /new, calls CreateSessionAsync(...), and returns Succeeded: true with NewSessionKey when creation succeeds.
  • ChatComposerController.SendCoreAsync(...) then invokes _selectedSessionHandoff(sessionKey) when NewSessionKey is returned.
  • OpenClawReactorChatRoot binds that handoff to local selection and maintains _pendingSelectedThreadId / a compose-only thread so a newly created session can be selected before it is materialized by history/content.

Observed behavior indicates that this selection/materialization handoff is not taking effect.

Notes

  • This is not the same as #1271, which requests a visible New Chat/New Session UI action. Here /new exists and session creation succeeds, but Companion fails to transition to the newly created session.
  • No crash behavior is part of this report; the reproduction above is a functional failure only.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with ChatLifecycleCommandDispatcher and ChatComposerController.SendCoreAsync, then trace the _selectedSessionHandoff binding in OpenClawReactorChatRoot. Reproduce /new from an existing Main session and inspect the pending-selection and compose-only thread behavior. Done means the newly created empty session is selected and visible in the chat-area selector immediately after creation.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
74/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.