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. }; }