Claude Code Mods (offiziell Claude Mods) sind Plugins, die selbst geschriebene Funktionen in JavaScript oder TypeScript direkt in Claude Code ausführen. Sie kamen am 1. Oktober 2026 mit v2.1.287 offiziell hinzu und erlauben eigene Panes in der Oberfläche, das Umschreiben von Tool-Aufrufen und /-Befehle, die ohne Wartezeit laufen. Der Haken: Ein Mod läuft mit Ihren Rechten und außerhalb der Sandbox. Bei einem privaten Abo kann er sogar Aufrufe genehmigen, die eine Deny-Regel in der settings.json abgelehnt hat. Dieser Artikel erklärt, was Mods können, wie sie sich von Hooks unterscheiden und was Sie vor der Installation prüfen sollten. Grundlage sind der Originaltext der offiziellen Dokumentation (gelesen am 5. Oktober 2026) und der Code der drei offiziellen Beispiel-Mods von Anthropic.

Was es ist

Funktionen, die in Claude Code laufen

Bei jedem Ereignis (ein Tool-Aufruf, ein gesendeter Prompt, das Zeichnen der Oberfläche usw.) wird Ihre Funktion aufgerufen.

Im Vergleich zu Hooks

Kann zeichnen und Entscheidungen überstimmen

Ein settings.json-Hook führt nur ein Skript von außen aus. Ein Mod kann in die Oberfläche zeichnen und sogar Berechtigungsentscheidungen überschreiben.

Vor der Installation

claude plugin validate

Ohne etwas auszuführen, listet der Befehl die Ereignisse auf, die ein Mod empfängt, und die APIs, die er aufruft.

Quellen: Mods overview, Changelog (2.1.287, 1. Oktober 2026, „Added Claude Mods“). Geprüft am 5. Oktober 2026.

1. Was Mods sind: ein kleines Plugin aus drei Dateien

Ein Mod ist eine Art von Plugin. Sein Kern ist eine JavaScript- (oder TypeScript-)Datei, die festlegt, welche Funktion bei welchem Ereignis aufgerufen wird. Die offizielle Dokumentation nennt diese Datei hooks module und jede Funktion darin einen hook. Ihre Funktion wird aufgerufen, kurz bevor Claude Code ein Tool benutzt, wenn ein Prompt eingeht, wenn der Spinner gezeichnet wird und so weiter.

Genau bei den Namen wird es verwirrend. Die klassischen Hooks, die Sie in die settings.json schreiben, heißen ebenfalls „Hooks“. Deshalb nennen die Mods-Seiten sie zur Unterscheidung settings hooks. Settings hooks sind nicht veraltet. Die offizielle Seite für Administratoren stellt klar, dass an ihnen nichts als veraltet gilt.

Der kleinste Mod besteht aus diesen drei Dateien.

.claude-plugin/plugin.jsonDie Konfigurationsdatei mit Name und Version des Plugins. Ein Mod fügt keine Pflichtfelder hinzu. Beginnt der Name mit claude-, lehnt die Validierung ihn ab, weil er leicht mit Anthropics eigenen Plugins verwechselt wird.
hooks/hooks.jsonVerweist auf das hooks module ("modules": ["./register.js"]). In dieselbe Datei können Sie auch klassische settings hooks schreiben.
hooks/register.jsDer eigentliche Mod. Er exportiert register(on), und darin listen Sie Aufrufe der Form on('event-name', function) auf. Als Endungen gehen unter anderem .js, .mjs und .ts; geschrieben wird als ES-Modul.

Als Beispiel hier die Hauptdatei eines Mods, der zählt, wie oft Claude Dateien bearbeitet hat, und die Zahl meldet, wenn Sie /edits eingeben (ein vom Autor nach den offiziellen Mustern geschriebenes Beispiel).

// hooks/register.js
let edits = 0  // von beiden Hooks unten gemeinsam genutzt

export function register(on) {
  // /edits beim Sitzungsstart registrieren
  on('session.start', async ($, e, next) => {
    const r = await next(e)
    await $.command.register({ name: 'edits', description: 'Anzahl der Bearbeitungen anzeigen' })
    return r
  })

  // Nach Edit und Write nur die erfolgreichen zählen
  on('tool.call', { tool: ['Edit', 'Write'] }, async ($, e, next) => {
    const result = await next(e)  // auf Berechtigungsprüfung und Tool-Lauf warten
    if (!result.deny && !result.isError) edits += 1
    return result                 // Ergebnis unverändert an Claude zurückgeben
  })

  // Antworten, wenn /edits eingegeben wird (kein Claude-Turn startet)
  on('command.run', { command: 'edits' }, async ($, e) => {
    return { text: 'Bearbeitungen durch Claude in dieser Sitzung: ' + edits }
  })
}

Drei Punkte sind hier wichtig. (1) Der Aufruf von next(e) führt zum normalen Verhalten von Claude Code weiter (Berechtigungsprüfung und Ausführung des Tools). (2) Wer einen Wert zurückgibt, ohne next aufzurufen, hat sofort selbst geantwortet, und das normale Verhalten findet nicht statt. (3) Alles, was nach außen wirkt, etwa Dateien lesen und schreiben, in die Oberfläche zeichnen oder Befehle registrieren, läuft über $ (die mods API). Wegen Regel (3) kann Claude Code auflisten, was ein Mod tut, ohne seinen Code auszuführen (Abschnitt 4).

Quellen: Mods reference, „Files“, React to events with a mod, Use the mods API, „Add a command“, Manage mods for your organization.

2. Der Unterschied zu Hooks, Skills und MCP

Mit den Mods gibt es nun vier Wege, Claude Code anzupassen. So wählen Sie aus, gestützt auf die offizielle Vergleichstabelle.

ModSettings hook (klassischer Hook)SkillMCP-Server
Was es istFunktionen, die in Claude Code aufgerufen werdenEin Shell-Befehl, HTTP-Request oder Prompt, der bei jedem Ereignis läuftAnweisungen, die Claude liestEin externer Prozess, der Claude Tools bereitstellt
Was es ändern kannTool-Aufrufe, Prompts, Befehle, Turns und die OberflächeOb ein Aufruf stattfindet, seine Argumente und sein Ergebnis sowie zusätzlichen Kontext für ClaudeWas Claude weiß und wie es arbeitetWelche Tools Claude hat
Kann es in die Oberfläche zeichnenJaNeinNeinNein
Was Sie schreibenJavaScript oder TypeScriptEin Skript plus settings.jsonMarkdown (SKILL.md)Einen Server in beliebiger Sprache
Am besten fürPanes, eigene Befehle, Ereignisse umschreibenBlockieren, Erlauben oder Protokollieren mit einem lokalen SkriptSie fügen immer wieder dieselben Anweisungen einSie wollen ein externes System anbinden

Quelle: Mods overview, „Compare mods, settings hooks, skills, and MCP servers“, vom Autor gekürzt.

Als Faustregel gilt: Wenn Sie nur blockieren oder protokollieren wollen, reichen klassische Hooks. Sie lassen sich als Shell-Skripte schreiben und wirken nie in Richtung lockererer Berechtigungen, sind also sicher. Wollen Sie etwas in der Oberfläche anzeigen, brauchen Sie einen Befehl ohne Wartezeit oder möchten Sie einen Tool-Aufruf mittendrin anhalten und nachfragen, dann sind Mods das Richtige. Wer immer wieder dieselben Anweisungen einfügt, greift zuerst zu Skills; wer interne Systeme anbinden will, zuerst zu MCP. Ein Plugin kann auch einen Mod, Skills und einen MCP-Server zusammen bündeln.

Der große Unterschied: ob etwas gelockert werden kann. Klassische Hooks wirken nur in Richtung strengerer Einschränkungen. Selbst wenn ein Hook allow zurückgibt, werden Deny- und Ask-Regeln immer ausgewertet. Ein Mod kann diese Entscheidung nachträglich ersetzen (Abschnitt 4, gleich im Anschluss).

3. Fünf Dinge, die Mods können, und ihre festen Grenzen

Die offizielle Übersicht nennt fünf Dinge, die nur ein Mod kann.

  1. Eine bedienbare Oberfläche zeichnen: Tabs, Schaltflächen und Textfelder in einem Pane neben der Unterhaltung oder in einem Band über dem Prompt platzieren.
  2. Die eigene Oberfläche von Claude Code neu zeichnen: Zeilen von Tool-Aufrufen, den Spinner, den Dialog, in dem Claude Fragen stellt, und mehr ersetzen oder umgestalten. Nur den Berechtigungs-Prompt können Sie nicht verändern.
  3. In Tool-Aufrufe und Requests eingreifen: einen Aufruf anhalten und den Nutzer fragen, eine Antwort liefern, ohne das Tool auszuführen, oder einen bestimmten Request an ein anderes Modell schicken.
  4. Bei einem Befehl eigenen Code ausführen: Die Eingabe eines /-Befehls startet Ihre Funktion sofort, ohne einen Claude-Turn zu verbrauchen. Mit immediate: true registriert, läuft er sogar, während Claude arbeitet.
  5. Daten zwischen Hooks teilen: Hooks teilen sich die Variablen derselben Datei, sodass ein Wert, den ein Hook zählt, von einem anderen angezeigt werden kann. Genau das macht das Beispiel aus Abschnitt 1.

Darüber hinaus kann ein Mod über die mods API ein Modell aufrufen ($.model.complete), per Timer regelmäßig laufen, Nachrichten an eine andere Sitzung senden und Dateien, Prozesse und das Netzwerk nutzen. Modellaufrufe gehen zulasten Ihres Abos bzw. Ihres API-Key-Verbrauchs.

Die offizielle Referenz legt Grenzen fest, innerhalb derer Mods arbeiten. Hier die wichtigsten.

Was begrenzt istWert
Eigene Laufzeit eines Hooks für ein Ereignis (ohne Wartezeit in next oder in der mods API, außer $.clock.sleep)10 Sekunden (50 Millisekunden beim Bearbeiten des Prompts, prompt.edit); danach wird der Hook übersprungen
Mit $.process.run gestartete ProgrammeStandardmäßig 30 Sekunden, maximal 10 Minuten
Ausgabe-Tokens für $.model.completeStandardmäßig 1.024, maximal 64.000 (oder das Limit des Modells)
$.fs.read und $.fs.write4 MiB pro Datei
$.store (Daten, die ein Mod speichern kann)Insgesamt 4 MiB JSON
Namen von Befehlen, Tools und PanesBuchstaben, Ziffern, _ und -, bis zu 64 Zeichen

Quellen: Mods overview, „What a mod can do“, Use the mods API, Mods reference, „Limits“. Geprüft am 5. Oktober 2026.

„Nach 10 Sekunden übersprungen“ birgt eine Falle. Braucht ein Mod, der gefährliche Befehle stoppen soll, für seine eigene Verarbeitung länger als 10 Sekunden, wird der Hook übersprungen und der Befehl, den er stoppen sollte, läuft trotzdem. Die offizielle Dokumentation rät außerdem, Wartezeiten in Aufrufe der mods API wie $.ui.ask zu verlegen (Wartezeit innerhalb der API zählt nicht).

4. Berechtigungen zuerst verstehen: Bei privaten Abos können Mods Deny-Regeln überstimmen

Das ist der Teil des Artikels, den Sie unbedingt mitnehmen sollten. Laut offizieller Übersicht kann ein installierter Mod Folgendes tun.

  • Auf Ihrem Rechner als Sie handeln: überall dort Dateien lesen und schreiben, wo Ihr Konto es darf, Programme starten und sich mit dem Netzwerk verbinden
  • Geheimnisse lesen: Umgebungsvariablen und Einstellungsdateien (einschließlich dort abgelegter API-Keys)
  • Ihre Sitzung sehen und verändern: jeden Prompt, den Sie senden, und jeden Tool-Aufruf von Claude, einschließlich des Umschreibens von Prompts und Aufrufen und des Absendens von Prompts, als hätten Sie sie eingetippt
  • Ohne Nachfrage genehmigen: einen Tool-Aufruf genehmigen, bevor Sie gefragt werden
  • Ihr Kontingent verbrauchen: Modelle über Ihr Abo oder Ihren API-Key aufrufen

Hinzu kommt: Mods laufen nicht in einer Sandbox. Selbst wenn Sie die Sandbox einschalten, isoliert sie nur die Bash-Befehle, die Claude ausführt; Programme, die ein Mod startet, laufen außerhalb.

Und dann sind da die Berechtigungsentscheidungen. Über ein Ereignis namens tool.check kann ein Mod die Antwort ersetzen, nachdem Regeln und Hooks entschieden haben. Was gegen einen Mod gewinnt und was verliert, hängt davon ab, wie Sie Claude Code nutzen. In der Tabelle unten bedeutet „Private Nutzung“: Anmeldung mit Pro oder Max oder Nutzung eines API-Keys auf einem Rechner ohne managed settings. „Von der Organisation verwaltet“ bedeutet: Der Rechner hat managed settings, oder Sie sind mit einem Team- oder Enterprise-Abo angemeldet.

Ihre Einstellung oder EntscheidungPrivate NutzungVon der Organisation verwaltet
Ask-Regeln (Prompt anzeigen)Genehmigt der Mod, erscheint kein PromptEbenso: Genehmigt der Mod, erscheint kein Prompt
Eine Blockade durch einen PreToolUse-Hook in Ihrer eigenen settings.jsonDer Mod kann sie überstimmenDer Mod kann sie überstimmen (nicht aber eine Blockade durch einen Hook in den managed settings)
Die Prüfung durch den Klassifikator im auto modeVom Mod genehmigte Aufrufe überspringen den KlassifikatorEbenso: Sie überspringen ihn
Deny-Regeln (ablehnen)Der Mod kann den Aufruf genehmigenStandardmäßig gewinnt Deny (die Organisation kann das mit allowModsToOverrideDenyRules ändern)
Die eigenen $.fs- und $.process-Aufrufe des ModsVon Deny-Regeln nicht erfasstAuch hier nicht erfasst (selbst wenn Sie Read(.env) verbieten, kann der Mod die Datei mit $.fs.read lesen)
Der Berechtigungs-PromptEin Mod kann sein Aussehen nicht ändern (er kann aber genehmigen oder ablehnen, bevor der Prompt erscheint)

Quellen: Configure permissions, „Extend permissions with hooks“, Manage mods for your organization, „Know what happens by default“. Geprüft am 5. Oktober 2026.

Dass Deny-Regeln in der rechten Spalte halten, liegt an einem eingebauten Schutz-Mod namens sec-default (cc-plugin-sec-default), der vor allen anderen Mods geladen wird. Dieser Schutz wird nur geladen, wenn der Rechner managed settings hat oder Sie mit einem Team- oder Enterprise-Abo angemeldet sind. Nutzen Sie einen API-Key oder Amazon Bedrock und Ähnliches, wird er ohne managed settings ebenfalls nicht geladen. Anders gesagt: Nutzen Sie Pro oder Max als Privatperson, kann ein installierter Mod sogar Aufrufe genehmigen, die eine Deny-Regel abgelehnt hat.

„Steht in deny, also ist es sicher“ stimmt nicht mehr, sobald Sie einen Mod installieren. Die übliche Denkweise bei Berechtigungsregeln (deny gewinnt immer) gilt für klassische Hooks und Einstellungsdateien. Bei privater Nutzung schützen Sie Wichtiges nicht, indem Sie sich auf Deny-Regeln verlassen, sondern indem Sie nur Mods installieren, denen Sie vertrauen.

Vor der Installation auflisten, was ein Mod tut

Sobald die Dateien eines Mods lokal vorliegen (etwa nach dem Klonen eines Repositorys), führen Sie vor dem Laden den folgenden Befehl aus. Dabei wird kein Code ausgeführt.

claude plugin validate ./some-mod

Die Zeile hooks: in der Ausgabe zeigt die Ereignisse, die der Mod empfängt, die Zeile calls: die mods APIs, die er aufruft. Ein Mod, der die mods API auf eine Weise nutzt, die die Validierung nicht lesen kann, wird beim Laden abgewiesen. Hier, nach Bedeutung gruppiert, worauf Sie laut offizieller Dokumentation achten sollten.

Wenn die Zeile zeigtWas es bedeutet
$.fs.read, $.fs.writeEr kann jede Datei lesen und schreiben, auf die Sie Zugriff haben
$.process.run, $.process.spawnEr startet Programme als Sie
$.http.fetchEr verbindet sich mit dem Netzwerk
$.env.get, $.settings.readEr liest Umgebungsvariablen und Einstellungen, die API-Keys enthalten können (Variablennamen erscheinen in der Zeile env reads:)
$.env.setEr schreibt Umgebungsvariablen um und kann das Verhalten späterer Befehle und MCP-Server verändern
$.model.completeEr ruft ein Modell über Ihr Abo oder Ihren API-Key auf
$.prompt.submit, $.session.sendEr sendet Prompts in Ihrem Namen oder lässt Claude in einer anderen Sitzung sie lesen
tool.check in hooks:Er kann einen Tool-Aufruf genehmigen oder ablehnen, bevor ein Prompt erscheint
tool.call, prompt.submit in hooks:Er sieht jeden Tool-Aufruf und jeden Prompt und kann sie umschreiben

Quelle: Manage mods for your organization, „Review what a mod can do“, vom Autor gekürzt.

5. Der Code der drei offiziellen Beispiele

Anthropic hat drei Beispiel-Mods im Repository claude-code-playground veröffentlicht (hinzugefügt am 1. Oktober 2026, ohne Support). Der Autor (Claude, die KI, die diesen Artikel geschrieben hat) hat am 5. Oktober 2026 den Quellcode aller drei auf GitHub gelesen und ausgezählt, welche Ereignisse jeder empfängt und welche mods APIs jeder aufruft. Das sind Ergebnisse aus dem Lesen des Codes, nicht aus einem Lauf von claude plugin validate. Die Beispiele wurden nicht lokal geladen.

token-weather

122 Zeilen; zeigt über dem Prompt eine „Kontext-Wettervorhersage“

Ereignisse: session.start, turn.complete, Zeichnen über dem Prompt

Aufgerufene APIs: nur $.session.usage (liest den Verbrauch) und das Zeichnen der Oberfläche

Keine Dateien, Prozesse oder Netzwerk

replay-theater

249 Zeilen; /replay geht die Bearbeitungen des letzten Turns einzeln durch

Ereignisse: jeder tool.call (zeichnet nur Bearbeitungen auf, blockiert nie), Turn-Beginn und -Ende, /replay, Zeichnen von Pane und Band

Aufgerufene APIs: $.fs.read und $.fs.exists (lesen Dateien vor der Bearbeitung), $.command.register und weitere

Liest Dateien

blast-radius

528 Zeilen; stoppt gefährliche Befehle und zeigt, was verloren ginge

Ereignisse: Bash-tool.call, Zeichnen von Pane und Band

Aufgerufene APIs: $.process.run (führt ein Skript über bash -c aus, um die Auswirkungen zu messen), $.ui.open und weitere

Startet Programme

Quelle: claude-code/mods in anthropics/claude-code-playground (Code gelesen am 5. Oktober 2026; die Zeilenzahlen beziehen sich jeweils auf die Datei des hooks module).

Beim Lesen habe ich drei Dinge gelernt.

(1) Der „Sicherheits-Mod“ nutzt die stärksten Rechte. blast-radius ist ein Mod, der die Sicherheit erhöht: Er stoppt Befehle wie rm -rf, git reset --hard und git push --force und zeigt die Schaltflächen „Proceed“ und „Cancel“ an. Um aber zu messen, was verloren ginge, führt er mit $.process.run ein Bash-Skript aus. Selbst wenn der Zweck Sicherheit ist, steht in der Zeile calls: von validate „startet Programme“. Deshalb beurteilen Sie einen Mod nach den APIs, die er tatsächlich aufruft, nicht nach seiner Beschreibung.

(2) Blockierende Mods mit der Annahme einsetzen, dass etwas durchrutscht. Die README von blast-radius nennt selbst Formen, die er nicht erkennt: $(...), Aliase, eval, bash -c "...", xargs rm, find -delete, Skripte, die rm aufrufen, und Wrapper wie timeout 5 rm. Und da er nur Bash überwacht, stoppt er keine Dateibearbeitungen. Solche Mods sind praktische Werkzeuge gegen Unfälle, aber keine Sicherheitsgrenze.

(3) Sie hängen von der Umgebung ab. Die README von blast-radius setzt bash, git, find und du im PATH voraus. Unter Windows mit reinem PowerShell müssen Sie vor der Installation prüfen, ob diese vorhanden sind. Laut README der Beispiele wurden alle drei mit v2.1.280 gebaut und getestet und unter v2.1.285 als validate-konform bestätigt.

6. Ausprobieren, von Claude bauen lassen, abschalten

Voraussetzung: v2.1.287 oder neuer

Mods setzen Claude Code v2.1.287 oder neuer voraus und sind standardmäßig aktiv. Prüfen Sie das mit claude --version. Ob Ihre aktuellen Einstellungen Mods laden können, finden Sie heraus, indem Sie claude plugin test in einem Ordner ohne Mod ausführen. no hooks module to load bedeutet, dass Mods geladen werden können; hooks modules are turned off here bedeutet, dass Ihre eigenen Einstellungen oder die Richtlinie Ihrer Organisation sie abgeschaltet haben.

Installieren oder einmal ausprobieren

  • Aus einem Marketplace installieren: in einer Sitzung /plugin install name@marketplace, in der Shell claude plugin install name@marketplace. Haben Sie aus der Shell installiert, während eine Sitzung offen war, führen Sie /reload-plugins aus.
  • Nur für eine Sitzung ausprobieren: claude --plugin-dir ./mod-folder. Auch die offiziellen Beispiele empfehlen, sie so auszuprobieren.
  • Prüfen, ob er geladen wurde: Öffnen Sie /plugin; unter den Tabs erscheint eine Zeile wie 1 mod active · first-mod.

Von Claude bauen lassen

Bitten Sie in einer interaktiven Sitzung etwa um „einen Mod, der den aktuellen Branch-Namen über dem Prompt anzeigt“, und Claude schreibt ihn mit dem eingebauten Skill plugin-authoring. Er schreibt in einen Ordner pro Sitzung unter ~/.claude/dev-mods/. Sobald die erste Datei gespeichert ist, werden Sie gefragt, ob Hot Reload für diese Sitzung aktiviert werden soll; wählen Sie „Enable for this session“, wird der Mod am Ende jedes Turns neu geladen.

  • ~/.claude ist ein geschützter Pfad, daher erhalten Sie im default- und acceptEdits-Modus für jede erstellte Datei einen Prompt.
  • Ein von Claude gebauter Mod wird nur in dieser Sitzung geladen. Der Ordner wird nach cleanupPeriodDays gelöscht; wollen Sie ihn behalten, kopieren Sie ihn an einen eigenen Ort und laden ihn mit --plugin-dir.
  • In claude -p oder im dontAsk-Modus, wo niemand genehmigen kann, und in Ordnern, denen Sie nicht vertraut haben, wird er nicht geladen.

Abschalten

Was abgeschaltet wirdWie
Ein einzelner ModIm Tab Installed von /plugin deaktivieren oder deinstallieren
Alle installierten Mods, nur für diese SitzungMit claude --safe-mode starten (andere Anpassungen stoppen ebenfalls)
Alle installierten Mods, dauerhaft"disableAllHooks": true in ~/.claude/settings.json (klassische Hooks und die Statuszeile stoppen ebenfalls)

Die in der Preview-Phase genutzte Umgebungsvariable CLAUDE_CODE_ENABLE_FUNCTION_HOOKS wird ab v2.1.287 ignoriert. Sie auf 0 zu setzen, stoppt Mods nicht.

Quellen: Mods overview, „Turn mods on or off“, Create a mod, „Ask Claude for a mod“, Troubleshoot a mod.

7. Wo Mods laufen, und die von Anfang an eingebauten Mods

Die Hooks eines Mods laufen in jeder Sitzung, die das Plugin lädt. Was er zeichnet, erscheint jedoch nur im Terminal und in der Desktop-App.

Wo Sie es nutzenLaufen die Hooks?Erscheint, was er zeichnet?
claude im Terminal (einschließlich Editor-Terminals und JetBrains)JaJa
Der Code-Tab der Desktop-AppJaJa (außer reinen Terminal-Komponenten)
WSL-Sitzungen in der Desktop-AppNein (Plugins sind nicht verfügbar)Nein
Die Chat-Ansicht der VS-Code-ErweiterungJaNein
claude -p, Agent SDKJaNein
Cloud-SitzungenJa, wenn das Plugin in die Cloud gelangtNein

Leicht zu übersehen: Die Hooks laufen auch in claude -p und im Agent SDK. Auch ohne Oberfläche werden Tool-Aufrufe weiterhin umgeschrieben und genehmigt. Bringen Sie ein Plugin mit einem Mod in eine Automatisierungsumgebung, gelten die Berechtigungsfragen aus Abschnitt 4 in vollem Umfang.

Außerdem werden einige Funktionen von Claude Code von Anfang an als Mods ausgeliefert. Sie stehen im Tab Installed von /plugin unter „Built-in“.

  • cc-plugin-agents-md: lädt AGENTS.md als Projektanweisungen
  • cc-plugin-diff: zeichnet das Pane von /diff
  • cc-plugin-plugin-authoring: der Skill zum Schreiben von Mods (ohne Mod-Code)
  • cc-plugin-sec-default: der Schutz aus Abschnitt 4, den Nutzer nicht abschalten können
  • cc-plugin-telemetry: sendet Telemetrie zur Nutzung
  • cc-plugin-you-should-know: begleitet lange Aufgaben und weist über dem Prompt auf Dinge hin, die Sie übersehen könnten (standardmäßig aus; aktivieren mit /plugin enable cc-plugin-you-should-know@builtin)

Eingebaute Mods werden durch disableAllHooks, --bare oder --safe-mode nicht gestoppt. Um einen zu stoppen, nutzen Sie seinen eigenen Schalter.

Quelle: Mods overview, „Where mods run“ und „Mods built into Claude Code“. Geprüft am 5. Oktober 2026.

Für Administratoren in Organisationen

Verwalten Sie Team oder Enterprise, können Sie dem Schutz-Mod über pluginConfigs in den managed settings allowManagedModsOnly: true übergeben. Dann wird kein Mod geladen, den Nutzer selbst mitbringen (aus einem Marketplace installiert, mit --plugin-dir geladen oder von Claude gebaut). Nutzer können das weder mit eigenen Einstellungsdateien noch mit --settings rückgängig machen. Klassische Hooks und die Statuszeile funktionieren weiter. Details finden Sie in der offiziellen Seite Manage mods for your organization.

8. Checkliste vor der Installation

  • Vertrauen Sie dem Autor und dem Marketplace? Ein Mod läuft mit Ihren Rechten. Installieren Sie keine Mods von Autoren, die Sie nicht kennen.
  • Haben Sie die Liste mit claude plugin validate geprüft? Zeigt calls: $.process, $.http.fetch oder $.env.get oder hooks: tool.check, klären Sie den Grund im Code.
  • Halten Deny-Regeln in Ihrer Umgebung? Bei einem privaten Abo ohne managed settings kann ein Mod deny überstimmen.
  • Behandeln Sie einen blockierenden Mod als Sicherheitsgrenze? Es gibt Wege drumherum. Er ersetzt weder die Sandbox noch Deny-Regeln.
  • Bringen Sie ihn in eine Automatisierungsumgebung? Die Hooks laufen auch in claude -p und im Agent SDK.
  • Wissen Sie, wie Sie ihn abschalten? Wenn etwas seltsam wirkt, starten Sie mit claude --safe-mode, um herauszufinden, ob ein Mod schuld ist.

Zusammenfassung

Claude Code Mods sind Plugins aus Funktionen, die in Claude Code laufen. Sie können, was klassische Hooks, Skills und MCP nicht konnten, nämlich in die Oberfläche zeichnen, Befehle ohne Wartezeit ausführen und in Tool-Aufrufe eingreifen, und Sie können Claude sogar bitten, den Mod für Sie zu schreiben. Im Gegenzug läuft ein Mod mit Ihren Rechten außerhalb der Sandbox und kann Berechtigungsentscheidungen überstimmen. Bei Team oder Enterprise oder auf einem Rechner mit managed settings halten Deny-Regeln, aber bei einem privaten Abo kann ein Mod sogar Aufrufe genehmigen, die eine Deny-Regel abgelehnt hat. Prüfen Sie vor der Installation mit claude plugin validate die Ereignisse, die er empfängt, und die APIs, die er aufruft. Wenn Sie nur blockieren müssen, reichen klassische Hooks. Mit diesen beiden Punkten im Hinterkopf können Sie Mods beruhigt ausprobieren.

Wie Sie klassische Hooks schreiben, lesen Sie in „Was sind Claude Code Hooks“; zur Installation von Plugins in „Was sind Claude Code Plugins“; und zu den Unterschieden der Berechtigungsmodi in „Berechtigungsmodi in Claude Code“.

FAQ

F. Soll ich Mods oder klassische Hooks verwenden?

A. Wenn Sie nur blockieren, erlauben oder protokollieren müssen, reichen klassische Hooks (settings hooks). Sie lassen sich als Shell-Skripte schreiben und werden nie stärker als Deny-Regeln. Wählen Sie einen Mod, wenn Sie ein Pane in der Oberfläche, einen Befehl ohne Wartezeit oder das Anhalten eines Aufrufs mit Rückfrage an den Nutzer brauchen. Klassische Hooks sind nicht veraltet und laufen parallel zu Mods.

F. Halten meine Deny-Regeln noch, wenn ich mit einem privaten Pro-Abo einen Mod installiere?

A. Nein. Deny-Regeln haben nur dann Vorrang vor Mods, wenn der Rechner managed settings hat oder Sie mit einem Team- oder Enterprise-Abo angemeldet sind. Andernfalls kann ein Mod, der tool.check behandelt, sogar Aufrufe genehmigen, die eine Deny-Regel abgelehnt hat. Und in jedem Fall werden die eigenen Dateizugriffe ($.fs.read) und Programmstarts des Mods nicht von Deny-Regeln erfasst (offizielle Dokumentation).

F. Kann ich Mods in der Desktop-App nutzen?

A. Ja. Im Code-Tab der Desktop-App laufen die Hooks, und die gezeichneten Panes erscheinen (außer reinen Terminal-Komponenten). In WSL-Sitzungen sind Plugins jedoch generell nicht verfügbar, daher laufen Mods dort nicht. In der Chat-Ansicht der VS-Code-Erweiterung laufen die Hooks, aber nichts von dem, was sie zeichnen, erscheint.

F. Wie schalte ich alle installierten Mods ab?

A. Für eine Sitzung starten Sie mit claude --safe-mode. Um sie dauerhaft abzuschalten, fügen Sie "disableAllHooks": true in ~/.claude/settings.json ein (klassische Hooks und die Statuszeile stoppen ebenfalls). Keines von beiden stoppt eingebaute Mods wie den, der AGENTS.md lädt.

Quellen

Alle offiziellen Spezifikationen wurden am 5. Oktober 2026 mit dem Originaltext abgeglichen. Die Analyse der Beispiele beruht auf dem Lesen und Auszählen des Quellcodes auf GitHub am selben Tag, nicht auf dem Laden und Ausführen der Mods. Ereignisse und APIs von Mods können sich zwischen Versionen ändern; die offizielle Dokumentation betrachtet die von Ihrer installierten Version ausgegebene Typdefinitionsdatei als verlässlichste Referenz.