openclaw - 💡(How to fix) Fix bug: macOS app chat picker shows wrong node label when multiple Macs are paired [1 participants]

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…
GitHub stats
openclaw/openclaw#59268Fetched 2026-04-08 02:26:43
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

When two macOS nodes are paired to the same gateway, the chat session picker in the macOS app shows the wrong node name — each app displays the other node's label. Additionally, both apps appear to share the same chat session instead of having isolated per-node sessions.

Root Cause

Root Cause Hypothesis

Fix Action

Workaround

None currently — the labels cannot be manually corrected and the sessions cannot be separated from within the app.

RAW_BUFFERClick to expand / collapse

Summary

When two macOS nodes are paired to the same gateway, the chat session picker in the macOS app shows the wrong node name — each app displays the other node's label. Additionally, both apps appear to share the same chat session instead of having isolated per-node sessions.

Steps to Reproduce

  1. Pair two Macs (e.g. mac-mini and macbook-pro) to the same OpenClaw gateway
  2. Open the macOS app on both machines
  3. In the chat picker, each app shows the other node's name selected
  4. Messages sent from either Mac appear in both apps (shared session)

Expected Behavior

  • Each macOS app should default to its own node chat session
  • Sessions should be isolated per node — messages on mac-mini should only appear on mac-mini, not on macbook-pro

Actual Behavior

  • Labels are swapped in the picker UI
  • Both apps share the same session (same message history visible on both)
  • The underlying message routing is correct (gateway metadata correctly identifies the sending node), but the UI and session isolation are broken

Root Cause Hypothesis

Both macOS apps register with the same static clientId: "openclaw-macos". If the gateway or the app's chat session picker keys off clientId rather than the unique nodeId (or paired device UUID), all macOS nodes end up sharing a single session identifier — causing label collision and session sharing.

Fix: The app should include a device-unique identifier (e.g. machine UUID, paired node ID) in its session handshake, distinct from the static app clientId.

Environment

  • macOS app versions: 2026.4.1 (both nodes)
  • Gateway: running on a Proxmox LXC (Linux)
  • Both nodes connected remotely over local network
  • Channel: openclaw-macos / node chat

Workaround

None currently — the labels cannot be manually corrected and the sessions cannot be separated from within the app.

extent analysis

TL;DR

Modify the macOS app to include a device-unique identifier in its session handshake to prevent session sharing and label collision.

Guidance

  • Verify that the clientId is indeed the cause of the issue by checking the gateway's session management logic and the app's chat session picker implementation.
  • Consider using the machine UUID or paired node ID as the device-unique identifier to ensure uniqueness across devices.
  • Update the app's session handshake to include the device-unique identifier, while keeping the static clientId for app identification purposes.
  • Test the updated app with multiple nodes paired to the same gateway to ensure that each node has its own isolated chat session and correct label.

Example

// Pseudocode example of updated session handshake
let deviceId = getMachineUUID()
let clientId = "openclaw-macos"
let sessionHandshake = [
    "clientId": clientId,
    "deviceId": deviceId
]
// Send sessionHandshake to the gateway

Notes

The provided Root Cause Hypothesis suggests that the issue is due to the static clientId being used for session identification. However, without access to the gateway's implementation, it's uncertain whether the gateway or the app's chat session picker is responsible for the issue.

Recommendation

Apply workaround: Modify the app to include a device-unique identifier in its session handshake, as this is the most direct solution to the problem and does not require changes to the gateway.

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…

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: macOS app chat picker shows wrong node label when multiple Macs are paired [1 participants]