{"version":"2.1.247","anchor":"agent-worktrees-are-created-with-repo-git-filter-drivers-swi","canonical_anchor":"agent-worktrees-are-created-with-repo-git-filter-drivers-swi","heading":"Agent worktrees are created with repo git filter drivers switched off","tier":"notice","area":"Git Safety","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247\/e\/agent-worktrees-are-created-with-repo-git-filter-drivers-swi","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247","markdown":"### Agent worktrees are created with repo git filter drivers switched off\n\nAgent worktrees now ignore repo-supplied filter programs, and refuse to build when git config looks risky.\n\n**What**\n\nCreating or reusing a worktree for an agent now blanks every filter driver the repository config defines, so checking out files cannot run programs the repo supplies. Three situations stop worktree creation instead: git config that cannot be read, a filter whose name contains `=` or a newline, and a config using a conditional include. This is active in this build with no flag.\n\n**Details**\n\n- The repository's local and per-worktree config is read with `--includes` and `-z --list`, and for each filter driver found the git call gets `-c filter.<name>.clean=`, `.smudge=`, `.process=` and `.required=false`.\n- Each refusal records its own telemetry: `git_worktree_create_config_unreadable`, `git_worktree_create_filter_name_unrepresentable`, `git_worktree_create_conditional_include`.\n- A conditional include is refused because the set of filters a checkout would load cannot be worked out ahead of time.\n\n**Evidence**\n\n`The repository git config has a conditional include (includeIf), so the filter drivers a checkout would load cannot be determined`\n\n- Area: Git Safety\n- Names: `--includes`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}