ES · Leer en español Explore for free

Checklist · Intermediate · 10 min

Before installing plugins, skills or MCP in Claude Code

What to check before installing an editor extension, plugin, skill or MCP server in Claude Code: what it runs, where it comes from and how to remove it.

Cover: Before installing plugins, skills or MCP in Claude Code

Tested with Claude Code 2.1.316 · reviewed

See the files on GitHub Free · MIT license

What it's for

A checklist for before you install anything that extends Claude Code: the editor extension, a plugin from a marketplace, a skill copied from GitHub or an MCP server. It explains what each one can do on your machine (almost always: run code with your permissions and outside the sandbox), how to check who publishes it and which source it comes from, how to read what it brings before turning it on, how to control updates and how to remove it completely. It starts from the October 29 incident: the Cursor marketplace served versions 2.1.312 and 2.1.313 of the Claude Code extension with an SSH backdoor.

What happened on October 29 (and the lesson)

Between 2:27 and 13:35 (Pacific time) on October 29, 2026, the Cursor extension marketplace distributed tampered copies of anthropic.claude-code, versions 2.1.312 and 2.1.313, for macOS and Windows. According to Cursor's notice, those copies "were not developed by Anthropic": when loaded they sent machine data (user, system, Git email, public IP and the names of environment variables), tried to add the attacker's SSH key (svc-telemetry) to ~/.ssh/authorized_keys, open a reverse SSH tunnel and schedule themselves to start again. The Visual Studio Code Marketplace, Open VSX and the npm package didn't serve the copy, and the attacker's server is already down.

The lesson for this checklist: the name was the official one, the publisher was "anthropic" and the version number looked normal. What was compromised was the store. That's why looking at the name isn't enough: you have to look at which store it comes from, which version was installed and when, and have a plan to remove it. If you use Cursor and updated that day, follow the two-minute check in our news item:

grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "Key found" || echo "No key"

The checklist

# Review a cloned plugin before installing it (real output, Claude Code 2.1.316)
git clone https://github.com/<author>/<marketplace>.git /tmp/review && cd /tmp/review
# 1. What does it run?
cat <plugin>/hooks/hooks.json <plugin>/.mcp.json 2>/dev/null
ls -la <plugin>/bin/ 2>/dev/null && head -50 <plugin>/bin/*
# 2. Inventory without opening a session
claude --plugin-dir <plugin> plugin details <plugin>

# Output with our test plugin:
# plugin-dudoso 0.1.0
#   Source: plugin-dudoso@inline
# Component inventory
#   Skills (1)  saludo
#   Agents (0)
#   Hooks (1)  SessionStart  (harness-only — no model context cost)
#   MCP servers (1)  eco  (tool schemas resolved at runtime; not counted)
#   LSP servers (0)
# (it doesn't mention bin/herramienta: check bin/ by hand)

What you have installed and where it comes from (the repository includes it as en/inventario.sh, which only reads):

claude plugin marketplace list          # source of each marketplace
claude plugin list                      # version, scope and status of each plugin
claude mcp list                         # MCP servers and their status
code --list-extensions --show-versions | grep -i claude
cursor --list-extensions --show-versions | grep -i claude   # if you use Cursor
# Check for the Cursor case (Oct 29, 2026):
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key"

Removing a plugin completely:

claude plugin uninstall <plugin>@<marketplace> --scope user
claude plugin prune                     # dependencies installed automatically
rm -rf ~/.claude/plugins/cache/<marketplace>/<plugin>/   # if you don't want to wait 14 days
claude plugin marketplace remove <marketplace>           # if you don't trust the store either

If you're looking for what to install, start with our list of recommended skills, and before granting permissions, go through the permissions checklist.

Common mistakes

What we tested and what's pending

On this PC (Linux, Claude Code 2.1.316), with an isolated configuration: we built a test plugin with a skill, a SessionStart hook, a .mcp.json and an executable in bin/, and claude --plugin-dir … plugin details listed everything except bin/ (we repeated it on Nov 1 with revisar-plugin.sh); claude plugin marketplace list showed Anthropic's built-in directory; a repo with enableAllProjectMcpServers showed "⏸ Pending approval" in claude mcp list; we queried the public VS Code Marketplace API (verified anthropic publisher, anthropic.com domain, 29,178,849 installs, version 2.1.314) and the Open VSX one (2.1.316, verified); code --list-extensions showed anthropic.claude-code@2.1.312 installed from Microsoft. We didn't test: installing or uninstalling real plugins, auto-update, the 14-day deletion or VS Code's extensions.autoUpdate setting; those points come from the official docs.

FAQ

Is a plugin from Anthropic's official marketplace safe?

It's the most trusted option, but Claude Code's own warning is the same for all of them: Anthropic doesn't control which MCP servers, files or other software plugins include and can't verify that they work as described or that they won't change. The marketplace tier tells you who maintains the catalog; review what it installs anyway.

Does the sandbox protect me from a malicious plugin?

No. According to the docs, Claude Code runs plugin hooks, monitors, MCP and LSP servers and the processes a mod starts outside the sandbox, with all your permissions. The sandbox and permission rules only cover the tool calls Claude makes, such as one of the plugin's MCP tools or an executable in its bin/.

Was I affected by the tampered extension if I use VS Code?

According to Cursor and Anthropic, no: only the Cursor marketplace served it, on October 29, for macOS and Windows. The VS Code Marketplace, Open VSX and the npm package weren't affected. The check is to search for svc-telemetry in ~/.ssh/authorized_keys; the steps are in our Oct 30 news item.

Are skills less dangerous than plugins?

A skill on its own is instructions, with no hooks or processes of its own, but it can include scripts Claude runs and an allowed-tools that approves tools without asking during its turn. In a skill from a cloned repo, that allowed-tools applies even if you haven't trusted the folder. Read it all the way through, like you'd read a script.

How do I see how much context a plugin uses?

claude plugin details <name> shows the estimated token cost it adds to every session and the cost of each component when used. In /plugin, the ones you don't use show up under "Not used recently": disable or uninstall them.

The whole library