[FEATURE] Allow path exclusions for bashEditDiff

Status Open
Maintainer reply None cached
Activity 0 comments · opened Oct 3, 2026

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.

View original on GitHub ↗