diff --git a/src/main/ipc/worktree-remote.ts b/src/main/ipc/worktree-remote.ts index 3e1a1b51b79..846786c30a4 100644 --- a/src/main/ipc/worktree-remote.ts +++ b/src/main/ipc/worktree-remote.ts @@ -514,14 +514,16 @@ async function spawnLocalStartupAndSetupTerminals(args: { command: setupCommand, env: setup.envVars, sourceSurfaceVisible: startupTerminal?.surface === 'visible', - activate: false + activate: false, + ...(sequencedStartup.activate === false ? { surfaceOwner: false } : {}) }) } else { await runtime.createTerminal(`id:${worktree.id}`, { title: 'Setup', command: setupCommand, env: setup.envVars, - activate: false + activate: false, + ...(sequencedStartup.activate === false ? { surfaceOwner: false } : {}) }) } didSpawnSetup = true diff --git a/src/main/ipc/worktrees-local-create-flow.test.ts b/src/main/ipc/worktrees-local-create-flow.test.ts index 1e4a0bb14dd..eb012f4fbb2 100644 --- a/src/main/ipc/worktrees-local-create-flow.test.ts +++ b/src/main/ipc/worktrees-local-create-flow.test.ts @@ -655,6 +655,10 @@ describe('registerWorktreeHandlers', () => { }) if (setupScriptLaunchMode === 'new-tab') { expect(runtimeStub.createTerminal).toHaveBeenCalledTimes(2) + expect(runtimeStub.createTerminal.mock.calls[1][1]).toMatchObject({ + activate: false, + surfaceOwner: false + }) expect(runtimeStub.splitTerminal).not.toHaveBeenCalled() } else { expect(runtimeStub.createTerminal).toHaveBeenCalledTimes(1) @@ -663,7 +667,8 @@ describe('registerWorktreeHandlers', () => { command: 'bash /workspace/repo/.git/orca/setup-runner.sh', env: expect.any(Object), sourceSurfaceVisible: true, - activate: false + activate: false, + surfaceOwner: false }) } }