Is it safe to install a Claude Code plugin?

A plugin runs as you, and no sandbox stands in its way. Installing one is like running a script you found on GitHub: often fine, but read it first. This page covers what a plugin can reach and how to check one in a few minutes.

Updated

What a mod can do once it loads

  • Read and write any file your user account can, start programs and make network requests.
  • Read your environment variables and settings files, API keys included.
  • See every prompt you send and every tool call Claude makes.
  • Rewrite a prompt or a tool call, or approve a tool call before Claude Code asks you.
  • Call a model on your plan or API key.

Claude Code's sandbox only covers the Bash commands Claude runs. A process a mod starts runs outside it. Plugins with settings hooks or MCP servers run their scripts and servers with your permissions too.

How to check a plugin before you install it

  1. Look at who publishes it. Claude Code only accepts Anthropic's marketplace names, such as claude-plugins-official, from repositories under github.com/anthropics. Anything else is third-party, however official the name sounds.
  2. Ask Claude Code what it does. Clone the repository and run claude plugin validate on the plugin's folder. The hooks: and calls: lines list the events a mod handles and what it asks Claude Code to do, such as read files or go online. Nothing runs.
  3. Read the hooks module. It's usually one or two files. Search it for network calls, child processes, and paths like ~/.ssh or .env.
  4. Pin the version you read. On this site every mod page links the exact commit we checked, so you can read the same code you're about to run.
  5. Try it for one session. Load it with claude --plugin-dir before you install it for good.
Terminal
git clone https://github.com/owner/repo.git
claude plugin validate ./repo

What our check tells you

Before we list a mod, we read its code on GitHub at a pinned commit, confirm it has a manifest and a hooks module whose files exist, and note what it hooks into. We do this again every day. Nobody runs the code, so passing the check doesn't make a mod safe. How mods get checked has the details.

If a plugin misbehaves

  • Start Claude Code with claude --safe-mode to run one session with every installed mod and your other customizations off.
  • Disable or uninstall the plugin in /plugin, on the Installed tab.
  • Set "disableAllHooks": true in ~/.claude/settings.json to stop every installed mod and settings hook until you remove it.

Found a listed mod that does something it shouldn't? Tell us and we'll hide it.