diff --git a/src/renderer/src/components/onboarding/onboarding-feature-setup.test.ts b/src/renderer/src/components/onboarding/onboarding-feature-setup.test.ts index e0916c5fad0..d65444bf074 100644 --- a/src/renderer/src/components/onboarding/onboarding-feature-setup.test.ts +++ b/src/renderer/src/components/onboarding/onboarding-feature-setup.test.ts @@ -119,7 +119,7 @@ describe('onboarding feature setup runner', () => { expect(text).toBe(ALL_SKILL_INSTALL_COMMAND) expect(text).toBe( - 'npx skills add https://github.com/stablyai/orca --skill orca-cli computer-use orchestration orca-linear --global' + 'npx skills add https://github.com/stablyai/orca --skill orca-cli computer-use orchestration orca-linear --global -y' ) }) diff --git a/src/renderer/src/components/settings/AgentSkillSetupPanel.test.tsx b/src/renderer/src/components/settings/AgentSkillSetupPanel.test.tsx index 69d2360b7e7..54a24ffee8d 100644 --- a/src/renderer/src/components/settings/AgentSkillSetupPanel.test.tsx +++ b/src/renderer/src/components/settings/AgentSkillSetupPanel.test.tsx @@ -7,7 +7,8 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { AgentSkillSetupPanel } from './AgentSkillSetupPanel' import { TooltipProvider } from '../ui/tooltip' -const INSTALL_COMMAND = 'npx skills add https://github.com/stablyai/orca --skill orca-cli --global' +const INSTALL_COMMAND = + 'npx skills add https://github.com/stablyai/orca --skill orca-cli --global -y' const UPDATE_COMMAND = 'npx skills update orca-cli --global' const mocks = vi.hoisted(() => ({ diff --git a/src/renderer/src/components/settings/OrchestrationPane.test.tsx b/src/renderer/src/components/settings/OrchestrationPane.test.tsx index 02da9913403..08aea8a3b8d 100644 --- a/src/renderer/src/components/settings/OrchestrationPane.test.tsx +++ b/src/renderer/src/components/settings/OrchestrationPane.test.tsx @@ -8,7 +8,7 @@ import { getOrchestrationUsageExamples } from '@/lib/orchestration-usage-example import { OrchestrationPane } from './OrchestrationPane' const INSTALL_COMMAND = - 'npx skills add https://github.com/stablyai/orca --skill orchestration --global' + 'npx skills add https://github.com/stablyai/orca --skill orchestration --global -y' const UPDATE_COMMAND = INSTALL_COMMAND const mocks = vi.hoisted(() => ({ diff --git a/src/renderer/src/components/settings/linear-agent-skill-install-cta.test.tsx b/src/renderer/src/components/settings/linear-agent-skill-install-cta.test.tsx index a3a4a1db3dd..b82d1b12419 100644 --- a/src/renderer/src/components/settings/linear-agent-skill-install-cta.test.tsx +++ b/src/renderer/src/components/settings/linear-agent-skill-install-cta.test.tsx @@ -115,7 +115,7 @@ describe('LinearAgentSkillInstallCta', () => { expect(rendered.textContent).toContain('Not installed') expect(rendered.textContent).toContain('Let your agents read and edit Linear tasks.') expect(rendered.textContent).toContain( - 'npx skills add https://github.com/stablyai/orca --skill orca-linear --global' + 'npx skills add https://github.com/stablyai/orca --skill orca-linear --global -y' ) }) @@ -129,7 +129,7 @@ describe('LinearAgentSkillInstallCta', () => { }) expect(mocks.clipboardWrite).toHaveBeenCalledWith( - 'npx skills add https://github.com/stablyai/orca --skill orca-linear --global' + 'npx skills add https://github.com/stablyai/orca --skill orca-linear --global -y' ) expect(mocks.toastSuccess).toHaveBeenCalled() }) diff --git a/src/shared/agent-feature-install-commands.ts b/src/shared/agent-feature-install-commands.ts index 60bdc6d6baf..cd56c36fe2c 100644 --- a/src/shared/agent-feature-install-commands.ts +++ b/src/shared/agent-feature-install-commands.ts @@ -12,7 +12,10 @@ export function buildAgentFeatureSkillInstallCommand(skillNames: readonly string if (skillNames.length === 0) { throw new Error('At least one skill name is required.') } - return `npx skills add ${ORCA_SKILLS_REPOSITORY_URL} --skill ${skillNames.join(' ')} --global` + // Why: Orca spawns this in a non-driven PTY (ephemeral setup terminal). Without -y the + // skills CLI's interactive "Which agents?" prompt blocks until Orca kills it (~50s, exit 1), + // so the install silently fails (#9567). -y installs to all detected agents non-interactively. + return `npx skills add ${ORCA_SKILLS_REPOSITORY_URL} --skill ${skillNames.join(' ')} --global -y` } export function buildAgentFeatureSkillUpdateCommand(skillName: string): string {