[BUG] Desktop: Cmd+Shift+I / E / M open the model, effort and permission menus on the FIRST pane, not the focused one (undocked windows work correctly)

Status Fixed / completed
Reported on v2.1.232
Maintainer reply None cached
Activity 0 comments · opened Aug 19, 2026 · closed Aug 19, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

In the Desktop Code tab with multiple sessions open as panes in one window, the three menu shortcuts open their menu against the first (leftmost / earliest-opened) pane instead of the focused one:

  • Cmd+Shift+I — model menu
  • Cmd+Shift+E — effort menu
  • Cmd+Shift+M — permission mode menu

Click the second (or third, …) pane so its input is focused, press Cmd+Shift+I, and the model menu pops up anchored to pane #1's model picker. Selecting an entry — or pressing 19 — therefore changes the model of the wrong session. Same for effort and permission mode.

Key diagnostic: dragging a session out into its own floating window fixes it. Once a session is undocked from the main window, all three shortcuts target that window's own session correctly. The misrouting only happens between panes within a single window, which points at the menu target being resolved per-window to the first-mounted pane rather than to whichever pane holds focus.

This is the same failure shape as #84391 (Cmd+D voice dictation inserting the transcript into the first session instead of the focused pane in split view), which was closed as completed on 2026-08-08. That fix appears to have scoped dictation to the focused pane without covering the model / effort / permission-mode menus.

What Should Happen?

Each of Cmd+Shift+I, Cmd+Shift+E, and Cmd+Shift+M should open its menu against the focused pane, and the selection should apply to that pane's session — matching the behaviour already seen in an undocked single-session window.

Error Messages/Logs

(none — no error is shown; the menu simply opens on the wrong pane)

Steps to Reproduce

  1. Open Claude Desktop → Code tab.
  2. Open two sessions side by side as panes in a single window (Open in → Split view).
  3. Click the second (right-hand) pane so its input field is focused; type a character to confirm focus is really there.
  4. Press Cmd+Shift+I.
  5. Observe: the Models menu opens anchored to the first (left-hand) pane's model picker, not the focused one. Choosing a model, or pressing 19, changes the first pane's session.
  6. Repeat with Cmd+Shift+E (effort) and Cmd+Shift+M (permission mode) — same misrouting.
  7. Contrast: drag the second session out into its own floating window, focus it, press Cmd+Shift+I — the menu now opens correctly on that session.

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

Claude Desktop 1.32885.1 (Claude Code CLI 2.1.232)

Platform

Claude subscription

Operating System

macOS 26.3.1 (build 25D2128)

Terminal/Shell

Claude Code Desktop app (not a terminal)

Additional Information

The shortcuts themselves are correct and documented — https://code.claude.com/docs/en/desktop#keyboard-shortcuts lists Cmd Shift I (model menu), Cmd Shift E (effort menu) and Cmd Shift M (permission mode menu), and the in-app hover tooltips show the same. Nothing about the invocation is unusual; only the routing is wrong.

Related:

  • #84391 — same class of bug for voice dictation, closed as completed 2026-08-08.
  • #73679 — there is currently no keyboard shortcut to move focus between split-view panes, so clicking is the only way to set pane focus; that makes this misrouting easier to hit, since the pane you just clicked is visibly focused but not the one the shortcut acts on.

Practical impact: because 19 selects a menu item, a two-keystroke model switch aimed at the pane you are working in silently reconfigures a different session — including, potentially, one that is mid-run.

View original on GitHub ↗