Skills change what Claude knows. MCP servers give Claude access to other apps. A mod changes Claude Code itself: a band of your own above the prompt, a pane next to the chat, a /command that runs instantly, or a brake that holds a tool call before it runs.
Technically, a mod is a plugin with a few JavaScript functions that Claude Code calls when certain events happen. You don't have to write the code, though. You describe the mod in plain words and Claude builds it.
Mods work in the terminal from Claude Code v2.1.287 and in the Code tab of the desktop app from v2.1.286. They also run in the VS Code extension but don't show anything there (Anthropic docs).
The list comes from Anthropic's three official samples and from the mods shown in the most-watched launch videos (Nate Herk, Julian Ivanov). Each entry says what it does and how to get it.
Official samples from Anthropic (in the claude-code-playground repo):
rm -rf or a force push and shows what would be affected first, with buttons to proceed or cancel./replay and steps through the file edits from Claude's last turn one by one.From the community (not available from one central place, you build them yourself with one sentence):
/record hides emails, names and amounts in the chat while you record your screen. The full prompt is further down.For the community mods, one sentence in Claude Code is enough, for example: "Build me a mod that shows a file tree next to the chat and highlights the files you're reading or writing."
Check your version:
claude --version
If it's below 2.1.287, update Claude Code. In the desktop app, type /status in a local session in the Code tab and read the Claude Code row. Mods are on by default, you don't need to switch anything on.
Open a new Claude Code session and describe what the mod should do. A good mod prompt says three things: when it reacts (a command, every tool call, every prompt), what it does then and where you see it.
Claude uses a built-in skill called plugin-authoring for this. You can load it yourself with /plugin-authoring, but you don't have to.
Claude writes the mod into its own folder under ~/.claude/dev-mods/. Because that's a protected path, Claude Code asks before every file. That's on purpose: take a quick look at what's being created.
When the first file is saved, Claude Code asks whether to load the mods of this session. Choose Enable for this session. The mod loads as soon as Claude finishes its turn.
Then check:
/plugin and press Tab until the Installed tab is selected. Your mod is listed there, and you can turn it off.A mod Claude builds in a session only lives in that session at first, and the folder gets cleaned up automatically after a while. To keep it:
~/.claude/dev-mods/<session-id>/ to a place of your own, for example ~/mods/recording-mode.claude --plugin-dir ~/mods/recording-mode
If you want to see what a mod is allowed to do first, check it without running it:
claude plugin validate ~/mods/recording-mode
The hooks: and calls: lines show which events it reacts to and what it calls, network requests for example. The same goes for mods from other people.
I record my screen for my reels all the time. Until now that meant blurring every email address and every amount in the edit afterwards. With this mod it happens while recording.
Copy the prompt into a new Claude Code session:
Build me a mod called recording-mode.
Behavior:
- /record turns Recording Mode on, a second /record turns it off.
- While it's on, a red band above the prompt reads "REC: sensitive data hidden".
- While it's on, the mod replaces sensitive data in everything Claude Code
shows in the chat with placeholders:
- email addresses -> [email]
- phone numbers -> [phone]
- amounts with €, $ or EUR -> [amount]
- IBANs -> [IBAN]
- API keys and tokens (long strings with prefixes like sk-, ghp_, xoxb-) -> [key]
- names from the file ~/.claude/record-names.txt (one name per line) -> [name]
- The data itself stays unchanged, the mod only changes what's displayed.
Claude should keep working with the real values.
If something can't be hidden reliably, tell me which part
instead of skipping it silently. Check the mod with claude plugin validate
before you finish.
Then create ~/.claude/record-names.txt and add the names that should never show up on screen: clients, colleagues, family.
claude plugin validate first, then install.claude -p you don't see anything a mod draws. Test in the terminal or the desktop app's Code tab.Sources:
No spam, unsubscribe at any time
