[BUG] Desktop: computer-use side-panel dock fires phantom quit event; "Wait for Claude" silently quits app after task; no setting to disable docking (multi-monitor)

Open 💬 0 comments Opened Jun 9, 2026 by Brandon-Gottshall

Environment

  • Claude Desktop (Cowork) 1.11847.5
  • macOS (Darwin 25.5.0), multi-monitor setup (main 1920x1080 landscape + 1080x1920 portrait secondary)

Summary

Every time a session launches the computer-use tool, the desktop app docks itself into the compact side panel and, ~4 seconds later, receives a quit event the user never initiated. The "Claude is still working" dialog appears, and its highlighted default button ("Wait for Claude") doesn't dismiss the quit — it defers it, so the app silently quits (active thread and all) the moment the tool use finishes.

Three related findings:

1. Phantom quit event fired by the cu-side-panel dock path (the core bug)

Reproducible log signature from ~/Library/Logs/Claude/main.log — dock → glow → quit attempt ~4s later, every time computer use starts:

17:31:02 [info] [cu-side-panel] docked
17:31:02 [info] [cu-glow] window created requested={"x":-1080,"y":-440,"width":1080,"height":1920} ...
17:31:04 [warn] [event-loop-stall] main process blocked for 698ms ...
17:31:06 [info] beforeQuit: handler fired, going down
17:31:06 [info] beforeQuit: vetoed by before-quit interceptor
17:31:24 [info] [Stop hook] Query completed for session local_...
17:31:24 [info] [cu-side-panel] restored

Same pattern again minutes later:

17:37:36 [info] [cu-side-panel] docked
17:37:36 [info] [cu-glow] shown bounds={"x":0,"y":0,"width":1920,"height":1080}
17:37:40 [info] beforeQuit: handler fired, going down
17:37:40 [info] beforeQuit: vetoed by before-quit interceptor

6 occurrences of vetoed by before-quit interceptor in the current log, all matching this pattern. No Cmd+Q or quit was issued by the user. The consistent ~4s delay after docking suggests something in the dock/glow window path is tripping Electron's quit handling (window-all-closed-style handler when the main window collapses?).

2. "Wait for Claude" arms a quit the user never requested

The dialog's options are "Quit anyway" / "Wait for Claude" (highlighted default) / "Cancel". "Wait for Claude" does not cancel the phantom quit — it queues it. The full onQuitCleanupreadyForQuit shutdown sequence then runs as soon as the session finishes, killing the app and the active thread. An accidental Enter or click on the default button of a dialog the user never caused results in the app quitting itself mid-workflow. "Cancel" is the only safe choice and it's the last option.

3. No setting to disable the dock-to-side-panel behavior

The dock-on-computer-use behavior appears hardcoded (only internal cuDockStateChanged / isDocked strings in the bundle; no preference key or feature flag). On multi-monitor setups this is pure loss: in the 17:31 occurrence above, the cu-glow overlay went up on the secondary display (x:-1080) — the agent was working on a different monitor entirely — yet the main window on the primary display still collapsed. Please consider a setting (or at minimum, skip docking when the controlled display doesn't contain the Claude window).

Expected

  • Launching computer use never generates a quit event.
  • The main window doesn't forcibly dock, or this is configurable — especially when computer use targets a different display.
  • A quit-confirmation dialog's default action is never "quit later without asking again."

Actual

Window collapses on every computer-use launch, a quit dialog the user never triggered appears, and the default button schedules an unattended quit of the app and active session.

View original on GitHub ↗