diff --git a/packages/cli/src/config/acp-channel-fallback.test.ts b/packages/cli/src/config/acp-channel-fallback.test.ts index 4c5526c7c19..f10095a9399 100644 --- a/packages/cli/src/config/acp-channel-fallback.test.ts +++ b/packages/cli/src/config/acp-channel-fallback.test.ts @@ -35,11 +35,11 @@ describe('resolveAcpChannelFallback', () => { ).toBe('desktop'); }); - it('ignores empty marker values', () => { + it.each(['', '0', 'false'])('ignores marker value %j', (value) => { expect( resolveAcpChannelFallback({ - [QWEN_CODE_SERVE_ENV]: '', - [QWEN_CODE_DESKTOP_ENV]: '', + [QWEN_CODE_SERVE_ENV]: value, + [QWEN_CODE_DESKTOP_ENV]: value, }), ).toBe('ACP'); }); diff --git a/packages/cli/src/config/acp-channel-fallback.ts b/packages/cli/src/config/acp-channel-fallback.ts index 6acebe9f1f7..9b0b0a0d1fe 100644 --- a/packages/cli/src/config/acp-channel-fallback.ts +++ b/packages/cli/src/config/acp-channel-fallback.ts @@ -29,10 +29,10 @@ export function resolveAcpChannelFallback( ): string { // The desktop marker wins: Tauri sessions are daemon-spawned too, but the // launcher identity is the finer-grained signal. - if (env[QWEN_CODE_DESKTOP_ENV]) { + if (env[QWEN_CODE_DESKTOP_ENV] === '1') { return 'desktop'; } - if (env[QWEN_CODE_SERVE_ENV]) { + if (env[QWEN_CODE_SERVE_ENV] === '1') { return 'daemon'; } return 'ACP';