Skip to content

Commit b68a119

Browse files
committed
feat: add permission bypass flags to CCR engine
- Add --dangerously-skip-permissions and --permission-mode bypassPermissions flags - Add --dangerously-bypass-approvals-and-sandbox flag - Update tests to reflect new command structure with bypass flags - Make CCR engine behavior consistent with Claude/Codex engines
1 parent 978a418 commit b68a119

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

src/infra/engines/providers/ccr/execution/commands.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ export function buildCcrExecCommand(options: CcrCommandOptions): CcrCommand {
5252
'--output-format',
5353
'stream-json',
5454
'--verbose',
55+
'--dangerously-skip-permissions',
56+
'--permission-mode',
57+
'bypassPermissions',
58+
'--dangerously-bypass-approvals-and-sandbox',
5559
];
5660

5761
// Add model if specified and valid

tests/unit/infra/ccr-command-builder.spec.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ describe('CCR Command Builder', () => {
1616
'--output-format',
1717
'stream-json',
1818
'--verbose',
19+
'--dangerously-skip-permissions',
20+
'--permission-mode',
21+
'bypassPermissions',
22+
'--dangerously-bypass-approvals-and-sandbox',
1923
],
2024
});
2125
});
@@ -33,6 +37,10 @@ describe('CCR Command Builder', () => {
3337
'--output-format',
3438
'stream-json',
3539
'--verbose',
40+
'--dangerously-skip-permissions',
41+
'--permission-mode',
42+
'bypassPermissions',
43+
'--dangerously-bypass-approvals-and-sandbox',
3644
'--model',
3745
'sonnet',
3846
],
@@ -52,6 +60,10 @@ describe('CCR Command Builder', () => {
5260
'--output-format',
5361
'stream-json',
5462
'--verbose',
63+
'--dangerously-skip-permissions',
64+
'--permission-mode',
65+
'bypassPermissions',
66+
'--dangerously-bypass-approvals-and-sandbox',
5567
'--model',
5668
'opus',
5769
],
@@ -71,6 +83,10 @@ describe('CCR Command Builder', () => {
7183
'--output-format',
7284
'stream-json',
7385
'--verbose',
86+
'--dangerously-skip-permissions',
87+
'--permission-mode',
88+
'bypassPermissions',
89+
'--dangerously-bypass-approvals-and-sandbox',
7490
],
7591
});
7692
});
@@ -88,6 +104,10 @@ describe('CCR Command Builder', () => {
88104
'--output-format',
89105
'stream-json',
90106
'--verbose',
107+
'--dangerously-skip-permissions',
108+
'--permission-mode',
109+
'bypassPermissions',
110+
'--dangerously-bypass-approvals-and-sandbox',
91111
],
92112
});
93113
});

tests/unit/infra/ccr-engine.spec.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ describe('CCR Engine Runner', () => {
3434
'--output-format',
3535
'stream-json',
3636
'--verbose',
37+
'--dangerously-skip-permissions',
38+
'--permission-mode',
39+
'bypassPermissions',
40+
'--dangerously-bypass-approvals-and-sandbox',
3741
]);
3842
expect(callOptions?.cwd).toBe(workingDir);
3943
expect(callOptions?.env).toMatchObject({
@@ -65,6 +69,10 @@ describe('CCR Engine Runner', () => {
6569
'--output-format',
6670
'stream-json',
6771
'--verbose',
72+
'--dangerously-skip-permissions',
73+
'--permission-mode',
74+
'bypassPermissions',
75+
'--dangerously-bypass-approvals-and-sandbox',
6876
'--model',
6977
'sonnet',
7078
]);

0 commit comments

Comments
 (0)