claude-code-toolkit

Error / Message

Permission denied / tool call blocked

A tool call was stopped by a permission rule or hook, rather than by Claude itself deciding not to run it.

This shows up when a command falls outside what's currently allowed — a shell command not on the auto-approved list, an edit outside the project directory, or a rule enforced by a hook (like the toolkit's pre-commit lint hook blocking a commit until lint passes).

Check /permissions first to see the current rule set; if a hook is involved, the specific hook's own message usually explains what it's enforcing and why.

If the block is legitimately unwanted — a false positive on a command that's actually safe — that's the moment to adjust the specific rule, rather than loosening permissions broadly to make the friction go away.

Check /permissions, or the specific hook config, for the rule that fired

Frequently asked questions

What does "Permission denied / tool call blocked" mean in Claude Code?

A tool call was stopped by a permission rule or hook, rather than by Claude itself deciding not to run it.

How do I fix it?

Try: Check /permissions, or the specific hook config, for the rule that fired

Is this something to worry about?

If the block is legitimately unwanted — a false positive on a command that's actually safe — that's the moment to adjust the specific rule, rather than loosening permissions broadly to make the friction go away.

Is this covered in the Claude Code Toolkit?

Yes — Permission denied / tool call blocked and patterns like it are part of the full command, hook, and template pack included with a Claude Code Toolkit subscription.

Want the full command, hook, and template pack?

This is one pattern out of the full Claude Code Toolkit — subscribe for the complete set, plus everything we add going forward.

Subscribe to the toolkit — $79/mo

← See everything in Explore