Feature Request: Add utility parameters to Bash tool
The Bash tool currently has limited control over execution context and output handling. Several parameters would significantly improve usability and reduce workarounds.
1. Output limiting: maxLinesCount + truncateMode
Problem: When only a portion of output is needed (e.g. end of test results), the only option is piping through tail/head — inconsistent with Claude Code's own guidelines discouraging unnecessary use of those utilities.
Proposed:
maxLinesCount: number— limit returned linestruncateMode: "START" | "MIDDLE" | "END"— where to truncate
Precedent: Already implemented in execute_terminal_command and execute_run_configuration (JetBrains MCP server).
---
2. workingDirectory: string
Problem: Shell state (including current directory) does not persist between Bash tool calls. The workaround cd /path && command must be repeated in every call.
Proposed: An explicit workingDirectory parameter scoped to a single invocation, making calls cleaner and less error-prone.
---
3. env: Record<string, string>
Problem: Passing environment variables currently requires inlining them into the command string: KEY=value command. This is harder to read and reason about.
Proposed: A structured env object, e.g.:
{ "NODE_ENV": "test", "DEBUG": "1" }
---
4. separateStderr: boolean
Problem: stdout and stderr are currently merged, making it impossible to distinguish errors from normal output without redirecting 2>&1 or 2>/dev/null manually.
Proposed: When true, return stdout and stderr as separate fields in the response.
---
5. ignoreExitCode: boolean
Problem: Some commands return non-zero exit codes in non-error scenarios (e.g. diff returns 1 when files differ, grep returns 1 when no matches found). This can cause unnecessary noise or confusion.
Proposed: When true, treat any exit code as success.
---
6. stdin: string
Problem: Interactive commands requiring user input (e.g. confirmations) are currently difficult or impossible to handle cleanly.
Proposed: A stdin string passed to the command's standard input.
---
These parameters would reduce shell command complexity, improve output readability, and align the Bash tool more closely with other well-designed tools in the ecosystem.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗