diff --git a/src/renderer/src/components/terminal-pane/terminal-ctrl-enter.test.ts b/src/renderer/src/components/terminal-pane/terminal-ctrl-enter.test.ts index 2d2b4ff6569..27e0cce41bc 100644 --- a/src/renderer/src/components/terminal-pane/terminal-ctrl-enter.test.ts +++ b/src/renderer/src/components/terminal-pane/terminal-ctrl-enter.test.ts @@ -37,6 +37,17 @@ describe('hasCtrlEnterCsiUAuthorityForPane', () => { } expect(hasCtrlEnterCsiUAuthorityForPane(state, PANE_KEY, '⠋ Droid')).toBe(true) expect(hasCtrlEnterCsiUAuthorityForPane(state, PANE_KEY, 'C:\\work\\grok-project')).toBe(false) + expect( + hasCtrlEnterCsiUAuthorityForPane( + { + paneForegroundAgentByPaneKey: { + [PANE_KEY]: { agent: 'pi', shellForeground: false } + } + }, + PANE_KEY, + 'Droid' + ) + ).toBe(false) for (const foreground of [ { agent: 'grok' as const, routingRevoked: true, shellForeground: false }, diff --git a/src/renderer/src/components/terminal-pane/terminal-ctrl-enter.ts b/src/renderer/src/components/terminal-pane/terminal-ctrl-enter.ts index 34832ed5eda..457a1f51beb 100644 --- a/src/renderer/src/components/terminal-pane/terminal-ctrl-enter.ts +++ b/src/renderer/src/components/terminal-pane/terminal-ctrl-enter.ts @@ -24,5 +24,8 @@ export function hasCtrlEnterCsiUAuthorityForPane( return agentAcceptsCtrlEnterCsiU(foreground.agent) } const titleAgent = terminalTitle ? resolveCommittedTitleAgentType(terminalTitle) : null + if (foreground?.agent != null && foreground.agent !== titleAgent) { + return false + } return agentAcceptsCtrlEnterCsiU(titleAgent) }