Ein Claude Code Mod ist ein Plugin, das Claude Code selbst verändert: JavaScript- oder TypeScript-Funktionen, die innerhalb von Claude Code laufen, wenn etwas passiert, etwa ein Werkzeugaufruf, ein abgeschickter Prompt oder das Zeichnen der Oberfläche. Damit kann ein Mod eigene Bereiche neben dem Verlauf zeichnen, eigene Befehle anlegen, Werkzeugaufrufe anhalten, umschreiben oder selbst beantworten und Freigaben erteilen. Mods gibt es seit Version 2.1.287 vom 1. Oktober 2026, du installierst sie wie jedes Plugin mit /plugin install oder lässt Claude einen schreiben. Der wichtigste Punkt ist die Sicherheit: Mods laufen ohne Sandbox mit deinen Rechten. Ohne verwaltete Einstellungen oder eine Team- oder Enterprise-Anmeldung kann ein Mod sogar Deny-Regeln und blockierende Hooks überstimmen. Admins steuern Mods über verwaltete Einstellungen.
Ich arbeite täglich mit Claude Code und betreibe damit meine Belegschaft aus vierzehn KI-Mitarbeitern. Einen eigenen Mod habe ich bis heute weder gebaut noch getestet. Alles hier stammt aus der Dokumentation und der Ankündigung von Anthropic, abgerufen am 26.10.2026, und die Beispiele sind Anthropics Beispiele, nicht meine. Alles zu Claude sammle ich auf der Seite Claude.
Was ein Claude Code Mod ist, und was nicht
Anthropic beschreibt einen Mod so: „A mod is a plugin that changes how Claude Code looks and behaves.“ Technisch ist ein Mod ein Plugin mit einem sogenannten Hooks-Modul, einer JavaScript- oder TypeScript-Datei. Claude Code ruft deren Funktionen auf, wenn ein Ereignis eintritt, und die Funktion kann das Ereignis beobachten, verändern oder selbst übernehmen.
Das Wort „Hook“ ist dabei doppelt belegt. Die bekannten Hooks aus der settings.json, die Shell-Befehle an festen Punkten ausführen, nennt die Mod-Doku jetzt „settings hooks“; „Hook“ heißt dort die Funktion eines Mods. Die Abgrenzung zu den anderen Bausteinen aus Anthropics Vergleichstabelle:
Ein Plugin ist das Paket, das all das enthalten kann; ein Mod kann also im selben Plugin liegen wie ein Skill und ein MCP-Server. Wie Plugins aufgebaut sind und wie du sie installierst, steht in Claude Code Plugins: installieren und bauen. Zwei Verwechslungen solltest du vermeiden: Die VS-Code-Erweiterung und das JetBrains-Plugin sind laut Doku keine Claude-Code-Plugins. Und die Statusleiste, die du in den Einstellungen per Skript einrichtest, ist kein Mod; ein Mod kann zusätzlich eine eigene Statuszeile unter dem Prompt setzen.
Was ein Mod kann
Weil ein Mod in Claude Code selbst läuft, kann er laut Doku Dinge, die Settings-Hooks, Skills und MCP-Server nicht können:
- Eigene Oberfläche zeichnen: einen Bereich neben dem Verlauf oder ein Band über dem Prompt, mit Reitern, Schaltflächen und Eingabefeldern.
- Claude Codes eigene Oberfläche umgestalten: etwa die Zeile eines Werkzeugaufrufs, die Ladeanzeige oder den Dialog, in dem Claude Fragen stellt. Den Freigabedialog kann ein Mod nicht verändern.
- In Werkzeugaufrufe und Anfragen eingreifen: einen Aufruf anhalten und dich fragen, ihn beantworten, ohne dass das Werkzeug läuft, oder eine einzelne Anfrage an ein anderes Modell schicken.
- Eigene Befehle anlegen: ein
/befehl, der sofort deine Funktion ausführt, ohne einen Durchgang von Claude, auch während Claude arbeitet.
- Daten zwischen Funktionen teilen: Was eine Funktion zählt, kann eine andere anzeigen, etwa die Zahl der Werkzeugaufrufe neben der Ladeanzeige.
Dazu kommt eine Schnittstelle, die Anthropic Mods-API nennt. Über sie liest und schreibt ein Mod Dateien, startet Programme, macht Netzanfragen, liest Umgebungsvariablen und Einstellungen und ruft selbst ein Modell auf. Diese Modellaufrufe laufen laut Doku über die Zugangsdaten der Sitzung, sie gehen also auf deinen Plan, deinen API-Schlüssel oder deinen Cloud-Anbieter. Für jede Funktion gelten Grenzen, etwa 10 Sekunden Laufzeit je Ereignis.
Mods laufen im Terminal, auch im JetBrains-Plugin, im Code-Tab der Desktop-App und im Chat-Bereich der VS-Code-Erweiterung; zeichnen kann ein Mod dort ab Version 2.1.299 der Erweiterung, auf Amazon Bedrock ab 2.1.304. In claude -p, im Agent SDK und in Cloud-Sitzungen laufen ihre Funktionen, gezeichnet wird dort aber nichts. In WSL-Sitzungen der Desktop-App laufen sie gar nicht.
Beispiele von Anthropic
Alle Beispiele in diesem Abschnitt stammen von Anthropic. Ich habe keines davon selbst ausgeführt.
Das Beispiel aus der Doku. Ein kleiner Mod besteht aus drei Dateien: .claude-plugin/plugin.json, hooks/hooks.json und hooks/register.js. Das Beispiel aus der Übersichtsseite zählt die Werkzeugaufrufe und zeigt die Zahl neben der Ladeanzeige an, etwa „Thinking · tool calls: 3…“. Die Kommentare habe ich übersetzt, der Code ist unverändert:
// Der Zähler, den sich die beiden Funktionen unten teilen
let calls = 0
// Claude Code ruft das einmal auf, wenn der Mod lädt
export function register(on) {
// Läuft jedes Mal, bevor Claude ein Werkzeug benutzt
on('tool.call', async ($, e, next) => {
calls += 1
// Claude Code bitten, die Oberfläche neu zu zeichnen
$.ui.invalidate('ui.render')
// Das Werkzeug wie gewohnt laufen lassen
return next(e)
})
// Läuft jedes Mal, wenn Claude Code die Ladeanzeige zeichnet
on('ui.render', { component: 'Spinner' }, async ($, e, next) => {
// Die Ladeanzeige behalten und die Zahl anhängen
return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })
})
}
Die erste Funktion beobachtet jeden Werkzeugaufruf und lässt ihn mit next(e) unverändert durch. Die zweite schreibt ein Ereignis um, bevor Claude Code es zeichnet. Eine dritte Möglichkeit nennt die Doku „Answer“: Die Funktion übernimmt das Ereignis selbst, dann läuft das normale Verhalten nicht.
Eingebaute Mods. Teile von Claude Code sind inzwischen selbst Mods. Die Doku nennt sechs:
Den Quelltext von diff, agents-md, sec-default und telemetry veröffentlicht Anthropic im Repository von Claude Code. Was es mit AGENTS.md auf sich hat, steht in CLAUDE.md vs AGENTS.md: was überlebt.
Beispiel-Mods zum Ausprobieren. Im Repository anthropics/claude-code-playground liegen drei vollständige Mods, laut Anthropic „as they are, without support“:
token-weather zeichnet über dem Prompt eine Vorhersage, wie voll dein Kontextfenster wird.
blast-radius hält riskante Shell-Befehle wie rm -rf, git reset --hard, einen Force-Push oder eine Migration an, zeigt, was sie ändern würden, und bietet Weiter und Abbrechen an.
replay-theater legt den Befehl /replay an, mit dem du die Dateiänderungen aus Claudes letztem Durchgang einzeln durchgehst.
Ideen aus der Ankündigung für Teams. Anthropic nennt drei Einsätze: eine Anzeige des CI/CD-Status neben dem Gespräch, eine Bestätigung, bevor ein Befehl die Produktionskonfiguration anfasst, und ein Prüfprotokoll, bei dem ein zuerst geladener Mod jeden Aufruf aller anderen Mods festhält.
Einen Mod installieren, prüfen und abschalten
Ein Mod wird installiert wie jedes Plugin, aus einem Marketplace: in einer Sitzung mit /plugin install <name>@<marketplace>, in der Shell mit claude plugin install <name>@<marketplace>. Für eine einzelne Sitzung lädst du einen Mod-Ordner mit claude --plugin-dir ./ordner, ohne ihn zu installieren. Im Terminal brauchst du Version 2.1.287 oder neuer, die Desktop-App ab 2.1.286; Mods sind standardmäßig an.
Vor der Installation solltest du nachsehen, was ein Mod tut. Dafür reicht der Befehl, den du schon von Plugins kennst:
claude plugin validate ./ein-mod
Die Ausgabe enthält laut Doku zwei Zeilen, die zählen. hooks: listet, auf welche Ereignisse der Mod reagiert, calls:, was er bei Claude Code anfragt. Aufpassen solltest du laut Admin-Doku vor allem bei $.fs.read und $.fs.write (Dateien überall lesen und schreiben, wo du darfst), $.process.run (Programme als du starten), $.http.fetch (Netzanfragen), $.env.get und $.settings.read (Umgebungsvariablen und Einstellungen, in denen Schlüssel stehen können) und $.model.complete (Modellaufrufe auf deine Kosten). Steht tool.check in den Hooks, kann der Mod Werkzeugaufrufe freigeben oder ablehnen, bevor du gefragt wirst.
Welche Mods eine Sitzung geladen hat, zeigt /plugin in einer grauen Zeile wie 1 mod active · first-mod. Abschalten geht in drei Stufen: einen Mod im Reiter „Installed“ von /plugin deaktivieren, alle installierten Mods für eine Sitzung mit claude --safe-mode, oder alle installierten Mods in jeder Sitzung mit "disableAllHooks": true in der ~/.claude/settings.json. Die letzte Variante stoppt auch deine Settings-Hooks und deine Statusleiste; was deine Organisation verwaltet, läuft weiter. Eingebaute Mods bleiben bei allen drei Wegen an, sie haben jeweils einen eigenen Schalter.
Einen Mod von Claude schreiben lassen
Den einfachsten Weg beschreibt die Doku so: In einer interaktiven Sitzung sagst du in eigenen Worten, was der Mod tun soll, etwa „make a mod that shows the current git branch above the prompt“. Claude nutzt dafür den eingebauten Skill plugin-authoring und schreibt den Mod in einen Ordner unter ~/.claude/dev-mods/, gefolgt von der Sitzungs-ID. In den Modi default und acceptEdits fragt Claude Code für jede Datei nach, weil dieser Ordner geschützt ist.
Beim ersten Speichern fragt Claude Code, ob es für diese Sitzung neu laden soll. Stimmst du zu, lädt der Mod am Ende des Durchgangs und nach jeder Änderung neu. Ein so geschriebener Mod gilt nur in dieser Sitzung; willst du ihn behalten, kopierst du den Ordner an einen eigenen Ort und lädst ihn mit --plugin-dir oder legst ihn in einen Marketplace. In drei Fällen lädt ein von Claude geschriebener Mod laut Doku nicht: wenn niemand zustimmen kann, etwa bei claude -p oder im Modus dontAsk, wenn du dem Ordner nicht vertraut hast, und wenn Mods abgeschaltet oder von deiner Organisation gesperrt sind.
Wer den Code selbst schreiben will, findet in der Doku eine Anleitung für einen Mod, der Werkzeugaufrufe zählt und einen Befehl /tally anlegt. Node.js oder einen Build-Schritt brauchst du dafür laut Anthropic nicht, Claude Code lädt .js- und .ts-Dateien direkt.
Sicherheit: warum eine Deny-Regel mit Mods nicht mehr immer gewinnt
Anthropic sagt es in der Ankündigung selbst: Mods „aren't sandboxed“, und du sollst sie nur aus Quellen installieren, denen du vertraust. Laut Doku kann ein geladener Mod als du auf deinem Rechner handeln, deine Schlüssel in Umgebungsvariablen und Einstellungen lesen, jeden Prompt und jeden Werkzeugaufruf sehen und umschreiben, einen Aufruf freigeben, bevor du gefragt wirst, und Nutzung auf deinem Plan verbrauchen. Ist die Sandbox an, umschließt sie nur Claudes Bash-Befehle; ein Prozess, den ein Mod startet, läuft außerhalb.
Ob deine Regeln gegenüber einem Mod halten, entscheidet ein eingebauter Schutz-Mod namens sec-default. Er lädt nur, wenn der Rechner verwaltete Einstellungen hat oder die Sitzung mit einer Team- oder Enterprise-Anmeldung per /login läuft. Daraus folgen fünf Punkte:
- Ohne Schutz kann ein Mod Deny-Regeln und Hook-Blocks überstimmen. Wörtlich: „With neither managed settings nor a Team or Enterprise
/login as the session's credential, the mod can approve a call that a deny rule refuses or a PreToolUse hook blocked.“ Das gilt für Pro und Max ohne verwaltete Einstellungen, für API-Schlüssel und für Bedrock, Google Cloud und Microsoft Foundry ohne verwaltete Einstellungen. Eine Sitzung mit einem langlebigen CLAUDE_CODE_OAUTH_TOKEN zählt ebenfalls nicht als Team- oder Enterprise-Anmeldung.
- Auch mit Schutz gelten deine Regeln nur für Claudes Werkzeugaufrufe. „With
Read(.env) denied, a mod can still read that file with $.fs.read or start a program that does.“ Eine Deny-Regel für WebFetch oder CLAUDE_CODE_DISABLE_WEB_FETCH stoppt die Netzanfragen eines Mods nicht. Erst wenn die Richtlinie deiner Organisation WebFetch gar nicht erlaubt, verweigert Claude Code auch jede $.http.fetch-Anfrage eines Mods. Programme, die ein Mod mit $.process.run startet, erfasst kein Netzschalter.
- Im Modus
auto entfällt das Prüfmodell. Einen Aufruf, den ein Mod freigibt, prüft das Prüfmodell laut Doku nicht, auch mit Schutz. Ausnahme: Die Sitzung läuft mit --permission-prompt-tool oder einem canUseTool-Callback des Agent SDK. Da auto seit Version 2.1.283 der Startmodus im Terminal und in VS Code ist, betrifft das jede solche Sitzung, in der du keinen anderen Modus wählst.
- Ein Schutz-Mod der Organisation ist keine harte Grenze. „A session can run without your mod.“ Stürzt der Thread, in dem die installierten Mods laufen, dreimal ab, entlädt Claude Code alle nicht eingebauten Mods, und mit
--safe-mode startet eine Sitzung ohne installierte Mods, auch ohne die der Organisation.
- Der Vorrang lässt sich abschalten. Mit der Option
allowModsToOverrideDenyRules darf ein Mod der Nutzer auch Aufrufe freigeben, die eine Deny-Regel verweigert. Das ist eine bewusste Entscheidung des Admins, kein Standard.
Mit Schutz bleiben außerdem Ask-Regeln und blockierende PreToolUse-Hooks in Kraft, und ein Mod der Nutzer kann nicht ändern, was verwaltete Hooks bekommen oder entscheiden, und auch nicht den Systemprompt, verwaltete Anweisungen oder die Werkzeuge verwalteter MCP-Server. Wie Deny-Regeln, Sandbox und Hooks zusammenspielen, steht in Claude Code Sicherheit: Rechte und Sandbox, und wie Settings-Hooks im Detail funktionieren, steht in meinem Beitrag zu Hooks.
Mods im Team: was Admins einstellen
Für Organisationen beschreibt Anthropic eine eigene Admin-Seite. Verwaltete Einstellungen kommen als Datei, per Geräteverwaltung oder aus der Admin-Konsole von claude.ai. Die wichtigsten Schalter:
So sieht die kleinste Fassung aus, mit der kein Mod der Nutzer mehr seine Funktionen ausführt:
{
"pluginConfigs": {
"cc-plugin-sec-default@builtin": {
"options": {
"allowManagedModsOnly": true
}
}
}
}
Nutzer können das laut Doku nicht aufheben: Der Schutz liest die Option nur aus den verwalteten Einstellungen. Ihre Settings-Hooks, Statusleisten und /goal arbeiten weiter. disableSideloadFlags verbietet zusätzlich --plugin-dir und --plugin-url beim Start und lädt keine Mods, die Claude in einer Sitzung schreibt. Wie du eine eigene Statusleiste einrichtest, steht in Claude Code Statusline einrichten: Beispiele.
Ein eigener Mod der Organisation zählt nur als solcher, wenn er aus einem Verzeichnis auf dem Rechner geladen wird, das die verwalteten Einstellungen mit absolutem Pfad nennen. Ein Plugin aus GitHub, Git, einer URL oder npm zählt immer als Mod eines Nutzers. Anthropics Admin-Doku zeigt einen Beispiel-Mod, der fremde Mods ablehnt, wenn ihr Code Programme starten will, und jeden Werkzeugaufruf ins Debug-Protokoll schreibt. Was Team und Enterprise sonst unterscheidet, steht in Claude Enterprise oder Team: Kosten, DSGVO. Was das für eine Branche mit Berufsgeheimnis bedeutet, habe ich in Claude Code Mods in der Steuerberatung aufgeschrieben.
Brauchst du einen Mod?
Meistens nicht. Anthropic rät selbst, vorher zu prüfen, ob ein Settings-Hook, ein Skill oder ein MCP-Server reicht. Die Faustregel aus der Doku, in meinen Worten:
- Settings-Hook, wenn du ein Ereignis mit einem Skript blockieren, erlauben oder protokollieren willst. Beispiele stehen in meinem Beitrag zu Hooks.
- Skill, wenn du immer wieder dieselben Anweisungen in den Chat kopierst. Wie Skills und Subagents zusammenspielen, steht in Claude Subagents, Skills und Agents.
- MCP-Server, wenn Claude ein externes System erreichen soll, siehe Claude MCP Server einrichten.
- Mod, wenn du einen eigenen Bereich, ein Band über dem Prompt, einen sofort laufenden Befehl brauchst oder ein Ereignis umschreiben willst.
Je mehr ein Baustein darf, desto mehr musst du ihm vertrauen. Ein Mod darf am meisten.
Häufige Fragen
Was ist ein Claude Code Mod?
Ein Plugin mit JavaScript- oder TypeScript-Funktionen, die in Claude Code selbst laufen. Ein Mod kann eigene Bereiche zeichnen, Befehle anlegen, Werkzeugaufrufe und Prompts umschreiben und Freigaben erteilen. Mods gibt es seit Version 2.1.287 vom 1. Oktober 2026.
Was ist der Unterschied zwischen einem Mod und einem Hook?
Ein Settings-Hook ist ein Shell-Befehl, ein HTTP-Aufruf oder ein Prompt aus der settings.json, den Claude Code bei einem Ereignis ausführt. Ein Mod läuft als Code in Claude Code selbst und kann deshalb mehr, etwa die Oberfläche verändern. In der Mod-Doku heißen die Funktionen eines Mods ebenfalls Hooks; die aus den Einstellungen heißen dort „settings hooks“.
Sind Claude Code Mods sicher?
Nicht von sich aus. Mods laufen ohne Sandbox mit deinen Rechten, sehen jeden Prompt und können Schlüssel aus Umgebungsvariablen lesen. Ohne verwaltete Einstellungen oder Team- bzw. Enterprise-Anmeldung können sie sogar Deny-Regeln überstimmen. Prüfe einen Mod vorher mit claude plugin validate und installiere nur aus Quellen, denen du vertraust.
Wie schalte ich alle Mods ab?
Für eine Sitzung mit claude --safe-mode, dauerhaft mit "disableAllHooks": true in der ~/.claude/settings.json. Beides betrifft die installierten Mods; die zweite Variante stoppt auch deine Settings-Hooks und deine Statusleiste, was deine Organisation verwaltet, läuft weiter. Eingebaute Mods wie die AGENTS.md-Unterstützung schaltest du einzeln in /plugin ab.
Wo finde ich Beispiele für Claude Code Mods?
In Anthropics Doku, im Repository anthropics/claude-code-playground mit token-weather, blast-radius und replay-theater und im Quelltext der eingebauten Mods im Repository von Claude Code. Anthropic stellt die Beispiel-Mods ohne Support bereit.
Können Mods in claude -p laufen?
Ja, ihre Funktionen laufen laut Doku auch in claude -p, im Agent SDK und in Cloud-Sitzungen, gezeichnet wird dort aber nichts. Ein Mod, den Claude in einer Sitzung schreibt, lädt in claude -p nicht, weil niemand zustimmen kann.
Wie du weitermachst
Bevor du einen Mod installierst, sieh nach, wer bei dir den Schutz lädt: Arbeitest du mit Pro, Max oder einem API-Schlüssel ohne verwaltete Einstellungen, gelten deine Deny-Regeln gegenüber einem Mod nicht. Dann lies den Mod mit claude plugin validate, lade ihn erst mit --plugin-dir für eine Sitzung und behalte --safe-mode als Notausgang. Laut Doku zählt als verwaltete Einstellungen auch eine Datei managed-settings.json im Systemordner, unter macOS /Library/Application Support/ClaudeCode/, unter Linux /etc/claude-code/, und mit ihr lädt der Schutz auch ohne Team- oder Enterprise-Anmeldung. Ausprobiert habe ich das nicht. Wenn du Claude Code noch nicht eingerichtet hast, fang mit Claude Code installieren: Windows, Mac, Linux an. Wie Mods neben Plugins, Skills, Hooks und MCP-Servern einzuordnen sind, steht in meiner Übersicht über Claude Code Erweiterungen. Wie ich meine KI-Mitarbeiter mit Claude Code aufbaue und absichere, zeige ich in meiner deutschsprachigen Community Claude Practitioners.