From bd241be6f7342518bee8037c8ec6765bf6e7db0b Mon Sep 17 00:00:00 2001 From: Derek Date: Tue, 10 Nov 2026 13:32:33 +1100 Subject: [PATCH] fix(soe): make Claude Code's Glob honour .gitignore Claude Code's Glob tool passes --no-ignore to ripgrep unless CLAUDE_CODE_GLOB_NO_IGNORE is "false". Every Glob then walks target/, .venv, node_modules and every worktree. With several sessions on one host this stalled a 12-core machine. The managed settings now set it to "false". They outrank user settings, so a tool that rewrites ~/.claude/settings.json can't undo it. A Glob rooted inside an ignored directory still finds its files. Closes #130 --- ansible/roles/soe/files/managed-settings.json | 1 + ansible/roles/soe/tasks/claude_policy.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/ansible/roles/soe/files/managed-settings.json b/ansible/roles/soe/files/managed-settings.json index 786f9fea..60049b14 100644 --- a/ansible/roles/soe/files/managed-settings.json +++ b/ansible/roles/soe/files/managed-settings.json @@ -6,6 +6,7 @@ "DISABLE_NON_ESSENTIAL_MODEL_CALLS": "1", "DISABLE_FEEDBACK_COMMAND": "1", "CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY": "1", + "CLAUDE_CODE_GLOB_NO_IGNORE": "false", "DO_NOT_TRACK": "1" }, "includeCoAuthoredBy": false, diff --git a/ansible/roles/soe/tasks/claude_policy.yml b/ansible/roles/soe/tasks/claude_policy.yml index e00d6250..76fe79fb 100644 --- a/ansible/roles/soe/tasks/claude_policy.yml +++ b/ansible/roles/soe/tasks/claude_policy.yml @@ -4,6 +4,7 @@ # Applies to every user on the box and cannot be overridden by them: # - Disables telemetry, error reporting and the feedback prompts # - Disables Co-Authored-By and "Generated with Claude Code" attribution +# - Makes the Glob tool honour .gitignore, so it skips build output and worktrees # # Split out of claude.yml so that the two carry DIFFERENT tags. The binary # install answers to `--tags claude`, which the developer-ai role's plugin gate