Vertiefung zu Modul 2 · Ebenen, Wirksamkeit, Bestand
Modul 2 zeigt, wo die Dateien liegen. Hier geht es darum, welche gewinnt, wann eine Änderung greift, und warum manchmal nichts passiert.
Und wer wen überstimmt
Bei gleichem Schlüssel gewinnt die höhere Ebene. Managed Settings gewinnen gegen alles — auch gegen Kommandozeilenargumente.
| Rang | Ebene | Ort | Geteilt |
|---|---|---|---|
| 1 | Managed | Systemebene, Registry, Server-Richtlinie | ja, von der IT |
| 2 | Kommandozeile | Argumente beim Start | nein |
| 3 | Local | .claude/settings.local.json | nein |
| 4 | Project | .claude/settings.json | ja, eingecheckt |
| 5 | User | ~/.claude/settings.json | nein |
settings.local.json.Nicht alles folgt derselben Aufteilung. Vor allem MCP (Model Context Protocol) und CLAUDE.md tanzen aus der Reihe.
| Feature | User | Project | Local |
|---|---|---|---|
| Settings | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json |
| Subagenten | ~/.claude/agents/ | .claude/agents/ | — |
| MCP-Server | ~/.claude.json | .mcp.json | ~/.claude.json pro Projekt |
| Plugins | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json |
| CLAUDE.md | ~/.claude/CLAUDE.md | CLAUDE.md | CLAUDE.local.md |
~/.claude/agents/ ab. Und die MCP-Zeile ist der Grund, warum ~/.claude.json nicht dieselbe Datei ist wie ~/.claude/settings.json.Permission-Regeln folgen der Reihenfolge nicht. Sie werden über alle Ebenen hinweg zusammengeführt, statt einander zu überschreiben.
--allowedTools aufheben. Umgekehrt darf --disallowedTools weiter einschränken.Sofort, nach Neustart — oder gar nicht
Claude Code beobachtet die Settings-Dateien und lädt sie neu, wenn sie sich ändern. Die meisten Schlüssel wirken also ohne Neustart.
permissions, hooks, Zugangsdaten-Helfer. Über alle vier Ebenen hinweg.ConfigChange-Hook feuert für jede erkannte Änderung — damit lässt sich darauf reagieren.model — mitten in der Sitzung geht /model.outputStyle — er ist Teil des System-Prompts, der bei /clear oder Neustart neu gebaut wird./model beziehungsweise ein Neustart schneller als Rätselraten.Der Unterschied zwischen Firmenrichtlinie und eigener Datei ist groß — und erklärt „meine Settings gehen plötzlich nicht mehr".
/status warntEinige Schlüssel werden aus Projekt- und Local-Dateien bewusst ignoriert — damit ein geklontes Repository sich nicht selbst Rechte schreiben kann.
autoMode — nur User, --settings und Managed. Ein Build-Schritt könnte sonst eigene Freigaben einschleusen.defaultMode: "auto" — im Projekt ignoriert: ein Repository kann sich Auto-Mode nicht selbst gewähren.skipDangerousModePermissionPrompt — im Projekt ignoriert, damit kein fremdes Repository die Warnung wegklickt.pluginConfigs — nur User und Managed, weil die Werte in Hook- und MCP-Konfigurationen eingesetzt werden.allow-Regeln aus dem Projekt erst nach dem Workspace-Trust-Dialog — deny und ask sofort.Nach Zweck statt alphabetisch
Die Gruppen, die im Alltag am häufigsten angefasst werden.
model, fallbackModel, availableModels, effortLevel, alwaysThinkingEnabled, fastModeautoCompactEnabled, autoMemoryEnabled, claudeMdExcludes, includeGitInstructions, outputStyleskillOverrides, skillListingBudgetFraction, disableBundledSkills, disableSkillShellExecutionDer Rest, gruppiert — zum Fotografieren, nicht zum Vorlesen.
enableAllProjectMcpServers, enabledMcpjsonServers, disabledMcpjsonServers, disableClaudeAiConnectorshooks, disableAllHooks, allowedHttpHookUrls, statusLineenabledPlugins, pluginConfigs, extraKnownMarketplacescleanupPeriodDays, autoUpdatesChannel, minimumVersiontheme, editorMode, language, verbose, axScreenReaderdisableAllHooks schaltet auch die eigene Statuszeile ab — die läuft technisch als Hook. Und cleanupPeriodDays steuert nicht nur alte Sitzungen, sondern auch das Aufräumen verwaister Arbeitskopien.Manches gibt es nur als Variable, und in einem Fall gewinnt die Variable gegen den Settings-Schlüssel.
| Setting | Variable | Verhältnis |
|---|---|---|
includeGitInstructions | CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS | Variable hat Vorrang |
autoCompactEnabled | DISABLE_AUTO_COMPACT | Variable schaltet ab |
autoMemoryEnabled | CLAUDE_CODE_DISABLE_AUTO_MEMORY | Variable schaltet ab |
effortLevel | CLAUDE_CODE_EFFORT_LEVEL, --effort | überschreiben für eine Sitzung |
| — | CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS und Verwandte | nur als Variable |
env-Block der Settings — mit einer Einschränkung: NO_COLOR und FORCE_COLOR erreichen von dort nur Unterprozesse. Für die eigene Oberfläche müssen sie vor dem Start in der Shell stehen.Was wirklich gilt
Bei Konfiguration ist Raten teuer. Für jede Frage gibt es einen Befehl, der sie beantwortet.
/doctor — ungültige Einträge mit Quelldatei und Feld, Namenskollisionen bei Subagenten, Schätzung der Skill-Listengröße./status — warnt, wenn eine Settings-Datei nicht lesbar ist und deshalb der Aufräumlauf pausiert./permissions — alle Regeln und die Datei, aus der jede kommt.claude auto-mode config — die wirksame Klassifizierer-Konfiguration, nicht-interaktiv./permissions ist der wichtigste davon: Es zeigt nicht nur, welche Regel gilt, sondern woher sie kommt. Damit ist die Frage „wer hat das gesetzt?" in zwei Sekunden beantwortet statt in zehn Minuten Dateisuche.Was von diesem Deck hängenbleiben soll.
settings.local.json, nicht in die User-Settings.model und outputStyle brauchen einen Neustart./permissions sagt euch, woher jede Regel kommt.~/.claude.json und .mcp.json statt der Settings-Dateien.
autoMemoryEnabled — und dann wirkt auch das memory-Feld eines Subagenten nicht mehr.
Alle Rechte vorbehalten
Diese Schulungsunterlagen sind urheberrechtlich geschützt. Vervielfältigung, Weitergabe oder kommerzielle Nutzung — auch in Auszügen — nur mit ausdrücklicher schriftlicher Genehmigung der CGS IT Solutions GmbH.
cgsit-claude-training · Erweiterung 4 · Konfiguration · v0.10.1