[FEATURE] Allow path exclusions for bashEditDiff
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
bashEditDiff is useful for detecting files modified indirectly by Bash commands, but there is currently no way to exclude specific tracked files or paths from the generated diff.
Some tools maintain machine-generated state in Git-tracked files that change frequently. These changes can produce large, irrelevant bashEditDiff results and consume context.
A concrete example is Beads:
.beads/issues.jsonl
The file is intentionally Git-tracked, but Beads may update it frequently as issue state changes. I want the file to remain tracked and committed normally while preventing its changes from being included in bashEditDiff.
.gitignore is not an appropriate workaround because the file needs to remain tracked.
Proposed Solution
Support path/glob exclusions, for example:
{
"bashEditDiffExclude": [
".beads/issues.jsonl"
]
}
or:
{
"bashEditDiff": {
"exclude": [
".beads/**"
]
}
}
Gitignore-style glob syntax would be ideal.
Alternative Solutions
_No response_
Priority
Medium - Would be very helpful
Feature Category
Configuration and settings
Use Case Example
Bash commands could continue modifying excluded files normally.
The files would:
remain Git-tracked
continue appearing in normal git status / git diff
remain commit-able
simply not be included in the bashEditDiff context generated for Bash tool calls
This would be useful for generated metadata, lock/state files, caches that are intentionally versioned, and other high-churn tracked files.
Additional Context
Related to #71413 which requests path-level exclusions for Claude Code's file-change notification behavior. This request specifically concerns the newer bashEditDiff mechanism.