fix(claude-code-hooks): deduplicate settings paths to prevent double hook execution #1297
+3
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
When the current working directory equals the home directory,
~/.claude/settings.jsonwas being loaded twice:~/.claude/settings.json)process.cwd()/.claude/settings.json)This caused hooks like
Stopto execute twice, resulting in sounds playing twice, notifications appearing twice, etc.Fix
Added deduplication using
SetingetClaudeSettingsPaths()to ensure each config file path is only included once.Testing
Verified locally that Stop hooks now execute only once when cwd is the home directory.
Summary by cubic
Prevents double execution of Claude Code hooks by deduplicating settings file paths. Fixes the case where ~/.claude/settings.json was loaded twice when the cwd is the home directory.
Written for commit 4c40c3a. Summary will update on new commits.