{"version":"2.1.288","anchor":"deny-rule-check-split-out-hook-module-error-for-server-tena","canonical_anchor":"deny-rule-check-split-out-hook-module-error-for-server-tena","heading":"Hooks modules are refused in shared claude-code-server processes","tier":"internal","area":"Hooks","scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288\/e\/deny-rule-check-split-out-hook-module-error-for-server-tena","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288","markdown":"### Hooks modules are refused in shared claude-code-server processes\n\nA new error says no hooks module loads in a claude-code-server tenant, because that process serves many people\n\n**Unclear.** It is not clear when the new error is shown, or whether moving the deny-rule check changed how blocked tools are handled.\n\n**What**\n\nClaude Code has a new error for one case. When it runs as a claude-code-server tenant, meaning one user's share of a server process that many people use at once, no hooks module loads there. A hook is a script or module you set up to run automatically at certain points.\n\nThe check that refuses a tool you have blocked with a deny rule was also moved into its own separate step. The message you see when that happens still reads \"Permission to use ... has been denied.\"\n\n**Why**\n\nOne person's hooks should not run inside a process that is also serving other people, and this error makes that boundary explicit.\n\n- Area: Hooks\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: org\n- Heads-up: no"}