Stop Claude Code leaking your API keys

Muzzle checks each command, file write, web request and MCP call before it runs. A key going to its own service passes. The same key going anywhere else is blocked, and the agent is told why.

Download for MacFree for Claude Code

What it looks for

The email, phone number and name you enter at setup, and these keys and tokens, including base64 and URL-encoded copies:

  • Stripe
  • AWS
  • GitHub
  • Slack
  • Anthropic
  • OpenAI
  • OpenRouter
  • Google
  • Doppler
  • Supabase
  • private keys
  • JWTs
  • passwords in URLs

Keys reach their own service

A Stripe key may go to Stripe and a GitHub token to GitHub. Your own platforms, such as GitHub, Vercel and npm, are trusted, so pushes and deploys keep working.

sk_live_… → api.stripe.com
Allowed
sk_live_… → webhook.site
Block
ghp_… → api.github.com
Allowed
ghp_… → pastebin.com
Block

Where it checks

Claude CodeCommands, file writes, web fetches and searches, MCP calls
Free
Git commitsLines each commit adds
Free
CodexCommands, patches, file writes, MCP calls
Pro
Scripts your agents runThe requests they make
Pro

You decide how strict

Emails, phone numbers and keys block; a full name only warns. You can change each of them in Settings. For the first week Muzzle only watches, then shows you what it would have blocked so you can turn blocking on.

Questions

What does the agent see when Muzzle blocks?

The reason: what was found, where it was going and how to fix it, as in the examples above. You see the same entry in Muzzle's Activity.

Where do the checks run?

On your Mac. The values you protect and the keys Muzzle finds stay there.

Which agents does it work with?

Claude Code on Free. Codex and the scripts your agents run need Pro.

Put Muzzle between your agents and the internet

Download for Mac

Free · Apple Silicon · macOS 12 or later