Was sind Claude Code Mods? Ein Überblick
Aktualisiert
Was sind Claude Code Mods? Es sind Plugins, die dein eigenes JavaScript oder TypeScript innerhalb von Claude Code ausführen und so verändern können, wie es aussieht und sich verhält: eine Zeile über dem Prompt zeichnen, Zahlen in die Statuszeile schreiben, einen gefährlichen Shell-Befehl ablehnen oder einen Slash-Befehl hinzufügen. Mods kamen mit Claude Code 2.1.287 und sind standardmäßig aktiviert.
Diese Anleitung erklärt, woraus eine Mod besteht, worauf sie zugreifen kann und worauf nicht, wie sich Mods von Hooks in den Einstellungen, MCP-Servern und Skills unterscheiden und wie du einschätzt, ob eine Mod sicher installiert werden kann. Am Ende baust du in zwei Minuten eine funktionierende Mod.
Was ist eine Claude Code Mod?
Eine Mod ist ein ganz normales Claude-Code-Plugin mit einer zusätzlichen Datei: einem Hooks-Modul. Das Modul exportiert eine Funktion register(on, options). Wenn Claude Code das Plugin lädt, ruft es register auf, und die Mod abonniert mit on(...) Ereignisse wie „ein Tool wird gleich ausgeführt“, „ein Turn ist fertig“ oder „der Spinner wird gezeichnet“.
Jeder Handler erhält drei Argumente:
$, die Mods-API. Jede Wirkung einer Mod läuft darüber:$.ui.status,$.ui.toast,$.process.run,$.fs.read,$.command.registerund so weiter.e, das Ereignis, zum Beispiel der Bash-Befehl, der gleich ausgeführt wird.next, das das Ereignis an das eigene Verhalten von Claude Code weiterreicht.
Ein Handler kann beobachten (next(e) aufrufen und sich das Ergebnis ansehen), umschreiben (next mit einem veränderten Ereignis aufrufen) oder antworten (ein eigenes Ergebnis zurückgeben und next nie aufrufen – so lehnt ein Schutz einen Tool-Aufruf ab).
Was ein Plugin zur Mod macht, ist ein einziger Schlüssel. Enthält hooks/hooks.json den Eintrag modules, ist das Plugin eine Mod:
{
"modules": ["./register.js"]
}Mods laufen im Prozess von Claude Code mit deinen Benutzerrechten. Sie sind nicht in einer Sandbox isoliert. Der nützliche Ausgleich dafür: Jede Wirkung muss über $ laufen, daher kann Claude Code den Quelltext einer Mod lesen und genau auflisten, welche Ereignisse sie behandelt und welche API-Aufrufe sie macht, bevor du sie ausführst.
Was kann eine Mod verändern?
Die Liste der Ereignisse ist lang, aber die meisten Mods nutzen nur eine Handvoll Bereiche:
| Bereich | Ereignisse | Beispiel |
|---|---|---|
| Tools | tool.call, tool.check |
rm -rf / blockieren, bevor es ausgeführt wird |
| Turns | turn.start, turn.complete |
Ein Signalton, wenn eine lange Antwort fertig ist |
| Session | session.start, session.compact |
Einen Timer starten, nach der Komprimierung aktualisieren |
| Oberfläche | ui.render |
Text neben dem Spinner oder über dem Prompt einfügen |
| Befehle | command.run |
/tally beantworten, ohne das Modell aufzurufen |
| Prompts | prompt.submit, prompt.context |
Dem, was du sendest, Kontext hinzufügen |
Mods können außerdem Panes öffnen, Tools registrieren, die Claude aufrufen kann, Subagents ausführen, Dateien lesen und schreiben, HTTP-Anfragen stellen und Daten in einem kleinen Key-Value-Speicher ablegen. Jede dieser Fähigkeiten ist ein $-Aufruf, der bei der Validierung sichtbar wird.
Die UI von Mods wird im Terminal (einschließlich des JetBrains-Plugins) und im Code-Tab der Desktop-App gezeichnet. Im Chat-Panel der VS-Code-Erweiterung, mit claude -p und im Agent SDK laufen die Hooks weiterhin, aber es wird nichts gezeichnet. Ein Schutz bewahrt dich also auch bei Headless-Läufen, während eine Statuszeilen-Mod ihren Text dort schlicht nirgends anzeigen kann.
Mods vs. Hooks vs. MCP-Server vs. Skills
Diese vier Erweiterungspunkte ähneln sich nur dem Namen nach:
- Hooks in den Einstellungen führen an festen Punkten einen Shell-Befehl aus (vor einem Tool, nach einem Tool, beim Stoppen). Sie sind separate Prozesse, die über JSON auf stdin und stdout mit Claude Code sprechen. Sie können keine UI zeichnen und keinen laufenden Zustand halten.
- Mods laufen im selben Prozess mit einer typisierten API. Sie können alles, was ein Hook kann, und zusätzlich an Render-Stellen zeichnen, Befehle und Tools registrieren und auf Ereignisse reagieren, die Hooks nie zu sehen bekommen, etwa das Zeichnen des Spinners oder den Beginn einer Komprimierung.
- MCP-Server geben Claude über ein Protokoll neue Tools und Datenquellen. Claude entscheidet, wann es sie aufruft. Sie verändern weder die Oberfläche von Claude Code noch fangen sie dessen eingebaute Tools ab.
- Skills sind Anweisungen und Dateien, die Claude lädt, wenn eine Aufgabe dazu passt. Sie verändern, was Claude weiß, nicht was Claude Code tut.
Eine Faustregel: Wenn Claude etwas Neues wissen oder können soll, greif zu einem Skill oder einem MCP-Server. Wenn Claude Code selbst anders aussehen oder sich anders verhalten soll, schreib eine Mod.
Sind Claude Code Mods sicher?
Eine Mod kann alles, was du in einem Terminal tun kannst, also behandle ihre Installation wie die Installation jedes anderen Entwicklerwerkzeugs. Drei Gewohnheiten halten das Risiko klein:
- Lies die Ausgabe von validate.
claude plugin validate <dir>gibt für das Modul eine Zeilehooks:und eine Zeilecalls:aus. Eine Statuszeilen-Mod, die$.http.fetchoder$.fs.writeaufführt, verdient einen genaueren Blick. - Prüf die Berechtigungs-Badges. Jede Mod-Seite auf ClaudeMods übersetzt diese Aufrufe in verständliche Bezeichnungen wie „Führt Befehle aus“ oder „Fängt Tool-Aufrufe ab“, jeweils mit einem Satz dazu, warum die Mod das braucht.
- Kenne die Ausschalter.
/plugin disable <name>schaltet eine einzelne Mod ab.claude --safe-modestartet eine Session mit deaktivierten Mods."disableAllHooks": truein den Einstellungen hält sie dauerhaft aus.
Organisationen können noch weiter gehen. Administratoren können ausschließlich verwaltete Mods zulassen, das Nachladen per --plugin-dir blockieren und eine freigegebene Schutz-Mod vor allem einreihen, was Nutzer installieren. Die Details stehen in der Admin-Dokumentation zu Mods.
Welche Claude-Code-Version brauche ich?
Führ claude --version aus. Im Terminal brauchst du 2.1.287 oder neuer. Die Desktop-App bringt ihre eigene Kopie von Claude Code mit, dort funktionieren Mods ab 2.1.286. Jede Mod auf dieser Website gibt an, mit welcher Version sie zuletzt getestet wurde; zum Zeitpunkt des Schreibens ist das 2.1.291.
Eine kleine Mod bauen und in Aktion sehen
Drei Dateien genügen. Leg diese Struktur an:
hello-status/
├── .claude-plugin/
│ └── plugin.json
└── hooks/
├── hooks.json
└── register.js.claude-plugin/plugin.json:
{
"name": "hello-status",
"version": "0.1.0",
"description": "Writes a fixed message to the Claude Code status line",
"author": { "name": "Your Name" }
}hooks/hooks.json enthält den oben gezeigten Schlüssel modules, der auf ./register.js verweist. Dann folgt hooks/register.js:
export function register(on) {
on('session.start', async ($, e, next) => {
const started = await next(e)
$.ui.status('hello from my first mod')
return started
})
}Prüf die Mod, bevor du sie ausführst:
claude plugin validate ./hello-statusUnter Claude Code 2.1.291 gibt das Folgendes aus:
❯ ./register.js hooks: session.start
❯ ./register.js calls: $.ui.status
✔ Validation passedStarte jetzt eine Session, in der die Mod nur für diesen Lauf geladen ist:
claude --plugin-dir ./hello-statusDie Statuszeile zeigt deine Nachricht. Bearbeite register.js und speichere; Claude Code lädt das Modul ohne Neustart neu. Die Mod wird als hello-status@inline geladen und ist wieder weg, sobald du Claude Code beendest. Das Mods-Tutorial behandelt Tests und Veröffentlichung.
Wo finde ich Mods?
Mods werden über Plugin-Marketplaces verteilt, also Git-Repositorys oder URLs mit einer marketplace.json. ClaudeMods betreibt einen solchen Marketplace, und jede Mod im Verzeichnis hat eine eigene Seite mit Demo-Aufnahme, Installationsbefehl, ihren Optionen, dem Code, der die eigentliche Arbeit erledigt, und den Berechtigungen, die sie nutzt. Jede einzelne wird auf einem echten Claude-Code-Build validiert, getestet und aufgenommen, bevor ihre Seite online geht.
Bereit, eine hinzuzufügen? Claude Code Mods installieren erklärt jede Installationsmethode sowie Aktualisieren und Entfernen.
FAQ
- Sind Mods dasselbe wie Plugins?
- Eine Mod ist eine bestimmte Art von Plugin. Jedes Plugin, dessen hooks/hooks.json einen Schlüssel modules enthält, ist eine Mod. Sie wird mit denselben /plugin- und claude plugin-Befehlen installiert, aktualisiert und entfernt wie jedes andere Plugin.
- Brauche ich Node.js oder einen Build-Schritt, um eine Mod zu schreiben?
- Nein. Claude Code lädt Hooks-Module in .js und .ts direkt, eine Mod besteht also aus einfachen Dateien in einem Ordner. Node.js, npm und Bundler sind nicht beteiligt.
- Kann eine Mod das Modell aufrufen?
- Ja, über $.model.complete und verwandte Aufrufe. claude plugin validate listet diese Aufrufe auf, sodass du vor der Installation siehst, ob eine Mod Tokens verbraucht.
- Funktionieren Mods in claude -p und in der VS-Code-Erweiterung?
- Ihre Hooks laufen dort, ein Schutz wie ein Befehlsblocker funktioniert also weiterhin. Was sie zeichnen, wird aber nicht angezeigt, denn nur das Terminal und der Code-Tab der Desktop-App rendern die UI von Mods.
- Wie schalte ich schnell alle Mods aus?
- Starte Claude Code mit claude --safe-mode, um alle Mods für diese Session zu deaktivieren, oder setze "disableAllHooks": true in deinen Einstellungen, damit sie dauerhaft aus bleiben.
# In dieser Anleitung erwähnte Mods

Git-Branch über dem Prompt
Zeigt Git-Branch, geänderte Dateien und Ahead/Behind-Status in einer Zeile über dem Prompt von Claude Code.
- über dem Prompt
- Führt Befehle aus
- Fängt Tool-Aufrufe ab
- Verändert die Oberfläche
getestet mit v2.1.291

Kontext-Meter
Kontextfüllstand, 5-Stunden- und 7-Tage-Plannutzung und Sitzungskosten in der Statuszeile, plus Warnung vor dem Limit.
- Statuszeile
- Toast
- Verändert die Oberfläche
getestet mit v2.1.291

Gefährliche Befehle blockieren
Verweigert rm -rf /, Force-Push auf main, DROP TABLE, curl | sh und andere destruktive Bash-Befehle vor der Ausführung.
- Toast
- Fängt Tool-Aufrufe ab
- Verändert die Oberfläche
getestet mit v2.1.291

Fertig-Toast
Toast „Done in 2m 14s“ und kurzer Klang, wenn ein langer Claude-Turn endet, optional mit Desktop-Benachrichtigung.
- Toast
- Führt Befehle aus
- Verändert die Oberfläche
- Spielt Ton ab
getestet mit v2.1.291

Tool-Call-Zähler
Zählt Claudes Tool-Aufrufe pro Turn und Sitzung, zeigt sie neben dem Spinner und ergänzt /tally als Übersicht.
- Spinner
- Verlauf
- Statuszeile
- Fängt Tool-Aufrufe ab
- Verändert die Oberfläche
- Fügt Befehle/Tools hinzu
getestet mit v2.1.291