Guide
Install a Claude Mod
Three steps: turn function hooks on once, add the mod's marketplace, install the mod. This page is the only place that explains the first step; every mod listing links here.
What you need
- Claude Code 2.1.269 or later. Check with
claude --version. Function hooks exist from 2.1.260, but nothing draws above the prompt before 2.1.269. - An interactive terminal session. Mods that draw do nothing in
claude -p, and the desktop and mobile apps do not draw the band above the prompt yet. - For mods with boards and buttons, a terminal that reports the mouse. A click is what gives a board the keyboard.
1. Enable function hooks
Function hooks are early access and off by default. Put the switch in the env block of~/.claude/settings.json, so every session sees it. Create the file if it does not exist, or merge the env key into what is there.
{
"env": {
"CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1"
}
}To try it in one session instead, set the variable in the shell that starts Claude Code:
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 claudeOn Windows PowerShell:
$env:CLAUDE_CODE_ENABLE_FUNCTION_HOOKS = "1"; claudeThe switch loads the hooks module of every installed plugin that ships one, not only the mod you are about to install. Without it, a mod installs fine and does nothing.
2. Install the mod
Most mods publish their own repository as a plugin marketplace. Add it once, then install the mod from it. Each listing on this site shows the exact pair of commands, with a copy button.
claude plugin marketplace add <owner>/<repo>
claude plugin install <mod>@<marketplace>The marketplace name after @ comes from the repository's .claude-plugin/marketplace.json. It is often the same as the mod, and sometimes not: secret-redactor@awesome-claude-code-function-hooksis one mod inside a marketplace of several.
3. Load it
Start claude, or run /reload-plugins in an open session. Then run the mod's own command, such as /arcade or /cctop-pane, or do whatever the listing says starts it./plugin lists what is installed.
Try a mod without installing it
Clone the repository and load it for one session. Edits to the hooks module reload while the session runs.
git clone https://github.com/<owner>/<repo>
claude --plugin-dir ./<repo>Update or remove
claude plugin marketplace update <marketplace>
claude plugin update <mod>@<marketplace>
claude plugin uninstall <mod>
claude plugin marketplace remove <marketplace>Troubleshooting
- The mod's command is unknown. Function hooks are off. Check the
envblock in~/.claude/settings.json, restart Claude Code, and check the plugin is listed under/plugin. - Keys go to the prompt instead of the mod. Click the board first. Esc always hands the keyboard back to the prompt.
- Nothing happens when you click. Your terminal does not report the mouse. The mod's slash commands still work.
- The band above the prompt is small. Claude Code gives plugins about half the terminal height there. Make the terminal taller.
- A mod broke after a Claude Code update. The API is early access and changes between releases. Update the mod, and if it still fails, check its repository for an issue.
For mod authors
Inside a session with the switch on, /plugin-types writes the API's TypeScript declarations for your build, and claude plugin validate <dir> lists the events a plugin hooks and the calls it makes. The design discussion and the community feedback live inanthropics/claude-code#91870; Anthropic's three built-in mods are published as source in themods folder of the same repository.