Skip to content

macOS chat window: native redesign with sessions sidebar, toolbar pickers, slash commands, context usage #101086

Description

@steipete

Problem

The native macOS chat window is a single fixed column hosted in a bare NSWindow: session, thinking, and model pickers are crammed into a small strip above the composer, sessions are only reachable through a cramped dropdown of raw routing keys (agent:main:main), and the transcript sits on a dated orange/teal gradient. Compared to the web Control UI the native surface is missing core functionality:

  • no sessions sidebar (list, search, pin, delete, new session)
  • /new silently falls back to sessions.reset because the Mac transport never implemented sessions.create
  • no slash-command autocomplete (the shared panel is iOS-only; the Mac transport does not implement commands.list)
  • no context-window/token/cost visibility
  • no message copy actions, no transcript export surfaced, no compact/clear-history affordances

Proposal

Redesign the macOS chat window as a proper native shell while keeping the compact menu-bar panel:

  • NavigationSplitView shell in OpenClawChatUI (macOS-only): searchable sessions sidebar (pinned/recent sections, unread dots, pin/delete context menus, connection footer) plus a unified toolbar carrying model picker, thinking picker, context-usage ring (tokens/cost, compact action), and a session actions menu (new ⌘N, refresh ⌘R, copy key, export transcript ⇧⌘E, compact, clear history)
  • clean iMessage-style composer chrome; assistant messages render as plain flowing text, user messages in accent bubbles following the system accent color
  • slash-command autocomplete on macOS with full keyboard navigation (↑/↓/Tab/Return/Esc)
  • Mac gateway transport implements commands.list, sessions.create, sessions.patch, sessions.delete
  • message context menu (Copy Message), refreshed empty state, native window chrome with frame persistence

Full web-UI parity (split panes, checkpoints, workspace rail, talk mode in window, thread search) stays follow-up work; this covers the structural redesign plus the highest-value parity gaps.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.app: macosApp: macosclawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.enhancementNew feature or requestimpact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.maintainerMaintainer-authored PR

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions