Mods – Übersicht
Fügen Sie Bereiche, Befehle und Tool-Call-Regeln zu Claude Code mit einem Mod hinzu. Sehen Sie, was ein Mod kann, wie Sie einen erstellen oder installieren, und wo Mods ausgeführt werden.
Ein Mod ist ein Plugin, das ändert, wie Claude Code aussieht und sich verhält. Er besteht aus JavaScript- oder TypeScript-Event-Handlern: Claude Code ruft einen auf, wenn ein Ereignis eintritt, z. B. ein Tool-Call, eine eingereichte Eingabeaufforderung oder ein Teil der Benutzeroberfläche wird gezeichnet, und der Handler kann das Ereignis beobachten, ändern oder übernehmen. Verwenden Sie einen Mod, um Claude Code eine eigene Funktion hinzuzufügen, z. B. einen Bereich, der nach jeder Anfrage anzeigt, wie voll Ihr Kontext ist. Für die Dateien in einem Mod und ein vollständiges Beispiel siehe Wie ein Mod funktioniert.
Die vorhandenen Hooks von Claude Code werden auch bei Ereignissen ausgeführt, als Shell-Befehl, HTTP-Anfrage oder Eingabeaufforderung, die Sie in einer Einstellungsdatei konfigurieren. Die Handler eines Mods sind Funktionen, die stattdessen in Claude Code ausgeführt werden. Claude Code ruft beide Arten von Hooks auf: Auf diesen Seiten bedeutet „Hook" einen Handler eines Mods, und die Art aus der Einstellungsdatei ist ein „Settings-Hook".
Was ein Mod kann
Settings-Hooks, Skills, Statuszeilen und MCP-Server funktionieren außerhalb von Claude Code: Jeder führt ein Skript aus oder gibt Claude Text oder Tools. Ein Mod wird in Claude Code ausgeführt, daher kann er Dinge tun, die sie nicht können:
- Eine Benutzeroberfläche zeichnen, die Sie verwenden können: ein Bereich neben dem Transkript oder ein Band über der Eingabeaufforderung mit Registerkarten, Schaltflächen und Textfeldern. Siehe In der Benutzeroberfläche zeichnen.
- Claude Codes eigene Benutzeroberfläche neu zeichnen: Ersetzen oder gestalten Sie Teile neu, die Claude Code selbst zeichnet, z. B. die Zeile eines Tool-Calls, den Spinner oder den Dialog, in dem Claude Fragen stellt. Siehe Ändern Sie, was Claude Code bereits zeichnet.
- In einen Tool-Call oder eine Anfrage einsteigen: Halten Sie beispielsweise einen Tool-Call an, während Sie den Benutzer eine Frage stellen, beantworten Sie ihn, ohne das Tool auszuführen, oder senden Sie eine Anfrage an ein anderes Modell. Siehe Einen Tool-Call schützen oder ändern und Einem Zug folgen.
- Ihren eigenen Code auf einem Befehl ausführen: ein
/command, der Ihre Funktion sofort ausführt, ohne Claude-Zug, auch während Claude arbeitet. Siehe Einen Befehl oder ein Tool hinzufügen. - Daten zwischen Hooks teilen: Die Hooks eines Mods teilen die Variablen in seiner Datei, daher kann ein anderer Hook zeigen, was ein Hook aufzeichnet. Beispielsweise kann ein Hook Tool-Calls zählen, während ein anderer die Anzahl neben dem Spinner anzeigt, oder einer kann die Token-Nutzung jeder Anfrage lesen, während ein anderer sie in einem Bereich darstellt. Siehe Auf Ereignisse reagieren.
Mods funktionieren in der Claude Code CLI und auf der Registerkarte „Code" der Claude Desktop-App. Siehe Wo Mods ausgeführt werden, um zu verstehen, wie sie sich an anderen Orten verhalten, z. B. in der VS Code-Erweiterung, claude -p und Cloud-Sitzungen. Wenn ein Settings-Hook, ein Skill oder ein MCP-Server bereits das tut, was Sie benötigen, vergleichen Sie sie, bevor Sie einen Mod schreiben. Um Mods für eine Organisation zu verwalten, siehe Mods für Ihre Organisation verwalten.
Einen Mod abrufen
Sie können auf eine von drei Arten mit einem Mod beginnen:
- Verwenden Sie einen, den Sie bereits haben: Einige der eigenen Funktionen von Claude Code sind Mods, z. B.
/diff. Siehe In Claude Code integrierte Mods. - Erstellen Sie einen: Beschreiben Sie, was Sie in einer Claude Code-Sitzung möchten, und Claude schreibt den Mod. Siehe Claude um einen Mod bitten. Um zu erfahren, wie der Code eines Mods funktioniert, schreiben Sie selbst einen.
- Installieren Sie einen: siehe Einen Mod installieren oder aktualisieren
Einen Mod installieren oder aktualisieren
Ein Mod ist Code, der mit Ihren Berechtigungen ausgeführt wird. Er kann Ihre Dateien lesen und schreiben, Prozesse starten und Netzwerkanfragen stellen. Installieren Sie Mods nur von Autoren und Marktplätzen, denen Sie vertrauen. Siehe Entscheiden Sie, ob Sie einem Mod vertrauen.
Ein Mod wird als Plugin von einem Marktplatz installiert. Geben Sie den Namen des Plugins, ein @ und den Namen des Marktplatzes an. Diese Beispiele installieren ein Plugin namens token-chart von einem Marktplatz namens your-org:
- Führen Sie in einer Claude Code-Sitzung
/plugin install token-chart@your-orgaus. - Führen Sie in Ihrer Shell
claude plugin install token-chart@your-orgaus.
Plugins installieren behandelt Marktplätze, Bereiche, die VS Code-Erweiterung und die Desktop-App sowie Plugins aktuell halten, die alle auf ein Plugin angewendet werden, das einen Mod ohne Änderungen enthält.
Wenn Sie einen Mod von Ihrer Shell aus installieren oder aktualisieren, während eine Sitzung offen ist, führen Sie /reload-plugins in dieser Sitzung aus, um ihn zu laden. Andernfalls wird er beim nächsten Start von Claude Code geladen.
Entscheiden Sie, ob Sie einem Mod vertrauen
Ein Mod ist Code, der mit Ihren Berechtigungen in Claude Code ausgeführt wird. Installieren Sie Mods nur von Autoren und Marktplätzen, denen Sie vertrauen.
Was ein Mod erreichen kann
Ein Mod wird mit Ihren Berechtigungen ausgeführt, daher sollten Sie vor der Installation wissen, worauf er Zugriff hat. Nach dem Laden kann ein Mod:
- Auf Ihrem Computer als Sie handeln: Dateien überall dort lesen und schreiben, wo Ihr Benutzerkonto kann, Programme starten und Netzwerkanfragen stellen
- Ihre Geheimnisse lesen: Umgebungsvariablen und Einstellungsdateien, einschließlich eines API-Schlüssels, den Sie in einem von beiden aufbewahren
- Ihre Sitzung sehen: Jede Eingabeaufforderung, die Sie senden, und jeden Tool-Call, den Claude macht
- Ihre Sitzung ändern: Schreiben Sie eine Eingabeaufforderung oder einen Tool-Call um, reichen Sie eine Eingabeaufforderung ein, als hätten Sie sie eingegeben, oder senden Sie eine Nachricht an eine andere Ihrer Sitzungen
- Ohne Sie zu fragen handeln: Genehmigen Sie einen Tool-Call, bevor Sie gefragt werden
- Ihre Nutzung ausgeben: Rufen Sie ein Modell in Ihrem Plan oder API-Schlüssel auf
Ein Mod, der Tool-Calls genehmigt, kann einen genehmigen, für den eine ask-Regel Sie auffordert, oder den einer Ihrer eigenen PreToolUse-Hooks blockiert hat. Berechtigungen mit Hooks erweitern listet auf, was ein solcher Mod genehmigen kann, einschließlich wann er einen Anruf genehmigen kann, den eine deny-Regel ablehnt.
Ein Mod kann einen Großteil der Claude Code-Benutzeroberfläche umgestalten, aber nicht die Berechtigungsaufforderung. Es kann nicht ändern, was eine Eingabeaufforderung Ihnen zeigt.
Auflisten, was ein Mod tut, bevor Sie ihn installieren
Bevor Sie einen Mod installieren, können Sie auflisten, welche Ereignisse er verknüpft und was er Claude Code auffordert zu tun, z. B. eine Datei zu lesen oder eine Netzwerkanfrage zu stellen, ohne ihn auszuführen. Rufen Sie zuerst die Plugin-Dateien ab, z. B. durch Klonen des Repositorys. Führen Sie dann in Ihrer Shell claude plugin validate im Verzeichnis des Plugins aus:
claude plugin validate ./some-mod
Die Zeilen hooks: und calls: in der Ausgabe listen die Ereignisse auf, die der Mod verarbeitet, und was er Claude Code auffordert zu tun. Überprüfen Sie, was ein Mod tun kann zeigt die Ausgabe und welche Aufrufe zu suchen sind.
Mods aktivieren oder deaktivieren
Mods erfordern Claude Code v2.1.287 oder später, und sie sind standardmäßig aktiviert. Führen Sie in Ihrer Shell claude --version aus, um dies zu überprüfen, und aktualisieren Sie Claude Code, wenn Ihre Version älter ist.
Um Mods zu deaktivieren, wählen Sie, wie viele Sie stoppen möchten, und für wie lange. Um sie wieder zu aktivieren, machen Sie die gleiche Änderung rückgängig:
- Ein Mod: deaktivieren oder deinstallieren Sie sein Plugin auf der Installed-Registerkarte in
/plugin - Alle installierten Mods, für eine Sitzung: starten Sie Claude Code mit
--safe-mode, was auch Ihre anderen Anpassungen ausschließt - Alle Mods, die Sie installiert haben, in jeder Sitzung: setzen Sie
"disableAllHooks": truein~/.claude/settings.json. Ihre Einstellungs-Hooks und benutzerdefinierte Statuszeile werden ebenfalls beendet. Das, was Ihre Organisation verwaltet, läuft weiter.
Wenn Sie Claude Code über eine Organisation nutzen, kann ein Administrator auch einschränken, welche Mods geladen werden. Administratoren beginnen bei Stop user-installed mods from loading.
Um herauszufinden, ob Mods für Sie geladen werden können, siehe Check whether mods can load.
Wenn Sie CLAUDE_CODE_ENABLE_FUNCTION_HOOKS während des Early Access gesetzt haben, entfernen Sie es. Claude Code v2.1.287 und später ignoriert es, daher hält das Setzen auf 0 Mods nicht aus.
Sehen Sie, welche Mods eine Sitzung geladen hat
Um zu sehen, welche Mods eine Terminal-Sitzung geladen hat, führen Sie /plugin an der Claude Code-Eingabeaufforderung aus. Eine schwache Linie unter den Registerkarten gibt die Anzahl und die Namen an, z. B. 1 mod active · first-mod. Wenn ein Mod, das Sie installiert haben, dort nicht aufgeführt ist, siehe Find out why a mod does nothing.
Wie ein Mod funktioniert
Ein Mod ist ein Plugin, dessen Code Event-Handler registriert, sogenannte Hooks. Claude Code führt einen Hook aus, wenn sein Ereignis eintritt, z. B. wenn Claude ein Tool aufruft oder der Spinner gezeichnet wird. Ein kleiner Mod hat drei Dateien:
first-mod/
├── .claude-plugin/
│ └── plugin.json
└── hooks/
├── hooks.json
└── register.js
plugin.json: das Manifest des Pluginshooks.json: verweist auf Ihre Code-Dateiregister.js: Ihr Code, genannt das Hooks-Modul. Es teilt Claude Code mit, auf welche Ereignisse Ihre Funktionen ausgeführt werden sollen.
Dies ist ein vollständiges register.js. Es zählt die Tool-Calls, die Claude macht, und zeigt die Anzahl neben dem Spinner an, während Claude arbeitet, wie in Thinking · tool calls: 3….
// The count, shared by the two hooks below
let calls = 0
// Claude Code calls this once when the mod loads
export function register(on) {
// Runs each time Claude is about to use a tool
on('tool.call', async ($, e, next) => {
calls += 1
// Ask Claude Code to draw the interface again, so the new count shows
$.ui.invalidate('ui.render')
// Let the tool run as usual
return next(e)
})
// Runs each time Claude Code draws the spinner
on('ui.render', { component: 'Spinner' }, async ($, e, next) => {
// Keep Claude Code's spinner, with the count added after its word
return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })
})
}
Die Datei registriert zwei Hooks, und beide verwenden die calls-Variable oben:
- Der
tool.call-Hook wird jedes Mal ausgeführt, wenn Claude ein Tool verwenden möchte. Er addiert eins zucalls, fordert Claude Code auf, die Benutzeroberfläche erneut zu zeichnen, und lässt das Tool wie gewohnt ausführen. - Der
ui.render-Hook wird jedes Mal ausgeführt, wenn Claude Code den Spinner zeichnet. Er behält Claude Codes eigenen Spinner und fügt die Anzahl nach dem Wort hinzu.
Diese Aufzeichnung zeigt den Mod in Aktion. Beobachten Sie die Spinner-Zeile über dem Eingabefeld: Während Claude ein Verzeichnis auflistet und zwei Dateien liest, liest es Thinking · tool calls: 1…, dann 2…, dann 3….
Was ein Hook mit einem Ereignis tun kann
Claude Code führt Ihren Hook aus, bevor er auf das Ereignis reagiert, daher entscheidet der Hook, was als Nächstes passiert. Er hat drei Möglichkeiten:
- Beobachten: Notieren Sie, was passiert, und lassen Sie es unverändert fortfahren, wie der
tool.call-Hook im Beispiel - Umschreiben: Ändern Sie das Ereignis, bevor es fortfährt, wie der
ui.render-Hook, wenn er die Anzahl zum Spinner hinzufügt - Antworten: Verarbeiten Sie das Ereignis selbst, damit das übliche Verhalten nicht ausgeführt wird, z. B. einen Befehl ablehnen
Um etwas außerhalb seines eigenen Codes zu tun, z. B. zu zeichnen, einen Befehl hinzuzufügen, ein Modell aufzurufen, eine Datei zu lesen, einen Prozess zu starten oder eine Netzwerkanfrage zu stellen, ruft ein Hook die Mods-API auf. Ein Hook hat keine andere Möglichkeit, diese Dinge zu tun, weshalb Claude Code auflisten kann, was ein Mod tut, bevor Sie ihn installieren.
Für den Code hinter jeder Wahl siehe Auf Ereignisse reagieren. Für das, was ein Hook aufrufen kann, siehe Verwenden Sie die Mods-API.
Wo Mods ausgeführt werden
Die Hooks eines Mods werden in jeder Art von Sitzung ausgeführt, die das Plugin lädt. Das Zeichnen ist enger: Nur das Terminal und die Desktop-App zeigen die Bereiche, Bänder und ersetzten Zeilen eines Mods. Diese Tabelle listet jeden Ort auf, an dem Sie Claude Code ausführen könnten:
| Wo Sie Claude Code ausführen | Hooks werden ausgeführt | Was der Mod zeichnet, wird angezeigt |
|---|---|---|
claude in einem Terminal, einschließlich des integrierten Terminals eines Editors und des JetBrains-Plugins |
Ja | Ja |
| Die Registerkarte „Code" der Desktop-App, außer in einer WSL-Sitzung | Ja | Ja, außer Elementen, die die Elementtabelle als nur Terminal markiert |
| Eine WSL-Sitzung in der Desktop-App | Nein, da Plugins in WSL-Sitzungen nicht verfügbar sind | Nein |
| Das Chat-Panel der VS Code-Erweiterung | Ja | Nein |
claude -p und das Agent SDK |
Ja | Nein |
| Remote Control von claude.ai oder der mobilen App | Ja, in der Sitzung auf Ihrem Computer | Im Terminal auf Ihrem Computer |
| Eine Cloud-Sitzung | Ja, für ein Plugin, das die Cloud-Sitzung erreicht | Nein |
Ein Mod, der zeichnet, kann überprüfen, in welcher App er ausgeführt wird, und auf eine Zeile im Transkript oder eine Textantwort eines Befehls zurückgreifen, wo nichts gezeichnet wird.
Mods für Ihre Organisation steuern
Administratoren entscheiden, ob Mods ausgeführt werden und welche, durch verwaltete Einstellungen. Mods für Ihre Organisation verwalten behandelt, was standardmäßig passiert, wie man einen Mod überprüft, und wie man eine Richtlinie mit einem eigenen Mod durchsetzt.
Vergleichen Sie Mods, Settings-Hooks, Skills und MCP-Server
Mods, Settings-Hooks, Skills und MCP-Server überlappen sich. Diese Tabelle zeigt, was jeder ist und wann man ihn wählt.
| Mod | Settings-Hook | Skill | MCP-Server | |
|---|---|---|---|---|
| Was es ist | Funktionen in einem Plugin, die Claude Code in seinem eigenen Prozess aufruft | Ein Shell-Befehl, eine HTTP-Anfrage oder eine Eingabeaufforderung, die Claude Code bei einem Lebenszyklusereignis ausführt | Eine SKILL.md-Datei mit Anweisungen, die Claude liest |
Ein externer Prozess oder Service, der Claude Tools gibt |
| Was es ändern kann | Tool-Calls, Eingabeaufforderungen, Befehle, Züge und was die Benutzeroberfläche zeichnet | Ob ein Tool-Call oder eine Eingabeaufforderung fortfährt, die Argumente und das Ergebnis eines Tool-Calls und der für Claude hinzugefügte Kontext | Was Claude weiß und tut | Welche Tools Claude hat |
| Kann es in der Benutzeroberfläche zeichnen | Ja | Nein | Nein | Nein |
| Was Sie schreiben | JavaScript oder TypeScript | Ein Skript und ein settings.json-Eintrag |
Markdown | Ein Server in jeder Sprache |
| Wählen Sie es, wenn | Sie einen Bereich, ein Band über der Eingabeaufforderung, einen benutzerdefinierten Befehl oder das Umschreiben eines Ereignisses möchten | Sie ein Ereignis mit einem Skript, das Sie bereits haben, blockieren, zulassen oder protokollieren möchten | Sie die gleichen Anweisungen immer wieder in den Chat einfügen | Claude muss ein externes System erreichen |
Jeder der anderen hat seine eigene Seite: Hooks, Skills und MCP. Ein Plugin kann alle vier enthalten, daher kann ein Mod in demselben Plugin wie ein Skill und ein MCP-Server versendet werden.
In Claude Code integrierte Mods
Einige der eigenen Funktionen von Claude Code sind Mods. Um die zu sehen, die Ihre Sitzung hat, führen Sie /plugin an der Claude Code-Eingabeaufforderung aus und gehen Sie zur Registerkarte Installed, die sie unter Built-in auflistet. Sie können einen integrierten Mod nicht aktualisieren oder deinstallieren, und die letzte Spalte der Tabelle sagt, wie Sie jeden ausschalten. Die mods active-Zeile lässt integrierte Mods aus.
Diese Tabelle listet jeden Eintrag nach dem Namen auf, den /plugin anzeigt:
Name in /plugin |
Was es tut | Wo es aktiviert ist | Wie man es ausschaltet |
|---|---|---|---|
cc-plugin-agents-md |
Lädt AGENTS.md als Projektanweisungen |
Jede Sitzung, außer den Sitzungen, die AGENTS.md nicht lesen können |
Deaktivieren Sie es in /plugin, oder wählen Sie, welche Anweisungsdateien geladen werden |
cc-plugin-diff |
Übernimmt /diff und zeichnet seinen Bereich |
Interaktive Terminal-Sitzungen | Deaktivieren Sie es in /plugin. /diff bleibt, und Claude Codes integrierte Version des Befehls beantwortet ihn. |
cc-plugin-plugin-authoring |
Gibt Claude den plugin-authoring-Skill zum Schreiben von Mods. Es enthält einen Skill und keinen Mod-Code. |
Sofern Anthropic installierte Mods nicht remote ausgeschaltet hat | Deaktivieren Sie es in /plugin |
cc-plugin-sec-default |
Schützt das, was Ihre Organisation verwaltet, vor den Mods, die ein Benutzer installiert | Wo der Guard lädt | Sie können nicht. Ein Administrator setzt die Reihenfolge in verwalteten Einstellungen |
cc-plugin-telemetry |
Sendet die Analysedatensätze, die Claude Code und seine integrierten Mods protokollieren | Überall dort, wo Claude Codes eigene Analysen aktiviert sind | Deaktivieren Sie es in /plugin, oder schalten Sie Analysen aus, z. B. mit DISABLE_TELEMETRY |
cc-plugin-you-should-know |
Führt einen Seiten-Agent aus, der Ihnen den Rücken deckt, während Claude an längeren Aufgaben arbeitet. Wenn er etwas findet, das wissenswert ist und das Sie möglicherweise übersehen, zeigt er Ihnen eine Notiz über der Eingabeaufforderung. | Standardmäßig deaktiviert. Aufgelistet in /plugin -> Installed -> Show disabled, falls für Ihre Organisation verfügbar. Aktivieren Sie mit /plugin enable cc-plugin-you-should-know@builtin. |
Deaktivieren Sie es in /plugin |
Die Einstellungen und Flags, die installierte Mods stoppen, wie disableAllHooks, --bare und --safe-mode, stoppen keine integrierten Mods.
Lesen Sie die Quelle integrierter Mods
Die Quelle von vier dieser Mods ist öffentlich im mods-Verzeichnis des Claude Code-Repositorys. Jeder ist ein vollständiges Plugin mit seinem Hooks-Modul und Tests:
diff: der/diff-Bereich mit Schaltflächen, die an Tastaturaktionen gebunden sind, und das Scrollen, das der Mod selbst verarbeitetagents-md: lädtAGENTS.mdals Projektanweisungen mit eineruserConfig-Optionsec-default: der Guard, der in Wissen Sie, was standardmäßig passiert beschrieben wird, ein Modell für einen Mod, der Richtlinien durchsetzttelemetry: fügt Methoden hinzu, die andere Mods aufrufen können, und versendet ihre Typen
Nächste Schritte
- Erstellen Sie einen Mod: Erstellen Sie einen, der Tool-Calls zählt, die Anzahl neben dem Spinner anzeigt und einen Befehl hinzufügt, und lernen Sie die Bearbeitungs- und Neuladen-Schleife
- In der Benutzeroberfläche zeichnen: Bereiche, das Band über der Eingabeaufforderung, Schaltflächen, Textfelder und Status
- Auf Ereignisse reagieren: Tool-Calls, Eingabeaufforderungen, Züge und die Reihenfolge, in der Mods ausgeführt werden
- Verwenden Sie die Mods-API: Befehle, Tools, Modellaufrufe, Timer und Dateien
- Testen Sie einen Mod: automatisierte Tests, die ohne eine Sitzung ausgeführt werden
- Beheben Sie einen Mod: die Gründe, warum ein Mod nichts tut, und das Debug-Protokoll
- Mods für Ihre Organisation verwalten: Standardeinstellungen, verwaltete Einstellungen, Überprüfung eines Mods und Richtlinien-Mods
- Mods-Referenz: jedes Ereignis, jede Methode, jedes Element und jedes Limit