The official label applies to the directory, not every plugin
Anthropic manages Claude Plugins Official as the discovery and installation directory for Claude Code. The repository separates internal plugins under /plugins from partner and community entries under /external_plugins. A standard plugin can include metadata, slash commands, agent definitions, skills, an MCP configuration, or several of those parts. Users install an entry by name from Claude Code or browse the Discover screen.
The README immediately narrows what “official” means. Anthropic says it does not control the MCP servers, files, or other software bundled with plugins and cannot verify that they will work as intended or remain unchanged. External submissions must meet directory quality and security standards, but inclusion is not an ongoing guarantee about every dependency or side effect. That warning should appear in every team's installation policy.
Plugin names stay fixed while their contents can change
Marketplace names are immutable because Claude Code records the slug in installed configurations. A display label can change separately. When a true rename is unavoidable, the top-level marketplace file has a renames map that lets the loader migrate old names. This is sound package-management behavior because a cosmetic edit cannot silently break an installed plugin.
Skill bundles can also enter without a normal plugin manifest. An entry may point to selected SKILL.md directories inside another Git repository, pinning a source path, ref, and commit SHA while using non-strict mode. The skill names are then namespaced under the plugin. That flexibility makes the directory useful for existing skill repositories, but it also means reviewers must follow the source reference instead of assuming all code lives here.
There is no repository-wide runtime. One entry may be instructions only, while another launches Python, Node, Bun, a language server, or an external MCP process. Some connect to business systems and need account credentials. Others add hooks that run during a Claude Code session. The installation command is consistent; the operational boundary is not.
What happened when we ran it
Our sandbox cloned commit 340e33a and measured external_plugins/discord, not every marketplace entry. Bun installed 130 packages in 46 seconds, and those dependencies occupied 52 MB. The unprivileged container had 3 CPUs, 8 GB of RAM, and no secrets. The entire checkout was 5.8 MB across 456 files and roughly 23,377 source lines.
The measured plugin exposed no build script or target, so the build stage was skipped. It also exposed no test script or target, and we skipped tests rather than substituting another command. The repository has 9 CI workflow files, no Dockerfile, and no tests directory according to the lab signals. These results describe the Discord subdirectory at that commit, not the health of every plugin referenced by the marketplace.
The Discord bridge can act inside a real account
The plugin connects a Discord bot to Claude Code through MCP. Incoming messages reach the assistant, which receives tools to reply, add reactions, edit its own messages, fetch up to 100 recent messages, and download attachments. Replies can include as many as 10 files, each up to 25 MB. Attachments are not downloaded automatically; the assistant must request them, and downloads land under the user's Claude channels directory.
Setup requires Bun and a Discord application. The bot needs Message Content Intent or incoming message bodies are empty. A server invitation is required even for a DM-oriented bot because Discord users cannot message a bot unless they share a server. The quick setup grants channel, message, thread, history, attachment, and reaction permissions so guild use works later. A strictly DM-only deployment can grant less.
The token is written to ~/.claude/channels/discord/.env unless it is provided through the shell. Claude Code must then restart with the plugin channel flag. The default policy is pairing: an unknown user receives a code, and the operator approves that code inside Claude. The documentation tells users to switch to allowlist mode afterward so strangers stop receiving pairing responses. Guild channels are separately opt-in by numeric ID.
This is a useful remote channel and a serious permission surface. The bot can carry messages and files between Discord and an agent running on a developer machine. Use a dedicated Discord application, minimize bot permissions, restrict channel IDs, protect the state directory, and review what filesystem or shell tools the receiving Claude session can use. Pairing controls identity; it does not sandbox the agent.
Current activity does not remove plugin-specific defects
The repository was pushed on August 25, 2026. GitHub showed 1,007 open issues and pull requests, with same-day submissions for new plugins, source-reference bumps, and fixes to Anthropic-maintained entries. That count is a busy review and maintenance queue, not 1,007 confirmed bugs. There is no latest GitHub release, so last-push and issue activity are more informative than a nonexistent tag.
Concrete platform defects remain. Open issue 4842 says the Pyright LSP plugin appears installed but cannot spawn the npm .cmd shim on Windows. Issue 1693 reports the same command-resolution class for the TypeScript language server. Another issue says the skill-creator evaluation script inherits an operator's MCP servers, causing its 30-second query timeout to measure unrelated startup work. These reports concern specific entries, which is exactly why directory-wide trust is too coarse.
Build an allowlist from the directory
Claude Plugins Official is the right first catalog for Claude Code users because installation, naming, and discovery follow the host's native system. Its source separation and blunt trust warning are helpful. The safe workflow is still entry-by-entry: inspect ownership, source pins, executable commands, MCP endpoints, credentials, hooks, and update behavior before installation.
Small teams can do that manually. Larger organizations should mirror approved entries into a private marketplace and pin the revisions they tested. Use the public directory to find candidates, not to delegate the approval decision. That policy keeps the convenience of /plugin install while treating a Discord bridge, an LSP wrapper, and a text-only skill as the different risks they are.

