{"version":"2.1.290","anchor":"hook-command-regex-for-plugin-root-interpreter-scripts","canonical_anchor":"hook-command-regex-for-plugin-root-interpreter-scripts","heading":"Claude Code now recognises hook commands that run a script from a plugin, project or home folder","tier":"internal","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/hook-command-regex-for-plugin-root-interpreter-scripts","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Claude Code now recognises hook commands that run a script from a plugin, project or home folder\n\nClaude Code can now pick out hook commands that run a python, perl, sh, bash or dash script from a plugin, project or home folder\n\n**Unclear.** It is not clear what Claude Code does with a hook command once it matches this pattern.\n\n**What**\n\nClaude Code can now recognise a particular shape of hook command. A hook is a command you or a plugin set up to run automatically at certain points while Claude Code works. The recognised shape is:\n\n- an interpreter: `python`, `perl`, `sh`, `bash` or `dash`\n\n- followed by the path to a script inside the folder named by `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PROJECT_DIR` or `HOME`\n\n- followed only by simple arguments\n\nA command such as `bash` followed by a script path that starts with `CLAUDE_PLUGIN_ROOT` fits this pattern.\n\n**Why**\n\nIf your hooks run a script from your plugin folder, your project folder or your home folder in this plain form, Claude Code can now tell them apart from other hook commands. It is not yet clear whether this changes how such hooks are treated.\n\n- Area: Hooks\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}