{"version":"2.1.281","anchor":"hooks-validation-warns-about-unquoted-plugin-path-placeholde","canonical_anchor":"plugin-marketplace-sorting-all-filter-and-a-check-for","heading":"Plugins: warning for unquoted hook path placeholders, plus marketplace sorting and an 'All' tab","tier":"notice","area":"Plugins","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/hooks-validation-warns-about-unquoted-plugin-path-placeholde","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Plugins: warning for unquoted hook path placeholders, plus marketplace sorting and an 'All' tab\n\nhooks.json validation now warns about unquoted plugin path placeholders, and \/plugin gains install-count sorting and an 'All' marketplace tab\n\n**What**\n\nHooks are commands that run automatically at certain points, such as before or after a tool runs. Checking a plugin's `hooks.json` now warns when a command-type hook uses `${CLAUDE_PLUGIN_ROOT}`, `${CLAUDE_PLUGIN_DATA}` or `${CLAUDE_PROJECT_DIR}` without quotes around it. These placeholders are replaced with folder paths when the hook runs. The warning suggests quoting the placeholder or using exec form. Exec form means giving the command and its arguments separately.\n\n- Exec-form hooks (those with args) and PowerShell hooks are not checked.\n\n- The warning is not behind a gate, so it applies to everyone.\n\nThe `\/plugin` browser also gains new helpers:\n\n- Plugins are sorted by install count (the highest across `installCountIds`), then by plugin-directory origin, then by name.\n\n- Each marketplace has filter tabs, headed by an \"All\" tab.\n\n**Why**\n\nAn unquoted path breaks when the folder name contains a space, which is a common cause of broken plugin hooks. The warning points plugin authors at the problem before users hit it. The new sorting puts widely installed plugins first when browsing.\n\n- Area: Plugins\n- Names: `hooks.json`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5"}