Cowork chat composer intermittently unclickable (click doesn't focus it); Cmd+R recovers, restart doesn't

Open 💬 2 comments Opened Jul 6, 2026 by papatistos

Summary

In the Claude desktop app, the chat composer in the Cowork surface intermittently becomes unclickable — clicking the input box does not focus it, so it's impossible to type. Keyboard input works perfectly the instant focus is placed into the composer programmatically, so the composer is rendered and functional; only click-to-focus fails. This is a focus-management bug.

Revision history: originally filed guessing the embedded terminal held focus (wrong — ruled out). Then narrowed to a "Code → Cowork view switch" trigger — also not reliable: the first occurrence happened with no view switching at all. Trigger is currently unknown / intermittent. See below for what is firmly established vs. still open.

Environment

  • App version: 2.1.197
  • Platform: macOS (Darwin 25.5.0), Apple Silicon
  • Surface: Cowork (local agent mode)

Firmly established

  • The composer loses click-to-focus but stays rendered and keyboard-functional. Forcing element.focus() on the composer un-sticks it, after which normal click-to-focus works again — this pins it as a focus-management bug, not rendering/overlay.
  • Ruled out — not the embedded terminal: no terminal was present in the DOM when it occurred (terminal panes: 0).
  • Ruled out — not clicks being swallowed: pointerdown events did reach the page (verified with a capture-phase listener), so it is not a native-layer / window-drag click eater.
  • Ruled out — not a DOM overlay / disabled state: walking the composer's ancestor chain to <body> showed every ancestor with pointer-events: auto, visibility: visible, inert === false, no aria-hidden; document.elementFromPoint() at the composer center returned the composer itself.

Recovery

  • Cmd+R (reload the renderer) recovered it in the one recurrence observed this session.
  • A full app quit + relaunch did NOT recover the original occurrence.
  • Programmatically calling .focus() on the composer also un-sticks it.

Still open / unknown

  • Trigger is not identified. The first occurrence had no view switching. A later recurrence happened right after a Code → Cowork switch, but that is a single correlation and may be coincidental — the switch is neither necessary (first occurrence) nor confirmed causal.
  • Why Cmd+R recovered but a full restart did not is not explained. (An earlier hypothesis tied this to a Code↔Cowork focus handoff, but that rested on the switch being the trigger, which no longer holds.)

Secondary signals (possibly related lifecycle bugs)

Observed in the console on a fresh reload:

  • Listener leak — repeated MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 ... listeners added on the IPC store channels LocalAgentModeSessions ... sessionsBridgeStatus, AutoUpdater ... updaterState, and AppPreferences ... preferencesChanged. Suggests store subscriptions are added on remounts without cleanup — a lifecycle-cleanup smell.
  • Failing session endpointsGET /v1/code/sessions/watch?exclude_tags=- → 410 (Gone) and GET /api/organizations/<org>/code/repos?skip_status=true → 401 (Unauthorized).
  • Benign but noted: Error with Permissions-Policy header: Unrecognized feature: 'web-share', and MCP SSE negotiation 405 (Method Not Allowed) that falls back to websocket.

Repro

Not reliably reproducible. Occurs during normal Cowork use. If it happens: Cmd+R recovers it; a full app restart may not. Happy to provide more DevTools output or a screen recording.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗