Files
orca/src/shared/orca-cli-command-name.test.ts
T
Neil 43097c517b fix(agents): launch Claude Agent Teams as plain orca on Orca servers (#34116)
* fix(agents): launch Claude Agent Teams as plain orca on Orca servers

A paired Orca server has no SSH connection id, so client launches treated it
as a local Linux desktop and typed `orca-ide claude-teams`. Headless servers
only put `orca` on PATH. Client launches now read the resolved execution host
(SSH or server, except WSL workspaces), and launches built on a headless Linux
server use the launcher that server publishes.

Fixes #33920. Reported by @williamhrs. Client-side approach from #33987 by
@coolwindX; #33975 by @Shubham-Padkonde showed the host-built launch gap.

* fix(orcad): keep orca-ide working for older clients on Linux servers

Older clients type the desktop orca-ide claude-teams into server terminals.
Write an identical orca-ide launcher beside orca. Idea and test from #33975
by @Shubham-Padkonde.
2026-10-26 17:02:51 -07:00

25 lines
1.1 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { installFakeAppEnvironment } from '../../config/scripts/vitest-host-ports-setup'
import { getTuiAgentLaunchCommand, TUI_AGENT_CONFIG } from './tui-agent-config'
const agentTeams = TUI_AGENT_CONFIG['claude-agent-teams']
describe('Claude Agent Teams launch name on the launching host', () => {
it('uses plain orca on a headless Linux server, whose PATH has no orca-ide (#33920)', () => {
installFakeAppEnvironment({ getCliLauncherPath: () => '/home/u/.orca/cli/bin/orca' })
expect(getTuiAgentLaunchCommand(agentTeams, 'linux')).toBe('orca claude-teams')
})
it('keeps the orca-ide rename on a Linux desktop', () => {
installFakeAppEnvironment({ getCliLauncherPath: undefined })
expect(getTuiAgentLaunchCommand(agentTeams, 'linux')).toBe('orca-ide claude-teams')
})
it('keeps the orca-ide rename for WSL under a Windows server', () => {
installFakeAppEnvironment({
getCliLauncherPath: () => 'C:\\Users\\u\\.orca\\cli\\bin\\orca.exe'
})
expect(getTuiAgentLaunchCommand(agentTeams, 'linux')).toBe('orca-ide claude-teams')
})
})