{"name":"hooks","slug":"hooks","family":"setting","title":"Settings keys","noun":"settings key","description":"Run your own commands as [hooks](\/docs\/en\/hooks) at points in Claude Code's lifecycle","description_source":"docs","described_by":{"doc":"claude-code\/settings-reference","title":"All settings"},"presence":{"first_seen":"2.1.138","removed_in":"2.1.284","in_current_build":false,"newest_mined":"2.1.308","builds":126,"mined_builds":149,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.305","anchor":"plugin-loader-gains-containment-checks-and-an-optional-direc","heading":"Plugin checking gains a folder-layout check and a --profile directory option","line":"`claude plugin validate` now also runs a folder-layout check, and plugin loading now checks key plugin files stay within allowed folders","released_at":"2026-10-20 19:29:36","reason":"found in this entry's text"},{"version":"2.1.304","anchor":"usage-rate-limit-message-shows-hold-time","heading":"\/usage now says when you can try again after a rate limit","line":"When \/usage is rate limited, its message now shows when it can be tried again instead of saying \"try again in a moment\"","released_at":"2026-10-19 19:47:15","reason":"found in this entry's text"},{"version":"2.1.296","anchor":"warning-for-unrecognized-agent-frontmatter-keys-with-did-yo","heading":"Plugin agents now warn about misspelled and unsupported settings","line":"Plugin agent files now log a warning for settings Claude Code does not recognize, suggest the likely intended name, and flag more ignored ones","released_at":"2026-10-09 16:58:10","reason":"found in this entry's text"},{"version":"2.1.290","anchor":"worktree-registration-drop-leaves-folders-that-contain-git-f","heading":"Removing a worktree no longer deletes folders that hold git's own files","line":"When dropping a worktree, Claude Code now leaves its folder in place with a warning if it holds git's own files","released_at":"2026-10-05 18:12:44","reason":"found in this entry's text"},{"version":"2.1.280","anchor":"plugin-hooks-manifest-dedup-warning-for-hookshooksjson","heading":"Plugin hooks manifest dedup warning for hooks\/hooks.json","line":"Claude Code now warns instead of double-loading a plugin's hooks.json if it's also listed explicitly","released_at":"2026-09-22 15:44:39","reason":"found in this entry's text"},{"version":"2.1.280","anchor":"self-hosted-runner-session-scoped-git-config-for-lifecycle","heading":"Self-hosted runner: session-scoped git config for lifecycle hooks","line":"Self-hosted runner sessions now get their own git config so lifecycle hooks use separate signing and protocol rules from the main checkout","released_at":"2026-09-22 15:44:39","reason":"found in this entry's text"},{"version":"2.1.280","anchor":"duplicate-hooks-file-message-reworded","heading":"Duplicate hooks file message reworded","line":"Duplicate-hooks-file error message shortened, dropping the auto-load explanation","released_at":"2026-09-22 15:44:39","reason":"found in this entry's text"},{"version":"2.1.267","anchor":"plugin-hooksjson-now-warned-on-unknownmalformed-keys","heading":"Plugin hooks.json now warned on unknown\/malformed keys","line":"Claude Code now warns about unknown or malformed keys in a plugin's hooks.json","released_at":"2026-09-09 18:25:42","reason":"found in this entry's text"},{"version":"2.1.267","anchor":"new-safeguards-permission-context-capability","heading":"New \"safeguards\" permission-context capability","line":"Permission settings gained a new 'safeguards' flag alongside remote tools, hooks, and plugins","released_at":"2026-09-09 18:25:42","reason":"found in this entry's text"},{"version":"2.1.267","anchor":"remote-control-now-filtersstrips-forwarded-plugin-and-safeg","heading":"Remote control now filters\/strips forwarded plugin and safeguard settings per capability","line":"Remote control now strips plugin and safeguard settings from forwarded requests unless explicitly permitted","released_at":"2026-09-09 18:25:42","reason":"found in this entry's text"}],"entries_total":30,"docs":[{"source":"claude-code","path":"settings-reference","title":"All settings","documented":true},{"source":"claude-code","path":"settings","title":"Claude Code settings","documented":true},{"source":"api","path":"agents-and-tools\/agent-skills\/best-practices","title":"PDF Processing","documented":false},{"source":"api","path":"agents-and-tools\/mcp-tunnels\/reference","title":"reference","documented":false},{"source":"api","path":"agents-and-tools\/tool-use\/browser-use-sdk","title":"browser-use-sdk","documented":false},{"source":"api","path":"api\/beta","title":"Beta","documented":false},{"source":"api","path":"api\/beta\/agents","title":"Agents","documented":false},{"source":"api","path":"api\/beta\/agents\/archive","title":"Archive Agent","documented":false},{"source":"api","path":"api\/beta\/agents\/create","title":"Create Agent","documented":false},{"source":"api","path":"api\/beta\/agents\/list","title":"List Agents","documented":false}],"docs_total":14,"gates":[],"related":[],"url":"https:\/\/changelogs.core-directive.com\/reference\/setting\/hooks","family_url":"https:\/\/changelogs.core-directive.com\/reference\/setting.json"}