How to review a Claude Code plugin before you install it

What an installed plugin can run on your machine and how to review a plugin before you install it: where the marketplace came from, the details panel, the three places to read, the inventory, auto-update and removal.

  • Claude Code
  • Plugins
  • security

Published on

Read first: the limits of this guide

Claude Code commands, panel names and defaults change between versions. This guide follows the official documentation as of November 11, 2026. The commands claude plugin --help and claude plugin marketplace list were checked on the author’s Mac, on Claude Code 2.1.319. The review walkthrough with a third-party plugin was not carried out here: the real test is yours, with a test plugin or a plugin you wrote yourself. The "plugin-exemplo" plugin in this guide is made up (its name is Portuguese for "example plugin") and does not stand for any real plugin. This guide does not accuse any plugin, author or marketplace. Reviewing reduces the risk, it does not remove it, and it does not replace your company’s security policy, if you have one.

What each thing is

  1. Plugin: a package you install in Claude Code from a marketplace. According to the documentation, an installed plugin "can execute arbitrary code on your machine with your user privileges".
  2. Marketplace: the catalog Claude Code downloads the plugin from. The marketplace name tells you who publishes the catalog, not what each plugin in it does. That is why the review applies to any marketplace.
  3. Hook: a shell command the plugin runs at points of the Claude Code cycle, such as before or after a tool call.
  4. MCP server: Claude Code connects to the MCP servers an active plugin declares. A stdio server is a process Claude Code starts on your machine.
  5. The bin/ folder: Claude Code puts the bin/ folder of each active plugin on the PATH of the Bash tool shell. Claude’s Bash commands can run any executable that sits there.
  6. Skills, commands and agents: they enter Claude’s context as instructions. They influence what Claude does with the tools it already has.
  7. Sandbox: the isolation boundary around the shell commands Claude runs. Permission rules and the sandbox cover the tool calls Claude makes, not the code the plugin runs on its own. Hooks and local MCP servers run outside the sandbox. The sandboxing page says it is off by default and that it covers shell commands only.
  8. Scope: where the installation applies. user applies to you in every project on the machine. project applies to whoever works in that repository. local applies to you, in that repository only.
  9. Auto-update: when it is on for the marketplace you installed from, Claude Code updates the plugin in the background, and the files you reviewed may change on disk.

A review in four steps

Do this before you choose the scope and install.

Step 1. Find out where the marketplace came from

In the terminal, outside Claude Code:

Command (paste into the terminal, outside Claude Code)
claude plugin marketplace list

The command shows the source of each marketplace, such as a GitHub repository or a folder. Check that the source is the one you expect.

Step 2. Open the details panel

Inside a Claude Code session:

Command (type inside a Claude Code session)
/plugin

Select the plugin. The panel shows the Will install section, with commands, agents, skills, hooks and MCP and LSP servers. For some plugins the section only carries a notice: Components will be discovered at installation (a plugin inside the marketplace) or Component summary not available for remote plugin (a plugin fetched from somewhere else). Our reading: in that case the list does not help, and steps 3 and 4 become the main ones.

To open straight into the details of a plugin you already know:

Command (type inside a Claude Code session)
/plugin install plugin-exemplo@nome-do-marketplace

In a session, that command does not install right away: it opens the panel on the plugin details so you can review it and choose the scope. In the terminal, claude plugin install installs immediately, so do not use that command to review.

Step 3. Read the three places

The Will install list shows that a hook exists, but not what it runs. In the panel, use Open homepage or View on GitHub. If the panel offers neither, open the marketplace repository you saw in step 1 and look for the plugin folder. Read:

  1. hooks/hooks.json: the command each hook runs.
  2. .mcp.json: the command or the URL of each server.
  3. bin/: every file in the folder.

These are the files the documentation tells you to read. It is not a closed list of everything a plugin can hold.

Step 4. List what the plugin contains

Clone the repository that holds the plugin folder. Then, in the terminal:

Command (paste into the terminal, outside Claude Code)
claude --plugin-dir <pasta do plugin> plugin details <nome do plugin>

According to the documentation, the command reads the plugin files without opening a session and prints a Component inventory: skills and commands, agents, hooks with the event of each one, and MCP and LSP servers. If your company blocks the --plugin-dir option, this step does not run: the documentation says an administrator can turn it off. Our recommendation, which does not come from the documentation: cloning usually only downloads the files, but do not run any script from a repository you have not read yet. The command is the same as in the Portuguese guide, where <pasta do plugin> is the plugin folder and <nome do plugin> is the plugin name.

After you install

To see the same inventory for the installed plugin, which lives in ~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/:

Command (paste into the terminal, outside Claude Code)
claude plugin details <nome do plugin>

Auto-update: what changes and how to control it

Defaults for each type of marketplace, according to the documentation:

  • claude-plugins-official and the other official names, except knowledge-work-plugins and first-party-plugins: on by default.
  • Marketplaces added by claude.ai: on by default.
  • Any other one, community, third-party or local development: off by default.

To turn it on or off, in a session: /plugin, the Marketplaces tab, choose the marketplace and select Enable auto-update or Disable auto-update.

When a plugin is updated, the open session keeps the version it already loaded. You see Plugin updated: <name> · Run /reload-plugins to apply, and the next session loads the new version. If you reviewed one version, what runs afterwards may be another. Our recommendation, which does not come from the documentation: review it again when the plugin updates.

If you stopped trusting it: how to remove

In the terminal, with the same scope as the installation:

Command (paste into the terminal, outside Claude Code)
claude plugin uninstall plugin-exemplo --scope user

The scope accepts user, project or local. Without the option, uninstall acts on the user scope. Then check what is left:

  1. Persistent data: if that was the last scope the plugin was installed in, uninstalling also deletes the plugin’s persistent data folder, unless you use --keep-data.
  2. Cached files: they stay in ~/.claude/plugins/cache/ for 14 days, until a background sweep removes them. If this uninstall left no plugin installed at all, the orphan folders stay until you install another one. To delete them sooner, remove the ~/.claude/plugins/cache/<marketplace>/<plugin>/ folder yourself.
  3. The marketplace: if you no longer trust whoever publishes it, remove the marketplace. That uninstalls every plugin you installed through it.
Command (paste into the terminal, outside Claude Code)
claude plugin marketplace remove <nome do marketplace>

What Claude Code warns about or refuses

The details panel shows a trust notice before installation, the same for any marketplace: trust the plugin before installing, updating or using it, because Anthropic does not control what is inside plugins. Claude Code also refuses to load a marketplace that uses an official or community name with a source outside github.com/anthropics/, and refuses to install a plugin from an archive source whose downloaded file does not match the sha256 pinned by the marketplace.

Summary to keep

  1. Check the source: claude plugin marketplace list.
  2. Open the panel: /plugin, and read Will install, knowing it does not show what each hook runs.
  3. Read hooks/hooks.json, .mcp.json and bin/.
  4. List the inventory: claude --plugin-dir <folder> plugin details <name>.
  5. Check whether auto-update is on for the marketplace.
  6. Stopped trusting it: claude plugin uninstall <plugin> --scope <scope>, then clear the cache.

Myth and truth

  • Myth: "a plugin is just a shortcut". Truth: skills, commands and agents come in as instructions, but hooks and local MCP servers (stdio) run code on your machine, outside the sandbox.
  • Myth: "if I read it before installing, everything is fine". Truth: with auto-update on, the files you reviewed may change.
  • Myth: "uninstalling deletes everything right away". Truth: the files stay in the cache for 14 days (and, if no plugin is left installed, until you install another one), unless you delete the folder yourself.

Sources

Claude Code documentation pages opened on November 11, 2026: Plugin security and trust, Install and manage plugins, Sandboxing and Plugin CLI reference.

Commands: claude plugin --help and claude plugin marketplace list checked on the author’s Mac on November 11, 2026, on Claude Code 2.1.319. Educational and independent content, not affiliated with Anthropic.

Guide wrap-up

You now know what an installed plugin can run on your machine and how to review a plugin before you install it, check what was installed and remove one you no longer trust.

Follow @drasdiegotech

Next guide

The Selic rate straight from the Central Bank

On the reel, comment SERIES to get the link.

Coming soon to the site.

Bookmark this guide in your browser and save the reel on Instagram so you can come back when you need it.

See other guides

This site counts visits with Vercel Web Analytics, anonymously and in aggregate, without third-party cookies. Privacy notice