fix: treat remote-control as a Claude subcommand

This commit is contained in:
Tam Nhu Tran
2026-05-22 15:39:15 -04:00
parent cb7ab4eb6f
commit db4b938c0e
2 changed files with 9 additions and 5 deletions
+1
View File
@@ -34,6 +34,7 @@ const CLAUDE_SUBCOMMANDS = new Set<string>([
'plugin',
'plugins',
'project',
'remote-control',
'setup-token',
'ultrareview',
'update',
@@ -26,6 +26,7 @@ describe('isClaudeSubcommandInvocation', () => {
'plugin',
'plugins',
'project',
'remote-control',
'setup-token',
'ultrareview',
'update',
@@ -117,6 +118,9 @@ describe('stripClaudeSubcommandSessionArgs', () => {
expect(stripClaudeSubcommandSessionArgs(['doctor', '--permission-mode=acceptEdits'])).toEqual([
'doctor',
]);
expect(
stripClaudeSubcommandSessionArgs(['remote-control', '--permission-mode', 'bypassPermissions'])
).toEqual(['remote-control']);
});
it('preserves --permission-mode for the agents subcommand (after)', () => {
@@ -152,11 +156,7 @@ describe('stripClaudeSubcommandSessionArgs', () => {
'--allow-dangerously-skip-permissions',
'agents',
])
).toEqual([
'--dangerously-skip-permissions',
'--allow-dangerously-skip-permissions',
'agents',
]);
).toEqual(['--dangerously-skip-permissions', '--allow-dangerously-skip-permissions', 'agents']);
});
it('still strips --teammate-mode for the agents subcommand (not accepted by upstream)', () => {
@@ -188,14 +188,17 @@ describe('subcommand passthrough — injectors short-circuit', () => {
expect(appendThirdPartyWebSearchToolArgs(['agents'])).toEqual(['agents']);
expect(appendThirdPartyWebSearchToolArgs(['doctor'])).toEqual(['doctor']);
expect(appendThirdPartyWebSearchToolArgs(['mcp', 'list'])).toEqual(['mcp', 'list']);
expect(appendThirdPartyWebSearchToolArgs(['remote-control'])).toEqual(['remote-control']);
});
it('appendThirdPartyImageAnalysisToolArgs returns args unchanged for subcommand invocations', () => {
expect(appendThirdPartyImageAnalysisToolArgs(['agents'])).toEqual(['agents']);
expect(appendThirdPartyImageAnalysisToolArgs(['remote-control'])).toEqual(['remote-control']);
});
it('appendBrowserToolArgs returns args unchanged for subcommand invocations', () => {
expect(appendBrowserToolArgs(['agents'])).toEqual(['agents']);
expect(appendBrowserToolArgs(['remote-control'])).toEqual(['remote-control']);
});
it('injectors still inject for non-subcommand interactive launches', () => {