{"version":"2.1.309","anchor":"worktree-isolated-git-guard-refuses-rsync-connect-prog","canonical_anchor":"worktree-isolated-git-guard-refuses-rsync-connect-prog","heading":"Claude Code now looks for RSYNC_CONNECT_PROG in shell commands","tier":"notice","area":"Worktrees","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309\/e\/worktree-isolated-git-guard-refuses-rsync-connect-prog","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309","markdown":"### Claude Code now looks for RSYNC_CONNECT_PROG in shell commands\n\nCommands that name RSYNC_CONNECT_PROG, even disguised, are refused by the isolated-worktree git guard and noted by a separate Bash scan\n\n**What**\n\n`RSYNC_CONNECT_PROG` is an environment variable read by rsync, a file-copying program. rsync runs the variable's value through the shell. This release adds two checks for that name in commands Claude Code runs:\n\n- The guard that keeps git commands inside an isolated worktree now rejects any command that names `RSYNC_CONNECT_PROG`, even when the name is only mentioned. The match ignores letter case and still works when the name is split by quotes, `$` expansions, backticks, backslashes or brace lists. A worktree is a separate working copy of a git repository. The stated reason is that rsync runs the value through the shell, so the guard cannot show that what it runs is not git.\n\n- A separate scan of Bash commands looks for the same name. It first removes quotes and backslash-newlines and converts everything to capital letters. It then allows the characters `$`, ```, `{`, `,`, `}` and `\\` between the letters. A match is only recorded and appears not to block the command.\n\n**Why**\n\nThe name can be written in ways that hide it from a simple search, and setting it makes rsync run another program. If you run Claude Code in an isolated worktree and your commands use rsync with a connection program, they will now be blocked there.\n\n- Area: Worktrees\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: yes"}