diff options
| author | cornmander <[email protected]> | 2025-08-15 10:37:49 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-15 14:37:49 +0000 |
| commit | 41c5195ed36d87518fc26b97ec625fa6ac68398b (patch) | |
| tree | 58c53c21207372dc6391ea6decf7a83c8ebc4076 /packages/core | |
| parent | a131555c9cb0a79902d7edd265449103d205f364 (diff) | |
feat(shell): Include disallowed commands in block reason (#6278)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Diffstat (limited to 'packages/core')
| -rw-r--r-- | packages/core/src/utils/shell-utils.test.ts | 6 | ||||
| -rw-r--r-- | packages/core/src/utils/shell-utils.ts | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/packages/core/src/utils/shell-utils.test.ts b/packages/core/src/utils/shell-utils.test.ts index 9473dee7..22d316ad 100644 --- a/packages/core/src/utils/shell-utils.test.ts +++ b/packages/core/src/utils/shell-utils.test.ts @@ -38,7 +38,9 @@ describe('isCommandAllowed', () => { config.getCoreTools = () => ['ShellTool(ls -l)']; const result = isCommandAllowed('rm -rf /', config); expect(result.allowed).toBe(false); - expect(result.reason).toBe(`Command(s) not in the allowed commands list.`); + expect(result.reason).toBe( + `Command(s) not in the allowed commands list. Disallowed commands: "rm -rf /"`, + ); }); it('should block a command if it is in the blocked list', () => { @@ -157,7 +159,7 @@ describe('checkCommandPermissions', () => { expect(result).toEqual({ allAllowed: false, disallowedCommands: ['git status'], - blockReason: `Command(s) not in the allowed commands list.`, + blockReason: `Command(s) not in the allowed commands list. Disallowed commands: "git status"`, isHardDenial: false, }); }); diff --git a/packages/core/src/utils/shell-utils.ts b/packages/core/src/utils/shell-utils.ts index c7f1839e..4164cdca 100644 --- a/packages/core/src/utils/shell-utils.ts +++ b/packages/core/src/utils/shell-utils.ts @@ -301,7 +301,9 @@ export function checkCommandPermissions( return { allAllowed: false, disallowedCommands, - blockReason: `Command(s) not on the global or session allowlist.`, + blockReason: `Command(s) not on the global or session allowlist. Disallowed commands: ${disallowedCommands + .map((c) => JSON.stringify(c)) + .join(', ')}`, isHardDenial: false, // This is a soft denial; confirmation is possible. }; } @@ -322,7 +324,7 @@ export function checkCommandPermissions( return { allAllowed: false, disallowedCommands, - blockReason: `Command(s) not in the allowed commands list.`, + blockReason: `Command(s) not in the allowed commands list. Disallowed commands: ${disallowedCommands.map((c) => JSON.stringify(c)).join(', ')}`, isHardDenial: false, // This is a soft denial. }; } |
