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
- Look at who publishes it. Claude Code only accepts Anthropic's marketplace names, such as
claude-plugins-official, from repositories undergithub.com/anthropics. Anything else is third-party, however official the name sounds. - Ask Claude Code what it does. Clone the repository and run
claude plugin validateon the plugin's folder. Thehooks:andcalls:lines list the events a mod handles and what it asks Claude Code to do, such as read files or go online. Nothing runs. - Read the hooks module. It's usually one or two files. Search it for network calls, child processes, and paths like
~/.sshor.env. - 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.
- Try it for one session. Load it with
claude --plugin-dirbefore you install it for good.
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-modeto 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": truein~/.claude/settings.jsonto 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.