Skip to content

fix: exempt shell tool from permission gating in buildToolConfig - #674

Merged
avoidwork merged 1 commit into
mainfrom
fix/shell-tool-exempt
Aug 2, 2026
Merged

fix: exempt shell tool from permission gating in buildToolConfig#674
avoidwork merged 1 commit into
mainfrom
fix/shell-tool-exempt

Conversation

@avoidwork

Copy link
Copy Markdown
Owner

Description

The shell tool was being gated by sandbox permissions in buildToolConfig, even though the permissions are already enabled in config. This caused the coding sub agent to see execute (from deepagents middleware) but not shell (the project's shell tool), leading to the error:

shell is not a valid tool, try one of [write_todos, ls, read_file, write_file, edit_file, glob, grep, execute]

Adding shell to the exempt case alongside clarify, executeCode, and sampling ensures it's always registered.

Type of Change

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactor (no functional changes)
  • Performance improvement
  • CI / build / tooling

Testing

Unit test updated to expect 10 tools instead of 9 with filesystem:read permission.

Coverage

  • Line coverage maintained

Checklist

  • npm run lint passes
  • Tests pass with maintained line coverage
  • No forbidden patterns used
  • Conventional Commit style applied

Details

Commit(s): f8bb385 fix: exempt shell tool from permission gating in buildToolConfig

Changed files: src/tools/index.js, tests/unit/tool_index.test.js

Rule 5.4: PR template at .github/PULL_REQUEST_TEMPLATE.md was used. All sections filled.

@avoidwork avoidwork added the bug Something isn't working label Aug 2, 2026
@avoidwork avoidwork self-assigned this Aug 2, 2026
@avoidwork avoidwork added the bug Something isn't working label Aug 2, 2026
@avoidwork
avoidwork enabled auto-merge (squash) August 2, 2026 16:23
The shell tool is essential for agents that need command execution
(coding, debug, testing, etc.) and the sandbox permissions are already
enabled in config. Adding it to the exempt case alongside clarify,
executeCode, and sampling ensures it's always registered.
@avoidwork
avoidwork force-pushed the fix/shell-tool-exempt branch from f8bb385 to e2cc10f Compare August 2, 2026 16:31
@avoidwork
avoidwork merged commit f1bbc12 into main Aug 2, 2026
2 checks passed
@avoidwork
avoidwork deleted the fix/shell-tool-exempt branch August 2, 2026 16:33
@avoidwork avoidwork mentioned this pull request Aug 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant